|
|
|
@ -558,6 +558,102 @@ vhost same.vhost.forward.srs.com {
|
|
|
|
|
forward 127.0.0.1:1936 127.0.0.1:1937;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# the main comments for transcode
|
|
|
|
|
vhost example.transcode.srs.com {
|
|
|
|
|
# the streaming transcode configs.
|
|
|
|
|
transcode {
|
|
|
|
|
# whether the transcode enabled.
|
|
|
|
|
# if off, donot transcode.
|
|
|
|
|
# default: off.
|
|
|
|
|
enabled on;
|
|
|
|
|
# the ffmpeg
|
|
|
|
|
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
|
|
|
|
|
# the transcode engine for matched stream.
|
|
|
|
|
# all matched stream will transcoded to the following stream.
|
|
|
|
|
# the transcode set name(ie. hd) is optional and not used.
|
|
|
|
|
engine example {
|
|
|
|
|
# whether the engine is enabled
|
|
|
|
|
# default: off.
|
|
|
|
|
enabled on;
|
|
|
|
|
# input format, can be:
|
|
|
|
|
# off, do not specifies the format, ffmpeg will guess it.
|
|
|
|
|
# flv, for flv or RTMP stream.
|
|
|
|
|
# other format, for example, mp4/aac whatever.
|
|
|
|
|
# default: flv
|
|
|
|
|
iformat flv;
|
|
|
|
|
# ffmpeg filters, follows the main input.
|
|
|
|
|
vfilter {
|
|
|
|
|
# the logo input file.
|
|
|
|
|
i ./doc/ffmpeg-logo.png;
|
|
|
|
|
# the ffmpeg complex filter.
|
|
|
|
|
# for filters, @see: http://ffmpeg.org/ffmpeg-filters.html
|
|
|
|
|
filter_complex 'overlay=10:10';
|
|
|
|
|
}
|
|
|
|
|
# video encoder name. can be:
|
|
|
|
|
# libx264: use h.264(libx264) video encoder.
|
|
|
|
|
# copy: donot encoder the video stream, copy it.
|
|
|
|
|
# vn: disable video output.
|
|
|
|
|
vcodec libx264;
|
|
|
|
|
# video bitrate, in kbps
|
|
|
|
|
vbitrate 1500;
|
|
|
|
|
# video framerate.
|
|
|
|
|
vfps 25;
|
|
|
|
|
# video width, must be even numbers.
|
|
|
|
|
vwidth 768;
|
|
|
|
|
# video height, must be even numbers.
|
|
|
|
|
vheight 320;
|
|
|
|
|
# the max threads for ffmpeg to used.
|
|
|
|
|
vthreads 12;
|
|
|
|
|
# x264 profile, @see x264 -help, can be:
|
|
|
|
|
# high,main,baseline
|
|
|
|
|
vprofile main;
|
|
|
|
|
# x264 preset, @see x264 -help, can be:
|
|
|
|
|
# ultrafast,superfast,veryfast,faster,fast
|
|
|
|
|
# medium,slow,slower,veryslow,placebo
|
|
|
|
|
vpreset medium;
|
|
|
|
|
# other x264 or ffmpeg video params
|
|
|
|
|
vparams {
|
|
|
|
|
# ffmpeg options, @see: http://ffmpeg.org/ffmpeg.html
|
|
|
|
|
t 100;
|
|
|
|
|
# 264 params, @see: http://ffmpeg.org/ffmpeg-codecs.html#libx264
|
|
|
|
|
coder 1;
|
|
|
|
|
b_strategy 2;
|
|
|
|
|
bf 3;
|
|
|
|
|
refs 10;
|
|
|
|
|
}
|
|
|
|
|
# audio encoder name. can be:
|
|
|
|
|
# libaacplus: use aac(libaacplus) audio encoder.
|
|
|
|
|
# copy: donot encoder the audio stream, copy it.
|
|
|
|
|
# an: disable audio output.
|
|
|
|
|
acodec libaacplus;
|
|
|
|
|
# audio bitrate, in kbps. [16, 72] for libaacplus.
|
|
|
|
|
abitrate 70;
|
|
|
|
|
# audio sample rate. for flv/rtmp, it must be:
|
|
|
|
|
# 44100,22050,11025,5512
|
|
|
|
|
asample_rate 44100;
|
|
|
|
|
# audio channel, 1 for mono, 2 for stereo.
|
|
|
|
|
achannels 2;
|
|
|
|
|
# other ffmpeg audio params
|
|
|
|
|
aparams {
|
|
|
|
|
# audio params, @see: http://ffmpeg.org/ffmpeg-codecs.html#Audio-Encoders
|
|
|
|
|
profile:a aac_low;
|
|
|
|
|
}
|
|
|
|
|
# output format, can be:
|
|
|
|
|
# off, do not specifies the format, ffmpeg will guess it.
|
|
|
|
|
# flv, for flv or RTMP stream.
|
|
|
|
|
# other format, for example, mp4/aac whatever.
|
|
|
|
|
# default: flv
|
|
|
|
|
oformat flv;
|
|
|
|
|
# output stream. variables:
|
|
|
|
|
# [vhost] the input stream vhost.
|
|
|
|
|
# [port] the intput stream port.
|
|
|
|
|
# [app] the input stream app.
|
|
|
|
|
# [stream] the input stream name.
|
|
|
|
|
# [engine] the tanscode engine name.
|
|
|
|
|
output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
# the mirror filter of ffmpeg, @see: http://ffmpeg.org/ffmpeg-filters.html#Filtering-Introduction
|
|
|
|
|
vhost mirror.transcode.srs.com {
|
|
|
|
|
transcode {
|
|
|
|
@ -588,10 +684,8 @@ vhost mirror.transcode.srs.com {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#
|
|
|
|
|
# the drawtext filter of ffmpeg, @see: http://ffmpeg.org/ffmpeg-filters.html#drawtext-1
|
|
|
|
|
# remark: we remove the libfreetype which always cause build failed, you must add it manual if needed.
|
|
|
|
|
#
|
|
|
|
|
#######################################################################################################
|
|
|
|
|
# the crop filter of ffmpeg, @see: http://ffmpeg.org/ffmpeg-filters.html#crop
|
|
|
|
|
vhost crop.transcode.srs.com {
|
|
|
|
@ -708,97 +802,41 @@ vhost copy.transcode.srs.com {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
# transcode all app and stream of vhost
|
|
|
|
|
# the comments, read example.transcode.srs.com
|
|
|
|
|
vhost all.transcode.srs.com {
|
|
|
|
|
# the streaming transcode configs.
|
|
|
|
|
transcode {
|
|
|
|
|
# whether the transcode enabled.
|
|
|
|
|
# if off, donot transcode.
|
|
|
|
|
# default: off.
|
|
|
|
|
enabled on;
|
|
|
|
|
# the ffmpeg
|
|
|
|
|
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
|
|
|
|
|
# the transcode engine for matched stream.
|
|
|
|
|
# all matched stream will transcoded to the following stream.
|
|
|
|
|
# the transcode set name(ie. hd) is optional and not used.
|
|
|
|
|
engine ffsuper {
|
|
|
|
|
# whether the engine is enabled
|
|
|
|
|
# default: off.
|
|
|
|
|
enabled on;
|
|
|
|
|
# input format, can be:
|
|
|
|
|
# off, do not specifies the format, ffmpeg will guess it.
|
|
|
|
|
# flv, for flv or RTMP stream.
|
|
|
|
|
# other format, for example, mp4/aac whatever.
|
|
|
|
|
# default: flv
|
|
|
|
|
iformat flv;
|
|
|
|
|
# ffmpeg filters, follows the main input.
|
|
|
|
|
vfilter {
|
|
|
|
|
# the logo input file.
|
|
|
|
|
i ./doc/ffmpeg-logo.png;
|
|
|
|
|
# the ffmpeg complex filter.
|
|
|
|
|
# for filters, @see: http://ffmpeg.org/ffmpeg-filters.html
|
|
|
|
|
filter_complex 'overlay=10:10';
|
|
|
|
|
}
|
|
|
|
|
# video encoder name. can be:
|
|
|
|
|
# libx264: use h.264(libx264) video encoder.
|
|
|
|
|
# copy: donot encoder the video stream, copy it.
|
|
|
|
|
# vn: disable video output.
|
|
|
|
|
vcodec libx264;
|
|
|
|
|
# video bitrate, in kbps
|
|
|
|
|
vbitrate 1500;
|
|
|
|
|
# video framerate.
|
|
|
|
|
vfps 25;
|
|
|
|
|
# video width, must be even numbers.
|
|
|
|
|
vwidth 768;
|
|
|
|
|
# video height, must be even numbers.
|
|
|
|
|
vheight 320;
|
|
|
|
|
# the max threads for ffmpeg to used.
|
|
|
|
|
vthreads 12;
|
|
|
|
|
# x264 profile, @see x264 -help, can be:
|
|
|
|
|
# high,main,baseline
|
|
|
|
|
vprofile main;
|
|
|
|
|
# x264 preset, @see x264 -help, can be:
|
|
|
|
|
# ultrafast,superfast,veryfast,faster,fast
|
|
|
|
|
# medium,slow,slower,veryslow,placebo
|
|
|
|
|
vpreset medium;
|
|
|
|
|
# other x264 or ffmpeg video params
|
|
|
|
|
vparams {
|
|
|
|
|
# ffmpeg options, @see: http://ffmpeg.org/ffmpeg.html
|
|
|
|
|
t 100;
|
|
|
|
|
# 264 params, @see: http://ffmpeg.org/ffmpeg-codecs.html#libx264
|
|
|
|
|
coder 1;
|
|
|
|
|
b_strategy 2;
|
|
|
|
|
bf 3;
|
|
|
|
|
refs 10;
|
|
|
|
|
}
|
|
|
|
|
# audio encoder name. can be:
|
|
|
|
|
# libaacplus: use aac(libaacplus) audio encoder.
|
|
|
|
|
# copy: donot encoder the audio stream, copy it.
|
|
|
|
|
# an: disable audio output.
|
|
|
|
|
acodec libaacplus;
|
|
|
|
|
# audio bitrate, in kbps. [16, 72] for libaacplus.
|
|
|
|
|
abitrate 70;
|
|
|
|
|
# audio sample rate. for flv/rtmp, it must be:
|
|
|
|
|
# 44100,22050,11025,5512
|
|
|
|
|
asample_rate 44100;
|
|
|
|
|
# audio channel, 1 for mono, 2 for stereo.
|
|
|
|
|
achannels 2;
|
|
|
|
|
# other ffmpeg audio params
|
|
|
|
|
aparams {
|
|
|
|
|
# audio params, @see: http://ffmpeg.org/ffmpeg-codecs.html#Audio-Encoders
|
|
|
|
|
profile:a aac_low;
|
|
|
|
|
}
|
|
|
|
|
# output format, can be:
|
|
|
|
|
# off, do not specifies the format, ffmpeg will guess it.
|
|
|
|
|
# flv, for flv or RTMP stream.
|
|
|
|
|
# other format, for example, mp4/aac whatever.
|
|
|
|
|
# default: flv
|
|
|
|
|
oformat flv;
|
|
|
|
|
# output stream. variables:
|
|
|
|
|
# [vhost] the input stream vhost.
|
|
|
|
|
# [port] the intput stream port.
|
|
|
|
|
# [app] the input stream app.
|
|
|
|
|
# [stream] the input stream name.
|
|
|
|
|
# [engine] the tanscode engine name.
|
|
|
|
|
output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
|
|
|
|
|
}
|
|
|
|
|
engine ffhd {
|
|
|
|
|