Clone
20
v2_CN_SampleFFMPEG
winlin edited this page 2022-01-06 11:57:15 +08:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 --with-ffmpeg && 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          libfdk_aac;
            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