编译时开启ffmpeg功能:
[root@localhost trunk]# ./configure --disable-all --with-ssl --with-hls --with-nginx --with-ffmpeg --with-transcode --with-dvr --with-ingest && make
转码可以添加很多功能,比如添加水印(文字、图片、logo),但是需要注意的是如果是高分辨率转码,可能占用的cpu较高,如400%甚至1000%
而srs1.0与srs2.0之间的区别,我发现的仅有fdk-aac代替aacplus。
srs1.0:
transcode {
enabled on;
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
engine ff {
enabled on;
vfilter {
i ./doc/qyt-logo.png;
filter_complex 'overlay=10:10';
}
vcodec libx264;
vbitrate 512;
vfps 15;
vwidth 1280;
vheight 720;
vthreads 16;
vprofile main;
vpreset medium;
vparams {
#t 100;
#coder 1;
#b_strategy 2;
#bf 3;
#refs 10;
}
acodec libaacplus;
abitrate 70;
asample_rate 44100;
achannels 2;
aparams {
#profile:a aac_low;
}
#output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
output rtmp://127.0.0.1/live/[stream];
}
}
srs2.0:
transcode {
enabled on;
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
engine ff {
enabled off;
iformat flv;
vfilter {
i ./doc/ffmpeg-logo.png;
filter_complex 'overlay=10:10';
}
vcodec libx264;
vbitrate 1500;
vfps 25;
vwidth 768;
vheight 320;
vthreads 12;
vprofile main;
vpreset medium;
vparams {
t 100;
coder 1;
b_strategy 2;
bf 3;
refs 10;
}
acodec libfdk_aac;
abitrate 70;
asample_rate 44100;
achannels 2;
aparams {
profile:a aac_low;
bsf:a aac_adtstoasc;
}
oformat flv;
output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream];
}
}