Skip to content

v1_CN_SampleFFMPEG

winlin edited this page Jan 6, 2022 · 22 revisions

HOME > CN > Transcode

FFMPEG转码部署实例

FFMPEG对RTMP直播流转码,SRS在收到编码器推送的直播流后,可以对直播流进行转码,输出RTMP流到服务器(也可以到SRS自己)。 详细规则参考:FFMPEG,本文列出了具体的部署的实例。

假设服务器的IP是:192.168.1.170

第一步,获取SRS。详细参考GIT获取代码

git clone https://github.com/ossrs/srs cd srs/trunk

或者使用git更新已有代码:

git pull

第二步,编译SRS。详细参考Build

./configure --disable-all --with-ssl --with-ffmpeg --with-transcode && make

第三步,编写SRS配置文件。详细参考FFMPEG

将以下内容保存为文件,譬如conf/ffmpeg.transcode.conf,服务器启动时指定该配置文件(srs的conf文件夹有该文件)。

# conf/ffmpeg.transcode.conf listen 1935; max_connections 1000; vhost __defaultVhost__ { transcode { enabled on; ffmpeg ./objs/ffmpeg/bin/ffmpeg; engine ff { enabled on; vfilter { } vcodec libx264; vbitrate 500; vfps 25; vwidth 768; vheight 320; vthreads 12; vprofile main; vpreset medium; vparams { } acodec libaacplus; abitrate 70; asample_rate 44100; achannels 2; aparams { } output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]; } } }

第四步,启动SRS。详细参考FFMPEG

./objs/srs -c conf/ffmpeg.conf

第五步,启动推流编码器。详细参考FFMPEG

使用FFMPEG命令推流:

 for((;;)); do \ ./objs/ffmpeg/bin/ffmpeg -re -i ./doc/source.200kbps.768x320.flv \ -vcodec copy -acodec copy \ -f flv -y rtmp://192.168.1.170/live/livestream; \ sleep 1; \ done

或使用FMLE推流:

FMS URL: rtmp://192.168.1.170/live Stream: livestream

涉及的流包括:

  • 编码器推送流:rtmp://192.168.1.170:1935/live/livestream
  • 观看原始流:rtmp://192.168.1.170:1935/live/livestream
  • 观看转码流:rtmp://192.168.1.170:1935/live/livestream_ff

第六步,观看RTMP流。详细参考FFMPEG

RTMP流地址为:rtmp://192.168.1.170/live/livestream

可以使用VLC观看。

或者使用在线SRS播放器播放:srs-player

备注:请将所有实例的IP地址192.168.1.170都换成部署的服务器IP地址。

第七步,观看FFMPEG转码的RTMP流。详细参考FFMPEG

RTMP流地址为:rtmp://192.168.1.170/live/livestream_ff

可以使用VLC观看。

或者使用在线SRS播放器播放:srs-player-ff

备注:请将所有实例的IP地址192.168.1.170都换成部署的服务器IP地址。

Winlin 2014.3

Welcome to SRS wiki!

SRS 5.0 wiki

Please select your language:

SRS 4.0 wiki

Please select your language:

SRS 3.0 wiki

Please select your language:

SRS 2.0 wiki

Please select your language:

SRS 1.0 wiki

Please select your language:

Clone this wiki locally