239 lines
6.0 KiB
Smarty
239 lines
6.0 KiB
Smarty
{{- define "srs-cluster.config.apilist" -}}
|
|
{{- range $i, $e := int .Values.srs.replicas.origin | until }} helm-srs-og-{{ $i }}.srsog:{{ $.Values.srs.ports.cluster.api }}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- define "srs-cluster.config.rtmplist" -}}
|
|
{{- range $i, $e := int .Values.srs.replicas.origin | until }} helm-srs-og-{{ $i }}.srsog:{{ $.Values.srs.ports.cluster.rtmp }}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{- define "srs-cluster.config.hooks" -}}
|
|
http_hooks {
|
|
enabled on;
|
|
on_publish {{ .Values.srs.hooks.on_publish }};
|
|
on_unpublish {{ .Values.srs.hooks.on_unpublish }};
|
|
on_play {{ .Values.srs.hooks.on_play }};
|
|
}
|
|
{{- end -}}
|
|
|
|
{{- define "srs-cluster.config.origin" -}}
|
|
listen {{ .Values.srs.ports.cluster.rtmp }};
|
|
max_connections 4096;
|
|
srs_log_tank console;
|
|
srs_log_file /home/srs.log;
|
|
daemon off;
|
|
http_api {
|
|
enabled on;
|
|
listen {{ .Values.srs.ports.cluster.api }};
|
|
crossdomain on;
|
|
raw_api {
|
|
enabled on;
|
|
allow_reload on;
|
|
allow_query on;
|
|
allow_update on;
|
|
}
|
|
}
|
|
stats {
|
|
network 0;
|
|
}
|
|
{{- if lt .Values.srs.replicas.origin 2.0 }}
|
|
rtc_server {
|
|
enabled on;
|
|
listen {{ .Values.srs.ports.cluster.realPublicWebRTC }};
|
|
candidate $CANDIDATE;
|
|
}
|
|
{{- end }}
|
|
vhost __defaultVhost__ {
|
|
cluster {
|
|
origin_cluster on;
|
|
coworkers {{ include "srs-cluster.config.apilist" . }};
|
|
}
|
|
http_hooks {
|
|
enabled off;
|
|
}
|
|
{{- if lt .Values.srs.replicas.origin 2.0 }}
|
|
rtc {
|
|
enabled on;
|
|
bframe discard;
|
|
}
|
|
{{- end }}
|
|
tcp_nodelay on;
|
|
min_latency on;
|
|
play {
|
|
gop_cache off;
|
|
mw_latency 0;
|
|
mw_msgs 0;
|
|
}
|
|
publish {
|
|
mr off;
|
|
}
|
|
dvr {
|
|
enabled on;
|
|
dvr_path /home/srs/dvr/[app]/[2006][01]/[stream]/[timestamp].mp4;
|
|
dvr_plan session;
|
|
}
|
|
hls {
|
|
enabled on;
|
|
hls_path /home/srs/hls/default;
|
|
hls_fragment 10;
|
|
hls_window 60;
|
|
hls_m3u8_file [stream]/[app].m3u8;
|
|
hls_ts_file [stream]/[app]-[timestamp]-[duration].ts;
|
|
hls_cleanup off;
|
|
}
|
|
}
|
|
{{- end -}}
|
|
|
|
{{- define "srs-cluster.config.edge" -}}
|
|
listen {{ .Values.srs.ports.cluster.rtmp }};
|
|
max_connections 4096;
|
|
srs_log_tank console;
|
|
srs_log_file /home/srs.log;
|
|
daemon off;
|
|
http_api {
|
|
enabled on;
|
|
listen {{ .Values.srs.ports.cluster.api }};
|
|
crossdomain on;
|
|
raw_api {
|
|
enabled on;
|
|
allow_reload on;
|
|
allow_query on;
|
|
allow_update on;
|
|
}
|
|
}
|
|
http_server {
|
|
enabled on;
|
|
listen {{ .Values.srs.ports.cluster.flv }};
|
|
dir /home/srs/;
|
|
}
|
|
stats {
|
|
network 0;
|
|
}
|
|
vhost __defaultVhost__ {
|
|
cluster {
|
|
mode remote;
|
|
origin {{ include "srs-cluster.config.rtmplist" . }};
|
|
}
|
|
{{ if .Values.srs.config.enableHooks }}
|
|
{{- include "srs-cluster.config.hooks" . }}
|
|
{{- end }}
|
|
http_remux {
|
|
enabled on;
|
|
}
|
|
tcp_nodelay on;
|
|
min_latency on;
|
|
play {
|
|
gop_cache off;
|
|
mw_latency 0;
|
|
mw_msgs 0;
|
|
}
|
|
publish {
|
|
mr off;
|
|
}
|
|
}
|
|
{{- end -}}
|
|
|
|
{{- define "srs-cluster.config.rtc" -}}
|
|
listen {{ .Values.srs.ports.rtc.rtmp }};
|
|
max_connections 4096;
|
|
srs_log_tank console;
|
|
srs_log_file /home/srs.log;
|
|
daemon on;
|
|
http_api {
|
|
enabled on;
|
|
listen {{ .Values.srs.ports.rtc.api }};
|
|
crossdomain on;
|
|
}
|
|
stats {
|
|
network 0;
|
|
}
|
|
http_server {
|
|
enabled on;
|
|
listen {{ .Values.srs.ports.rtc.flv }};
|
|
dir /home/srs/;
|
|
}
|
|
rtc_server {
|
|
enabled on;
|
|
listen {{ .Values.srs.ports.rtc.webrtc }};
|
|
candidate $CANDIDATE;
|
|
}
|
|
vhost __defaultVhost__ {
|
|
http_hooks {
|
|
enabled off;
|
|
}
|
|
http_remux {
|
|
enabled on;
|
|
}
|
|
rtc {
|
|
enabled on;
|
|
bframe discard;
|
|
}
|
|
tcp_nodelay on;
|
|
min_latency on;
|
|
play {
|
|
gop_cache off;
|
|
mw_latency 0;
|
|
mw_msgs 0;
|
|
}
|
|
publish {
|
|
mr off;
|
|
}
|
|
dvr {
|
|
enabled on;
|
|
dvr_path /home/srs/dvr/[app]/[2006][01]/[stream]/[timestamp].mp4;
|
|
dvr_plan session;
|
|
}
|
|
hls {
|
|
enabled on;
|
|
hls_path /home/srs/hls/default;
|
|
hls_fragment 10;
|
|
hls_window 60;
|
|
hls_m3u8_file [app]/[stream].m3u8;
|
|
hls_ts_file [app]/[2006][01]/[stream]/[timestamp]-[duration].ts;
|
|
hls_cleanup off;
|
|
}
|
|
}
|
|
{{- end -}}
|
|
|
|
{{- define "srs-cluster.config.nginx" -}}
|
|
user root;
|
|
worker_processes 1;
|
|
|
|
error_log /var/log/nginx/error.log warn;
|
|
pid /var/run/nginx.pid;
|
|
|
|
events {
|
|
use epoll;
|
|
worker_connections 65535;
|
|
multi_accept on;
|
|
}
|
|
|
|
http {
|
|
include /etc/nginx/mime.types;
|
|
default_type application/octet-stream;
|
|
|
|
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
|
'$status $body_bytes_sent "$http_referer" '
|
|
'"$http_user_agent" "$http_x_forwarded_for"';
|
|
|
|
access_log /var/log/nginx/access.log main;
|
|
server_tokens off;
|
|
|
|
sendfile on;
|
|
#tcp_nopush on;
|
|
|
|
tcp_nodelay on;
|
|
keepalive_timeout 120;
|
|
|
|
server {
|
|
listen {{ .Values.srs.ports.nginx.hls }};
|
|
server_name _;
|
|
location / {
|
|
root /home/srs/hls/default;
|
|
autoindex on;
|
|
autoindex_exact_size off;
|
|
}
|
|
}
|
|
}
|
|
{{- end -}} |