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 --ffmpeg-tool=on && 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.flv \
-c copy \
-f flv 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.
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.
Note: Please replace all ip 192.168.1.170 to your server ip.
Winlin 2014.11