You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
srs/trunk/conf/full.one.vhost.conf

357 lines
9.1 KiB
Plaintext

listen 1935 1936;
pid ./objs/srs.pid;
chunk_size 60000;
ff_log_dir ./objs;
srs_log_tank console;
srs_log_level trace;
srs_log_file ./objs/srs.log;
max_connections 1000;
daemon off;
utc_time off;
pithy_print_ms 10000;
heartbeat {
enabled off;
interval 9.3;
url http://127.0.0.1:8085/api/v1/servers;
device_id my-srs-device;
summaries off;
}
stats {
network 0;
disk sda sdb xvda xvdb;
}
http_api {
enabled on;
listen 1985;
crossdomain on;
raw_api {
enabled on;
allow_reload on;
allow_query on;
allow_update on;
}
}
http_server {
enabled off;
listen 8080;
dir ./objs/nginx/html;
}
stream_caster {
enabled off;
caster mpegts_over_udp;
output rtmp://127.0.0.1/live/livestream;
listen 8935;
rtp_port_min 57200;
rtp_port_max 57300;
}
vhost __defaultVhost__;
vhost vhost.srs.com {
enabled off;
chunk_size 128;
tcp_nodelay on;
min_latency on;
cluster {
mode remote;
origin 127.0.0.1:1935 localhost:1935;
token_traverse off;
vhost same.edge.srs.com;
debug_srs_upnode off;
}
forward {
enabled off;
destination 127.0.0.1:1936 127.0.0.1:1937;
}
play {
time_jitter full;
mix_correct off;
atc off;
atc_auto off;
mw_latency 100;
gop_cache off;
queue_length 10;
send_min_interval 10.0;
reduce_sequence_header on;
}
publish {
mr off;
mr_latency 350;
firstpkt_timeout 20000;
normal_timeout 7000;
}
refer {
enabled off;
all github.com github.io;
publish github.com github.io;
play github.com github.io;
}
bandcheck {
enabled off;
key 35c9b402c12a7246868752e2878f7e0e;
interval 30;
limit_kbps 4000;
}
security {
enabled off;
allow play all;
allow publish all;
deny publish all;
}
http_static {
enabled off;
mount [vhost]/hls;
dir ./objs/nginx/html/hls;
}
http_remux {
enabled off;
fast_cache 30;
mount [vhost]/[app]/[stream].flv;
}
http_hooks {
enabled off;
on_connect http://127.0.0.1:8085/api/v1/clients http://localhost:8085/api/v1/clients;
on_close http://127.0.0.1:8085/api/v1/clients http://localhost:8085/api/v1/clients;
on_publish http://127.0.0.1:8085/api/v1/streams http://localhost:8085/api/v1/streams;
on_unpublish http://127.0.0.1:8085/api/v1/streams http://localhost:8085/api/v1/streams;
on_play http://127.0.0.1:8085/api/v1/sessions http://localhost:8085/api/v1/sessions;
on_stop http://127.0.0.1:8085/api/v1/sessions http://localhost:8085/api/v1/sessions;
on_dvr http://127.0.0.1:8085/api/v1/dvrs http://localhost:8085/api/v1/dvrs;
on_hls http://127.0.0.1:8085/api/v1/hls http://localhost:8085/api/v1/hls;
on_hls_notify http://127.0.0.1:8085/api/v1/hls/[app]/[stream][ts_url];
}
exec {
enabled off;
publish ./objs/ffmpeg/bin/ffmpeg -f flv -i [url] -c copy -y ./[stream].flv;
}
hls {
enabled off;
hls_fragment 10;
hls_td_ratio 1.5;
hls_aof_ratio 2.0;
hls_window 60;
hls_on_error ignore;
hls_storage disk;
hls_path ./objs/nginx/html;
hls_m3u8_file [app]/[stream].m3u8;
hls_ts_file [app]/[stream]-[seq].ts;
hls_ts_floor off;
hls_entry_prefix http://your-server;
hls_mount [vhost]/[app]/[stream].m3u8;
hls_acodec aac;
hls_vcodec h264;
hls_cleanup on;
hls_dispose 0;
hls_nb_notify 64;
hls_wait_keyframe on;
}
hds {
enabled off;
hds_fragment 10;
hds_window 60;
hds_path ./objs/nginx/html;
}
dvr {
enabled off;
dvr_plan session;
dvr_path ./objs/nginx/html/[app]/[stream].[timestamp].flv;
dvr_duration 30;
dvr_wait_keyframe on;
time_jitter full;
}
ingest livestream {
enabled off;
input {
type file;
url ./doc/source.200kbps.768x320.flv;
}
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
engine {
enabled off;
iformat flv;
vfilter {
s 30;
ss 300;
}
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;
}
oformat flv;
output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream];
}
}
transcode live {
enabled off;
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
engine ffsuper {
enabled off;
iformat flv;
vfilter {
s 30;
ss 300;
}
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;
}
oformat flv;
output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
}
}
transcode {
enabled off;
ffmpeg ./objs/ffmpeg/bin/ffmpeg;
engine ffsuper {
enabled off;
iformat flv;
vfilter {
s 30;
ss 300;
}
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;
}
oformat flv;
output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
}
engine ffhd {
enabled off;
vcodec libx264;
vbitrate 1200;
vfps 25;
vwidth 1382;
vheight 576;
vthreads 6;
vprofile main;
vpreset medium;
vparams;
acodec libfdk_aac;
abitrate 70;
asample_rate 44100;
achannels 2;
aparams;
output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
}
engine ffsd {
enabled off;
vcodec libx264;
vbitrate 800;
vfps 25;
vwidth 1152;
vheight 480;
vthreads 4;
vprofile main;
vpreset fast;
vparams;
acodec libfdk_aac;
abitrate 60;
asample_rate 44100;
achannels 2;
aparams;
output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
}
engine fffast {
enabled off;
vcodec libx264;
vbitrate 300;
vfps 20;
vwidth 768;
vheight 320;
vthreads 2;
vprofile baseline;
vpreset superfast;
vparams;
acodec libfdk_aac;
abitrate 45;
asample_rate 44100;
achannels 2;
aparams;
output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
}
engine vcopy {
enabled off;
vcodec copy;
acodec libfdk_aac;
abitrate 45;
asample_rate 44100;
achannels 2;
aparams;
output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
}
engine acopy {
enabled off;
vcodec libx264;
vbitrate 300;
vfps 20;
vwidth 768;
vheight 320;
vthreads 2;
vprofile baseline;
vpreset superfast;
vparams;
acodec copy;
output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
}
engine copy {
enabled off;
vcodec copy;
acodec copy;
output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
}
}
}