listen 1935; max_connections 1000; daemon off; srs_log_tank console; http_api { enabled on; listen 1985; } http_server { enabled on; listen 8080; } rtc_server { enabled on; listen 8000; candidate *; } vhost hls.zap.stream { cluster { mode remote; origin srs-origin; } } vhost base.in.zap.stream { transcode { enabled on; ffmpeg ./objs/ffmpeg/bin/ffmpeg; engine source { enabled on; vcodec copy; acodec copy; output rtmp://127.0.0.1:[port]/[app]/[engine]/[stream]?vhost=hls.zap.stream; } } } vhost full.in.zap.stream { transcode { enabled on; ffmpeg ./objs/ffmpeg/bin/ffmpeg; engine source { enabled on; vcodec copy; acodec copy; output rtmp://127.0.0.1:[port]/[app]/[engine]/[stream]?vhost=hls.zap.stream; } engine 720h { enabled on; vcodec libx264; vbitrate 3000; vfps 30; vprofile baseline; vpreset veryfast; vfilter { vf 'scale=-2:720'; } vparams { g 60; tune 'zerolatency'; } acodec libfdk_aac; abitrate 160; asample_rate 44100; achannels 2; output rtmp://127.0.0.1:[port]/[app]/[engine]/[stream]?vhost=hls.zap.stream; } engine 480h { enabled off; vcodec libx264; vbitrate 1000; vfps 30; vprofile baseline; vpreset veryfast; vfilter { vf 'scale=-2:480'; } vparams { g 60; tune 'zerolatency'; } acodec libfdk_aac; abitrate 96; asample_rate 44100; achannels 2; output rtmp://127.0.0.1:[port]/[app]/[engine]/[stream]?vhost=hls.zap.stream; } engine 240h { enabled off; vcodec libx264; vbitrate 500; vfps 30; vprofile baseline; vpreset veryfast; vfilter { vf 'scale=-2:240'; } vparams { g 60; tune 'zerolatency'; } acodec libfdk_aac; abitrate 72; asample_rate 44100; achannels 2; output rtmp://127.0.0.1:[port]/[app]/[engine]/[stream]?vhost=hls.zap.stream; } } } # forward ingest, api decides route vhost __defaultVhost__ { forward { enabled on; backend http://172.17.0.1:5295/api/srs; } }