|
|
|
@ -21,194 +21,6 @@ vhost __defaultVhost__ {
|
|
|
|
|
enabled on;
|
|
|
|
|
gop_cache on;
|
|
|
|
|
}
|
|
|
|
|
# vhost list, the __defaultVhost__ is the default vhost
|
|
|
|
|
# for example, user use ip to access the stream: rtmp://192.168.1.2/live/livestream.
|
|
|
|
|
# for which cannot identify the required vhost.
|
|
|
|
|
# for default demo.
|
|
|
|
|
vhost demo.srs.com {
|
|
|
|
|
chunk_size 60000;
|
|
|
|
|
enabled on;
|
|
|
|
|
gop_cache on;
|
|
|
|
|
queue_length 30;
|
|
|
|
|
forward 127.0.0.1:19350;
|
|
|
|
|
bandcheck {
|
|
|
|
|
enabled off;
|
|
|
|
|
}
|
|
|
|
|
hls {
|
|
|
|
|
enabled on;
|
|
|
|
|
hls_path ./objs/nginx/html;
|
|
|
|
|
hls_fragment 5;
|
|
|
|
|
hls_window 30;
|
|
|
|
|
}
|
|
|
|
|
http_hooks {
|
|
|
|
|
enabled on;
|
|
|
|
|
on_connect http://127.0.0.1:8085/api/v1/clients;
|
|
|
|
|
on_close http://127.0.0.1:8085/api/v1/clients;
|
|
|
|
|
on_publish http://127.0.0.1:8085/api/v1/streams;
|
|
|
|
|
on_unpublish http://127.0.0.1:8085/api/v1/streams;
|
|
|
|
|
on_play http://127.0.0.1:8085/api/v1/sessions;
|
|
|
|
|
on_stop http://127.0.0.1:8085/api/v1/sessions;
|
|
|
|
|
}
|
|
|
|
|
transcode {
|
|
|
|
|
enabled on;
|
|
|
|
|
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
|
|
|
|
|
engine ld {
|
|
|
|
|
enabled on;
|
|
|
|
|
vfilter {
|
|
|
|
|
vf 'drawtext=text=SimpleRtmpServer(SRS):x=10:y=10:fontsize=30:fontcolor=#cccccc:fontfile=./doc/FreeSerifBold.ttf';
|
|
|
|
|
}
|
|
|
|
|
vcodec libx264;
|
|
|
|
|
vbitrate 300;
|
|
|
|
|
vfps 20;
|
|
|
|
|
vwidth 768;
|
|
|
|
|
vheight 320;
|
|
|
|
|
vthreads 1;
|
|
|
|
|
vprofile baseline;
|
|
|
|
|
vpreset superfast;
|
|
|
|
|
vparams {
|
|
|
|
|
}
|
|
|
|
|
acodec libaacplus;
|
|
|
|
|
abitrate 45;
|
|
|
|
|
asample_rate 44100;
|
|
|
|
|
achannels 2;
|
|
|
|
|
aparams {
|
|
|
|
|
}
|
|
|
|
|
output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
|
|
|
|
|
}
|
|
|
|
|
engine sd {
|
|
|
|
|
enabled on;
|
|
|
|
|
vfilter {
|
|
|
|
|
vf 'split [main][tmp]; [tmp] crop=iw:ih/2:0:0, vflip [flip]; [main][flip] overlay=0:H/2';
|
|
|
|
|
}
|
|
|
|
|
vcodec libx264;
|
|
|
|
|
vbitrate 500;
|
|
|
|
|
vfps 20;
|
|
|
|
|
vwidth 768;
|
|
|
|
|
vheight 320;
|
|
|
|
|
vthreads 1;
|
|
|
|
|
vprofile main;
|
|
|
|
|
vpreset fast;
|
|
|
|
|
vparams {
|
|
|
|
|
}
|
|
|
|
|
acodec libaacplus;
|
|
|
|
|
abitrate 40;
|
|
|
|
|
asample_rate 44100;
|
|
|
|
|
achannels 2;
|
|
|
|
|
aparams {
|
|
|
|
|
}
|
|
|
|
|
output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
# for the players site, to play or publish.
|
|
|
|
|
# the flash player publisher need to transcode to support hls,
|
|
|
|
|
# we add players_hls vhost to support it.
|
|
|
|
|
vhost players {
|
|
|
|
|
enabled on;
|
|
|
|
|
gop_cache on;
|
|
|
|
|
transcode {
|
|
|
|
|
enabled on;
|
|
|
|
|
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
|
|
|
|
|
engine hls {
|
|
|
|
|
enabled on;
|
|
|
|
|
vfilter {
|
|
|
|
|
vf 'drawtext=text=SRS(SimpleRtmpServer):x=10:y=10:fontcolor=#cccccc:fontfile=./doc/FreeSerifBold.ttf';
|
|
|
|
|
}
|
|
|
|
|
vcodec libx264;
|
|
|
|
|
vbitrate 300;
|
|
|
|
|
vfps 20;
|
|
|
|
|
vwidth 768;
|
|
|
|
|
vheight 320;
|
|
|
|
|
vthreads 1;
|
|
|
|
|
vprofile baseline;
|
|
|
|
|
vpreset superfast;
|
|
|
|
|
vparams {
|
|
|
|
|
}
|
|
|
|
|
acodec libaacplus;
|
|
|
|
|
abitrate 30;
|
|
|
|
|
asample_rate 44100;
|
|
|
|
|
achannels 2;
|
|
|
|
|
aparams {
|
|
|
|
|
}
|
|
|
|
|
output rtmp://127.0.0.1:[port]/[app]?vhost=players_pub/[stream];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
vhost players_pub {
|
|
|
|
|
hls {
|
|
|
|
|
enabled on;
|
|
|
|
|
hls_path ./objs/nginx/html;
|
|
|
|
|
hls_fragment 5;
|
|
|
|
|
hls_window 30;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
# rtmp only, no hls, for chat(low latecy)
|
|
|
|
|
vhost players_pub_rtmp {
|
|
|
|
|
gop_cache off;
|
|
|
|
|
hls {
|
|
|
|
|
enabled off;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# for development
|
|
|
|
|
vhost dev {
|
|
|
|
|
enabled on;
|
|
|
|
|
gop_cache on;
|
|
|
|
|
queue_length 10;
|
|
|
|
|
#forward 127.0.0.1:19350;
|
|
|
|
|
hls {
|
|
|
|
|
enabled off;
|
|
|
|
|
hls_path ./objs/nginx/html;
|
|
|
|
|
hls_fragment 5;
|
|
|
|
|
hls_window 30;
|
|
|
|
|
}
|
|
|
|
|
http_hooks {
|
|
|
|
|
enabled off;
|
|
|
|
|
on_connect http://127.0.0.1:8085/api/v1/clients;
|
|
|
|
|
on_close http://127.0.0.1:8085/api/v1/clients;
|
|
|
|
|
on_publish http://127.0.0.1:8085/api/v1/streams;
|
|
|
|
|
on_unpublish http://127.0.0.1:8085/api/v1/streams;
|
|
|
|
|
on_play http://127.0.0.1:8085/api/v1/sessions;
|
|
|
|
|
on_stop http://127.0.0.1:8085/api/v1/sessions;
|
|
|
|
|
}
|
|
|
|
|
transcode {
|
|
|
|
|
enabled off;
|
|
|
|
|
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
|
|
|
|
|
engine dev {
|
|
|
|
|
enabled on;
|
|
|
|
|
vfilter {
|
|
|
|
|
}
|
|
|
|
|
vcodec libx264;
|
|
|
|
|
vbitrate 300;
|
|
|
|
|
vfps 20;
|
|
|
|
|
vwidth 768;
|
|
|
|
|
vheight 320;
|
|
|
|
|
vthreads 1;
|
|
|
|
|
vprofile baseline;
|
|
|
|
|
vpreset superfast;
|
|
|
|
|
vparams {
|
|
|
|
|
}
|
|
|
|
|
acodec libaacplus;
|
|
|
|
|
abitrate 45;
|
|
|
|
|
asample_rate 44100;
|
|
|
|
|
achannels 2;
|
|
|
|
|
aparams {
|
|
|
|
|
}
|
|
|
|
|
output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
|
|
|
|
|
}
|
|
|
|
|
engine dev_acodec {
|
|
|
|
|
enabled on;
|
|
|
|
|
vcodec copy;
|
|
|
|
|
acodec libaacplus;
|
|
|
|
|
abitrate 45;
|
|
|
|
|
asample_rate 44100;
|
|
|
|
|
achannels 2;
|
|
|
|
|
aparams {
|
|
|
|
|
}
|
|
|
|
|
output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# vhost for bandwidth check
|
|
|
|
|
# generally, the bandcheck vhost must be: bandcheck.srs.com,
|
|
|
|
@ -834,5 +646,193 @@ pithy_print {
|
|
|
|
|
# if not specified, set to 2000.
|
|
|
|
|
hls 3000;
|
|
|
|
|
}
|
|
|
|
|
# vhost list, the __defaultVhost__ is the default vhost
|
|
|
|
|
# for example, user use ip to access the stream: rtmp://192.168.1.2/live/livestream.
|
|
|
|
|
# for which cannot identify the required vhost.
|
|
|
|
|
# for default demo.
|
|
|
|
|
vhost demo.srs.com {
|
|
|
|
|
chunk_size 60000;
|
|
|
|
|
enabled on;
|
|
|
|
|
gop_cache on;
|
|
|
|
|
queue_length 30;
|
|
|
|
|
forward 127.0.0.1:19350;
|
|
|
|
|
bandcheck {
|
|
|
|
|
enabled off;
|
|
|
|
|
}
|
|
|
|
|
hls {
|
|
|
|
|
enabled on;
|
|
|
|
|
hls_path ./objs/nginx/html;
|
|
|
|
|
hls_fragment 5;
|
|
|
|
|
hls_window 30;
|
|
|
|
|
}
|
|
|
|
|
http_hooks {
|
|
|
|
|
enabled on;
|
|
|
|
|
on_connect http://127.0.0.1:8085/api/v1/clients;
|
|
|
|
|
on_close http://127.0.0.1:8085/api/v1/clients;
|
|
|
|
|
on_publish http://127.0.0.1:8085/api/v1/streams;
|
|
|
|
|
on_unpublish http://127.0.0.1:8085/api/v1/streams;
|
|
|
|
|
on_play http://127.0.0.1:8085/api/v1/sessions;
|
|
|
|
|
on_stop http://127.0.0.1:8085/api/v1/sessions;
|
|
|
|
|
}
|
|
|
|
|
transcode {
|
|
|
|
|
enabled on;
|
|
|
|
|
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
|
|
|
|
|
engine ld {
|
|
|
|
|
enabled on;
|
|
|
|
|
vfilter {
|
|
|
|
|
vf 'drawtext=text=SimpleRtmpServer(SRS):x=10:y=10:fontsize=30:fontcolor=#cccccc:fontfile=./doc/FreeSerifBold.ttf';
|
|
|
|
|
}
|
|
|
|
|
vcodec libx264;
|
|
|
|
|
vbitrate 300;
|
|
|
|
|
vfps 20;
|
|
|
|
|
vwidth 768;
|
|
|
|
|
vheight 320;
|
|
|
|
|
vthreads 1;
|
|
|
|
|
vprofile baseline;
|
|
|
|
|
vpreset superfast;
|
|
|
|
|
vparams {
|
|
|
|
|
}
|
|
|
|
|
acodec libaacplus;
|
|
|
|
|
abitrate 45;
|
|
|
|
|
asample_rate 44100;
|
|
|
|
|
achannels 2;
|
|
|
|
|
aparams {
|
|
|
|
|
}
|
|
|
|
|
output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
|
|
|
|
|
}
|
|
|
|
|
engine sd {
|
|
|
|
|
enabled on;
|
|
|
|
|
vfilter {
|
|
|
|
|
vf 'split [main][tmp]; [tmp] crop=iw:ih/2:0:0, vflip [flip]; [main][flip] overlay=0:H/2';
|
|
|
|
|
}
|
|
|
|
|
vcodec libx264;
|
|
|
|
|
vbitrate 500;
|
|
|
|
|
vfps 20;
|
|
|
|
|
vwidth 768;
|
|
|
|
|
vheight 320;
|
|
|
|
|
vthreads 1;
|
|
|
|
|
vprofile main;
|
|
|
|
|
vpreset fast;
|
|
|
|
|
vparams {
|
|
|
|
|
}
|
|
|
|
|
acodec libaacplus;
|
|
|
|
|
abitrate 40;
|
|
|
|
|
asample_rate 44100;
|
|
|
|
|
achannels 2;
|
|
|
|
|
aparams {
|
|
|
|
|
}
|
|
|
|
|
output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
# for the players site, to play or publish.
|
|
|
|
|
# the flash player publisher need to transcode to support hls,
|
|
|
|
|
# we add players_hls vhost to support it.
|
|
|
|
|
vhost players {
|
|
|
|
|
enabled on;
|
|
|
|
|
gop_cache on;
|
|
|
|
|
transcode {
|
|
|
|
|
enabled on;
|
|
|
|
|
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
|
|
|
|
|
engine hls {
|
|
|
|
|
enabled on;
|
|
|
|
|
vfilter {
|
|
|
|
|
vf 'drawtext=text=SRS(SimpleRtmpServer):x=10:y=10:fontcolor=#cccccc:fontfile=./doc/FreeSerifBold.ttf';
|
|
|
|
|
}
|
|
|
|
|
vcodec libx264;
|
|
|
|
|
vbitrate 300;
|
|
|
|
|
vfps 20;
|
|
|
|
|
vwidth 768;
|
|
|
|
|
vheight 320;
|
|
|
|
|
vthreads 1;
|
|
|
|
|
vprofile baseline;
|
|
|
|
|
vpreset superfast;
|
|
|
|
|
vparams {
|
|
|
|
|
}
|
|
|
|
|
acodec libaacplus;
|
|
|
|
|
abitrate 30;
|
|
|
|
|
asample_rate 44100;
|
|
|
|
|
achannels 2;
|
|
|
|
|
aparams {
|
|
|
|
|
}
|
|
|
|
|
output rtmp://127.0.0.1:[port]/[app]?vhost=players_pub/[stream];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
vhost players_pub {
|
|
|
|
|
hls {
|
|
|
|
|
enabled on;
|
|
|
|
|
hls_path ./objs/nginx/html;
|
|
|
|
|
hls_fragment 5;
|
|
|
|
|
hls_window 30;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
# rtmp only, no hls, for chat(low latecy)
|
|
|
|
|
vhost players_pub_rtmp {
|
|
|
|
|
gop_cache off;
|
|
|
|
|
hls {
|
|
|
|
|
enabled off;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# for development
|
|
|
|
|
vhost dev {
|
|
|
|
|
enabled on;
|
|
|
|
|
gop_cache on;
|
|
|
|
|
queue_length 10;
|
|
|
|
|
#forward 127.0.0.1:19350;
|
|
|
|
|
hls {
|
|
|
|
|
enabled off;
|
|
|
|
|
hls_path ./objs/nginx/html;
|
|
|
|
|
hls_fragment 5;
|
|
|
|
|
hls_window 30;
|
|
|
|
|
}
|
|
|
|
|
http_hooks {
|
|
|
|
|
enabled off;
|
|
|
|
|
on_connect http://127.0.0.1:8085/api/v1/clients;
|
|
|
|
|
on_close http://127.0.0.1:8085/api/v1/clients;
|
|
|
|
|
on_publish http://127.0.0.1:8085/api/v1/streams;
|
|
|
|
|
on_unpublish http://127.0.0.1:8085/api/v1/streams;
|
|
|
|
|
on_play http://127.0.0.1:8085/api/v1/sessions;
|
|
|
|
|
on_stop http://127.0.0.1:8085/api/v1/sessions;
|
|
|
|
|
}
|
|
|
|
|
transcode {
|
|
|
|
|
enabled off;
|
|
|
|
|
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
|
|
|
|
|
engine dev {
|
|
|
|
|
enabled on;
|
|
|
|
|
vfilter {
|
|
|
|
|
}
|
|
|
|
|
vcodec libx264;
|
|
|
|
|
vbitrate 300;
|
|
|
|
|
vfps 20;
|
|
|
|
|
vwidth 768;
|
|
|
|
|
vheight 320;
|
|
|
|
|
vthreads 1;
|
|
|
|
|
vprofile baseline;
|
|
|
|
|
vpreset superfast;
|
|
|
|
|
vparams {
|
|
|
|
|
}
|
|
|
|
|
acodec libaacplus;
|
|
|
|
|
abitrate 45;
|
|
|
|
|
asample_rate 44100;
|
|
|
|
|
achannels 2;
|
|
|
|
|
aparams {
|
|
|
|
|
}
|
|
|
|
|
output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
|
|
|
|
|
}
|
|
|
|
|
engine dev_acodec {
|
|
|
|
|
enabled on;
|
|
|
|
|
vcodec copy;
|
|
|
|
|
acodec libaacplus;
|
|
|
|
|
abitrate 45;
|
|
|
|
|
asample_rate 44100;
|
|
|
|
|
achannels 2;
|
|
|
|
|
aparams {
|
|
|
|
|
}
|
|
|
|
|
output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|