`

ffmpeg与RTMP流媒体连接用法(翻译)

 
阅读更多

1、将文件当做直播送至live
ffmpeg -re -i localFile.mp4 -c copy -f flv rtmp://server/live/streamName

2、将直播媒体保存至本地文件
ffmpeg -i rtmp://server/live/streamName -c copy dump.flv

3、将其中一个直播流,视频改用h264压缩,音频不变,送至另外一个直播服务流
ffmpeg -i rtmp://server/live/originalStream -c:a copy -c:v libx264 -vpre slow -f flv rtmp://server/live/h264Stream

4、将其中一个直播流,视频改用h264压缩,音频改用faac压缩,送至另外一个直播服务流
ffmpeg -i rtmp://server/live/originalStream -c:a libfaac -ar 44100 -ab 48k -c:v libx264 -vpre slow -vpre baseline -f flv rtmp://server/live/h264Stream

5、将其中一个直播流,视频不变,音频改用faac压缩,送至另外一个直播服务流
ffmpeg -i rtmp://server/live/originalStream -acodec libfaac -ar 44100 -ab 48k -vcodec copy -f flv rtmp://server/live/h264_AAC_Stream

6、将一个高清流,复制为几个不同视频清晰度的流重新发布,其中音频不变
ffmpeg -re -i rtmp://server/live/high_FMLE_stream -acodec copy -vcodec x264lib -s 640×360 -b 500k -vpre medium -vpre baseline rtmp://server/live/baseline_500k -acodec copy -vcodec x264lib -s 480×272 -b 300k -vpre medium -vpre baseline rtmp://server/live/baseline_300k -acodec copy -vcodec x264lib -s 320×200 -b 150k -vpre medium -vpre baseline rtmp://server/live/baseline_150k -acodec libfaac -vn -ab 48k rtmp://server/live/audio_only_AAC_48k

7、功能一样,只是采用-x264opts选项
ffmpeg -re -i rtmp://server/live/high_FMLE_stream -c:a copy -c:v x264lib -s 640×360 -x264opts bitrate=500:profile=baseline:preset=slow rtmp://server/live/baseline_500k -c:a copy -c:v x264lib -s 480×272 -x264opts bitrate=300:profile=baseline:preset=slow rtmp://server/live/baseline_300k -c:a copy -c:v x264lib -s 320×200 -x264opts bitrate=150:profile=baseline:preset=slow rtmp://server/live/baseline_150k -c:a libfaac -vn -b:a 48k rtmp://server/live/audio_only_AAC_48k

8、将当前摄像头及音频通过DSSHOW采集,视频h264、音频faac压缩后发布
ffmpeg -r 25 -f dshow -s 640×480 -i video=”video source name”:audio=”audio source name” -vcodec libx264 -b 600k -vpre slow -acodec libfaac -ab 128k rtmp://server/application/stream_name

9、将一个JPG图片经过h264压缩循环输出为mp4视频
ffmpeg.exe -i INPUT.jpg -an -vcodec libx264 -coder 1 -flags +loop -cmp +chroma -subq 10 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -flags2 +dct8x8 -trellis 2 -partitions +parti8x8+parti4x4 -crf 24 -threads 0 -r 25 -g 25 -y OUTPUT.mp4

10、将普通流视频改用h264压缩,音频不变,送至高清流服务(新版本FMS live=1)
ffmpeg -i rtmp://server/live/originalStream -c:a copy -c:v libx264 -vpre slow -f flv “rtmp://server/live/h264Stream live=1″

分享到:
评论

相关推荐

    C#FFmpeg拉取RTMP流

    FFmpeg是一款强大的多媒体处理工具,它支持各种视频、音频格式的编码、解码、转换以及流媒体处理。在C#中使用FFmpeg,可以让你的程序具备处理多媒体流的能力,例如从RTMP(Real-Time Messaging Protocol)服务器拉取...

    支持对H265的rtmp推流,复用,解码,播放的FFMPEG

    FFmpeg也支持FLV(Flash Video)复用,FLV是一种常用的流媒体容器格式,常用于存储和传输RTMP流。当H265编码的视频流需要封装成FLV时,FFmpeg可以完成这一过程。例如,将H265编码的MP4文件转换为FLV: ```bash ...

    android-ffmpeg-with-rtmp-master

    【Android FFmpeg with RTMP Master】是一个开源项目,专注于在Android平台上使用FFmpeg库实现实时流媒体到RTMP服务器。这个项目对于开发者来说是一个宝贵的资源,它展示了如何在Android应用中集成FFmpeg来处理音...

    基于ffmpeg的rtmp推送类

    FFmpeg是一个开源的多媒体处理框架,它包含了各种音视频编解码库,如libavcodec、libavformat、libavfilter等,广泛应用于音视频的编码、解码、转换、流媒体传输等领域。在本项目中,我们关注的是基于FFmpeg实现的...

    C#+FFmpeg实现RTSP流媒体播放器

    在本文中,我们将深入探讨如何使用C#编程语言结合FFmpeg库来实现一个RTSP(Real Time Streaming Protocol)流媒体播放器。RTSP是一种用于控制实时流传输的应用层协议,常用于在线视频直播和监控系统。C#是Microsoft...

    以RTMP为例使用FFmpeg进行流媒体推送器.zip

    总结起来,"以RTMP为例使用FFmpeg进行流媒体推送器"教程旨在教会开发者如何利用FFmpeg进行流媒体推送,涵盖了从命令行推流到C++ API的使用,以及跨平台的编译方法。这对于想要实现音视频直播功能的开发者来说是一份...

    opencv拉流yolov5-deepsort-rtmp ffmpeg推流 人车流统计计数

    总结来说,通过结合OpenCV的视频处理能力、Yolov5的高效目标检测、DeepSort的精确追踪以及FFmpeg的流媒体推送,我们可以构建一个实时的人车流统计系统。这样的系统对于交通管理、商业分析等领域具有很高的实用价值,...

    FFCH4J-dev_fatherqdr_ffmpeg_rtmp_

    开发人员可能使用Java的多线程和并发特性来处理多个RTMP流,同时利用FFmpeg的Java API或通过JNI(Java Native Interface)调用FFmpeg的C/C++接口来实现底层的音视频处理。 在这个项目中,开发者可能面临以下挑战: ...

    ffmpeg+tomcat+html 实现web端流媒体播放

    在构建一个基于Web的流媒体播放系统时,`ffmpeg`、`Tomcat`和HTML是三个关键组件。本文将深入探讨这些技术如何协同工作...此外,对于不同的流媒体协议(如RTMP、HLS、DASH等),`ffmpeg`的使用方法和配置也会有所不同。

    使用JavaCV开发的rtsp流转rtmp流并进行推流的流媒体服务

    在这个特定的项目中,“使用JavaCV开发的rtsp流转rtmp流并进行推流的流媒体服务”旨在实现从RTSP协议的视频流转换到RTMP协议的流,以便将视频数据推送到支持RTMP的流媒体服务器,如YouTube Live、Nginx RTMP模块或...

    Android RTMP推流实现

    它通过TCP连接建立会话,并使用一系列控制消息和数据块来维持和管理流媒体的发送。在Android上,我们通常使用开源库如librtmp或ijkplayer来实现RTMP推流。 在Android应用中,实现RTMP推流的关键步骤如下: 1. **...

    android RTMP 视频流播放器

    接着,通过VideoView的setVideoPath方法设置RTMP流的URL,启动播放。在播放过程中,还可以利用Vitamio提供的事件监听器来处理播放状态变化、缓冲进度等事件。 值得注意的是,由于RTMP协议依赖于Adobe Flash技术,...

    Android端FFmpeg实现音视频播放、裁剪、转码等 FFmpeg本地推拉流、拉流转推流等,H264编码与RTMP播放推流

    推流通常使用`ffmpeg`的`-f flv`和`-rtmp`选项,而拉流则可能涉及`-i`参数指向RTMP源。对于本地推拉流,需要处理好网络连接和流的同步问题。 5. **H264编码与RTMP推流**:H264是一种高效的视频编码标准,广泛用于...

    ffmpeg保存视频流

    此外,ffmpeg还支持流媒体协议,包括但不限于HTTP、RTMP、RTSP等,这使得通过网络传输音视频成为可能。 #### 使用ffmpeg捕获RTSP流的关键步骤 1. **环境搭建** - 确保安装了ffmpeg。 - 可以通过官网下载对应版本...

    python脚本在线播放实时rtmp视频流

    3. **获取数据并解码**:通过循环读取RTMP流的数据,然后使用`pymedia`的解码器进行解码。解码后的数据可以是音频帧或视频帧。 ```python packet = client.readPacket() if packet: decoder = Decoder(packet....

    基于FFmpeg的推流器(以推送RTMP为)simplest-ffmpeg-streamer.zip

    RTMP(Real-Time Messaging Protocol)是一种广泛用于在线流媒体传输的协议,特别适用于实时视频直播。它允许客户端将音视频数据实时发送到服务器,然后由服务器分发给多个观众。 在"simplest-ffmpeg-streamer.zip...

    Linux环境傻瓜式nginx+rtmp+ffmpeg套餐安装详解(获取拉流人数)

    本文旨在提供一套完整的Linux环境下Nginx、RTMP和FFmpeg的安装及配置指南,帮助读者快速搭建功能强大的流媒体服务器。文章不仅涵盖了基本概念介绍,还深入解析了各组件的具体安装步骤和配置方法。此外,还将介绍如何...

    android直播Rtmp推流和取流

    1. **RTMP播放器**:在PC端,可以使用VLC、FFmpeg等工具或网页播放器如JWPlayer来接收并播放RTMP流。 2. **URL输入**:在播放器中输入Android推流的RTMP URL,点击播放即可开始接收和显示。 五、Android端显示 1....

    Window环境下 海康视频RTMP推流方法

    RTMP(Real-Time Messaging Protocol)则是由Adobe Systems开发的一种协议,主要用于音视频数据的实时传输,常用于将视频流推送到流媒体服务器,如YouTube Live、Facebook Live等。RTMP服务器接收RTMP推流,然后分发...

    最简单的基于FFmpeg的推流器(以推送RTMP为例)

    FFmpeg是一款强大的开源工具,广泛应用于音视频处理、编码、解码、转换和流媒体传输。在本教程中,我们将探讨如何使用FFmpeg将本地视频流推送到RTMP服务器,这是许多在线直播平台所采用的标准协议。让我们深入理解...

Global site tag (gtag.js) - Google Analytics