FFMPEG 转码部署实例

2023-04-19 11:00:41 浏览数 (1)

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

假设服务器的IP是:192.168.1.170

第一步,获取SRS​

详细参考GIT获取代码

代码语言:javascript复制
git clone https://github.com/ossrs/srs
cd srs/trunk

复制

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

代码语言:javascript复制
git pull

复制

第二步,编译SRS​

详细参考Build

代码语言:javascript复制
./configure --ffmpeg-tool=on &&make

复制

第三步,编写SRS配置文件​

详细参考FFMPEG

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

代码语言:javascript复制
# 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          libfdk_aac;
            abitrate        70;
            asample_rate    44100;
            achannels       2;
            aparams {
}
            output          rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
}
}
}

复制

第四步,启动SRS​

详细参考FFMPEG

代码语言:javascript复制
./objs/srs -c conf/ffmpeg.conf

复制

第五步,启动推流编码器​

详细参考FFMPEG

使用FFMPEG命令推流:

代码语言:javascript复制
for((;;));do
        ./objs/ffmpeg/bin/ffmpeg -re -i ./doc/source.flv 
        -c copy 
        -f flv rtmp://192.168.1.170/live/livestream;
sleep1;
done

复制

或使用FMLE推流:

代码语言:javascript复制
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观看。

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

Winlin 2014.3

0 人点赞