Skip to content

v1_EN_SampleFFMPEG

winlin edited this page Nov 17, 2014 · 34 revisions

Transcode deploy example

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

假设服务器的IP是:192.168.1.170

Step 1, get SRS. For detail, read GIT

git clone https://github.com/winlinvip/simple-rtmp-server
cd simple-rtmp-server/trunk

Or update the exists code:

git pull

Step 2, build SRS. For detail, read 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 url is: rtmp://192.168.1.170:1935/live/livestream

User can use vlc to play the RTMP stream.

Or, use online SRS player: http://winlinvip.github.io/srs.release/trunk/research/players/srs_player.html?vhost=defaultVhost&autostart=true&server=192.168.1.170&app=live&stream=livestream&port=1935

Note: Please replace all ip 192.168.1.170 to your server ip.

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

RTMP url is: rtmp://192.168.1.170:1935/live/livestream_ff

User can use vlc to play the RTMP stream.

Or, use online SRS player: http://winlinvip.github.io/srs.release/trunk/research/players/srs_player.html?vhost=defaultVhost&autostart=true&server=192.168.1.170&app=live&stream=livestream_ff&port=1935

Note: Please replace all ip 192.168.1.170 to your server 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