Skip to content

v2_EN_SampleFFMPEG

winlin edited this page Jan 6, 2022 · 22 revisions

HOME > EN > Transcode

Transcode deploy example

FFMPEG can used to transcode the live stream, output the other RTMP server. For detail, read FFMPEG.

Suppose the server ip is 192.168.1.170

Step 1, get SRS. For detail, read GIT

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

Or update the exists code:

git pull

Step 2, build SRS. For detail, read Build

./configure --with-ffmpeg && make

Step 3, config file. For detail, read FFMPEG

Save the bellow as config file, or use conf/ffmpeg.transcode.conf instead:

# 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];
        }
    }
}

Step 4, start SRS. For detail, read FFMPEG

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

Step 5, start encoder. For detail, read FFMPEG

Use FFMPEG to publish stream:

    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

Or use FMLE to publish:

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

The stream in SRS:

  • Stream publish by encoder: rtmp://192.168.1.170:1935/live/livestream
  • Play the original stream: rtmp://192.168.1.170:1935/live/livestream
  • Play the transcoded stream: rtmp://192.168.1.170:1935/live/livestream_ff

Step 6, play the stream. For detail, read 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: srs-player

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

Step 7, play the transcoded stream. For detail, read 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: srs-player-ff

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

Winlin 2014.11

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