|
|
|
@ -90,6 +90,40 @@ http_stream {
|
|
|
|
|
vhost __defaultVhost__ {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# vhost for ingest
|
|
|
|
|
vhost ingest.srs.com {
|
|
|
|
|
# ingest file/stream/device then push to SRS over RTMP.
|
|
|
|
|
ingest {
|
|
|
|
|
# whether enable ingest features
|
|
|
|
|
# default: off
|
|
|
|
|
enable on;
|
|
|
|
|
# input file/stream/device, can be multiple input.
|
|
|
|
|
input {
|
|
|
|
|
# the type of input.
|
|
|
|
|
# can be file/stream/device, that is,
|
|
|
|
|
# file: ingest file specifies by url.
|
|
|
|
|
# stream: ingest stream specifeis by url.
|
|
|
|
|
# devide: not support yet.
|
|
|
|
|
type file;
|
|
|
|
|
# the url of file/stream.
|
|
|
|
|
url ./doc/source.200kbps.768x320.flv;
|
|
|
|
|
}
|
|
|
|
|
# the ffmpeg
|
|
|
|
|
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
|
|
|
|
|
# the transcode engine, @see all.transcode.srs.com
|
|
|
|
|
# @remark, the output is specified following.
|
|
|
|
|
engine {
|
|
|
|
|
# @see enabled of transcode engine.
|
|
|
|
|
# default: off.
|
|
|
|
|
enable off;
|
|
|
|
|
# output stream. variables:
|
|
|
|
|
# [vhost] current vhost which start the ingest.
|
|
|
|
|
# [port] system RTMP stream port.
|
|
|
|
|
output rtmp://127.0.0.1:[port]/live?vhost=[vhost]/livestream;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# vhost for http
|
|
|
|
|
vhost http.srs.com {
|
|
|
|
|
# http vhost specified config
|
|
|
|
@ -151,7 +185,7 @@ vhost bandcheck.srs.com {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# set the chunk size of vhost.
|
|
|
|
|
vhost chunksize.vhost.com {
|
|
|
|
|
vhost chunksize.srs.com {
|
|
|
|
|
# the default chunk size is 128, max is 65536,
|
|
|
|
|
# some client does not support chunk size change,
|
|
|
|
|
# vhost chunk size will override the global value.
|
|
|
|
@ -160,7 +194,7 @@ vhost chunksize.vhost.com {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# the http hook callback vhost, srs will invoke the hooks for specified events.
|
|
|
|
|
vhost hooks.callback.vhost.com {
|
|
|
|
|
vhost hooks.callback.srs.com {
|
|
|
|
|
http_hooks {
|
|
|
|
|
# whether the http hooks enalbe.
|
|
|
|
|
# default off.
|
|
|
|
@ -252,7 +286,7 @@ vhost hooks.callback.vhost.com {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# the mirror filter of ffmpeg, @see: http://ffmpeg.org/ffmpeg-filters.html#Filtering-Introduction
|
|
|
|
|
vhost mirror.transcode.vhost.com {
|
|
|
|
|
vhost mirror.transcode.srs.com {
|
|
|
|
|
transcode {
|
|
|
|
|
enabled on;
|
|
|
|
|
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
|
|
|
|
@ -282,7 +316,7 @@ vhost mirror.transcode.vhost.com {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
# the drawtext filter of ffmpeg, @see: http://ffmpeg.org/ffmpeg-filters.html#drawtext-1
|
|
|
|
|
vhost drawtext.transcode.vhost.com {
|
|
|
|
|
vhost drawtext.transcode.srs.com {
|
|
|
|
|
transcode {
|
|
|
|
|
enabled on;
|
|
|
|
|
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
|
|
|
|
@ -312,7 +346,7 @@ vhost drawtext.transcode.vhost.com {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
# the crop filter of ffmpeg, @see: http://ffmpeg.org/ffmpeg-filters.html#crop
|
|
|
|
|
vhost crop.transcode.vhost.com {
|
|
|
|
|
vhost crop.transcode.srs.com {
|
|
|
|
|
transcode {
|
|
|
|
|
enabled on;
|
|
|
|
|
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
|
|
|
|
@ -342,7 +376,7 @@ vhost crop.transcode.vhost.com {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
# the logo filter of ffmpeg, @see: http://ffmpeg.org/ffmpeg-filters.html#overlay
|
|
|
|
|
vhost logo.transcode.vhost.com {
|
|
|
|
|
vhost logo.transcode.srs.com {
|
|
|
|
|
transcode {
|
|
|
|
|
enabled on;
|
|
|
|
|
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
|
|
|
|
@ -375,7 +409,7 @@ vhost logo.transcode.vhost.com {
|
|
|
|
|
# audio transcode only.
|
|
|
|
|
# for example, FMLE publish audio codec in mp3, and donot support HLS output,
|
|
|
|
|
# we can transcode the audio to aac and copy video to the new stream with HLS.
|
|
|
|
|
vhost audio.transcode.vhost.com {
|
|
|
|
|
vhost audio.transcode.srs.com {
|
|
|
|
|
transcode {
|
|
|
|
|
enabled on;
|
|
|
|
|
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
|
|
|
|
@ -394,7 +428,7 @@ vhost audio.transcode.vhost.com {
|
|
|
|
|
}
|
|
|
|
|
# disable video, transcode/copy audio.
|
|
|
|
|
# for example, publish pure audio stream.
|
|
|
|
|
vhost vn.transcode.vhost.com {
|
|
|
|
|
vhost vn.transcode.srs.com {
|
|
|
|
|
transcode {
|
|
|
|
|
enabled on;
|
|
|
|
|
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
|
|
|
|
@ -413,7 +447,7 @@ vhost vn.transcode.vhost.com {
|
|
|
|
|
}
|
|
|
|
|
# ffmpeg-copy(forward implements by ffmpeg).
|
|
|
|
|
# copy the video and audio to a new stream.
|
|
|
|
|
vhost copy.transcode.vhost.com {
|
|
|
|
|
vhost copy.transcode.srs.com {
|
|
|
|
|
transcode {
|
|
|
|
|
enabled on;
|
|
|
|
|
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
|
|
|
|
@ -426,7 +460,7 @@ vhost copy.transcode.vhost.com {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
# transcode all app and stream of vhost
|
|
|
|
|
vhost all.transcode.vhost.com {
|
|
|
|
|
vhost all.transcode.srs.com {
|
|
|
|
|
# the streaming transcode configs.
|
|
|
|
|
transcode {
|
|
|
|
|
# whether the transcode enabled.
|
|
|
|
@ -434,7 +468,7 @@ vhost all.transcode.vhost.com {
|
|
|
|
|
# default: off.
|
|
|
|
|
enabled on;
|
|
|
|
|
# the ffmpeg
|
|
|
|
|
ffmpeg ./objs/ffmpeg/bin/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.
|
|
|
|
@ -448,7 +482,7 @@ vhost all.transcode.vhost.com {
|
|
|
|
|
i ./doc/ffmpeg-logo.png;
|
|
|
|
|
# the ffmpeg complex filter.
|
|
|
|
|
# for filters, @see: http://ffmpeg.org/ffmpeg-filters.html
|
|
|
|
|
filter_complex 'overlay=10:10';
|
|
|
|
|
filter_complex 'overlay=10:10';
|
|
|
|
|
}
|
|
|
|
|
# video encoder name. can be:
|
|
|
|
|
# libx264: use h.264(libx264) video encoder.
|
|
|
|
@ -602,7 +636,7 @@ vhost all.transcode.vhost.com {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
# transcode all stream using the empty ffmpeg demo, donothing.
|
|
|
|
|
vhost ffempty.transcode.vhost.com {
|
|
|
|
|
vhost ffempty.transcode.srs.com {
|
|
|
|
|
transcode {
|
|
|
|
|
enabled on;
|
|
|
|
|
ffmpeg ./objs/research/ffempty;
|
|
|
|
@ -629,7 +663,7 @@ vhost ffempty.transcode.vhost.com {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
# transcode all app and stream of app
|
|
|
|
|
vhost app.transcode.vhost.com {
|
|
|
|
|
vhost app.transcode.srs.com {
|
|
|
|
|
# the streaming transcode configs.
|
|
|
|
|
# if app specified, transcode all streams of app.
|
|
|
|
|
transcode live {
|
|
|
|
@ -641,7 +675,7 @@ vhost app.transcode.vhost.com {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
# transcode specified stream.
|
|
|
|
|
vhost stream.transcode.vhost.com {
|
|
|
|
|
vhost stream.transcode.srs.com {
|
|
|
|
|
# the streaming transcode configs.
|
|
|
|
|
# if stream specified, transcode the matched stream.
|
|
|
|
|
transcode live/livestream {
|
|
|
|
@ -654,31 +688,31 @@ vhost stream.transcode.vhost.com {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# the vhost which forward publish streams.
|
|
|
|
|
vhost same.vhost.forward.vhost.com {
|
|
|
|
|
vhost same.vhost.forward.srs.com {
|
|
|
|
|
# forward all publish stream to the specified server.
|
|
|
|
|
# this used to split/forward the current stream for cluster active-standby,
|
|
|
|
|
# active-active for cdn to build high available fault tolerance system.
|
|
|
|
|
# format: {ip}:{port} {ip_N}:{port_N}
|
|
|
|
|
# or specify the vhost by params, @see: change.vhost.forward.vhost.com
|
|
|
|
|
# or specify the vhost by params, @see: change.vhost.forward.srs.com
|
|
|
|
|
# if vhost not specified, use the request vhost instead.
|
|
|
|
|
forward 127.0.0.1:1936 127.0.0.1:1937;
|
|
|
|
|
}
|
|
|
|
|
# TODO: FIXME: change the forward schema with vhost.
|
|
|
|
|
# [plan] the vhost which forward publish streams to other vhosts.
|
|
|
|
|
vhost change.vhost.forward.vhost.com {
|
|
|
|
|
vhost change.vhost.forward.srs.com {
|
|
|
|
|
forward 127.0.0.1:1936 127.0.0.1:1937 {
|
|
|
|
|
# specify the vhost to override the vhost in client request.
|
|
|
|
|
vhost forward2.vhost.com;
|
|
|
|
|
vhost forward2.srs.com;
|
|
|
|
|
# specify the refer(pageUrl) to override the refer in client request.
|
|
|
|
|
refer http://srs/index.html;
|
|
|
|
|
}
|
|
|
|
|
forward 127.0.0.1:1938 {
|
|
|
|
|
vhost forward3.vhost.com;
|
|
|
|
|
vhost forward3.srs.com;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# the vhost disabled.
|
|
|
|
|
vhost removed.vhost.com {
|
|
|
|
|
vhost removed.srs.com {
|
|
|
|
|
# whether the vhost is enabled.
|
|
|
|
|
# if off, all request access denied.
|
|
|
|
|
# default: on
|
|
|
|
@ -686,7 +720,7 @@ vhost removed.vhost.com {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# the vhost with hls specified.
|
|
|
|
|
vhost with-hls.vhost.com {
|
|
|
|
|
vhost with-hls.srs.com {
|
|
|
|
|
hls {
|
|
|
|
|
# whether the hls is enabled.
|
|
|
|
|
# if off, donot write hls(ts and m3u8) when publish.
|
|
|
|
@ -713,7 +747,7 @@ vhost with-hls.vhost.com {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
# the vhost with hls disabled.
|
|
|
|
|
vhost no-hls.vhost.com {
|
|
|
|
|
vhost no-hls.srs.com {
|
|
|
|
|
hls {
|
|
|
|
|
# whether the hls is enabled.
|
|
|
|
|
# if off, donot write hls(ts and m3u8) when publish.
|
|
|
|
|