apiVersion: v1 kind: ConfigMap metadata: namespace: {{ .Release.Namespace }} name: {{ .Release.Name }}-zlm-config labels: app: zlm chart: {{ .Chart.Name }}-{{ .Chart.Version }} release: {{ .Release.Name }} data: zlm.ini: | [api] apiDebug = 0 secret = {{ .Values.zlm.apiPasswd }} snapRoot = ./www/snap/ defaultSnap = ./www/logo.png downloadRoot = ./www [ffmpeg] bin = /usr/bin/ffmpeg cmd = %s -re -i %s -c:a aac -strict -2 -ar 44100 -ab 48k -c:v libx264 -f flv %s log = ./ffmpeg/ffmpeg.log restart_sec = 0 snap = %s -rtsp_transport tcp -i %s -y -f mjpeg -frames:v 1 %s [protocol] modify_stamp = 2 enable_audio = 1 add_mute_audio = 0 auto_close = 0 continue_push_ms = 3000 paced_sender_ms = 0 enable_hls = 1 enable_hls_fmp4 = 0 enable_rtmp = 1 enable_ts = 1 enable_fmp4 = 1 enable_rtsp = 1 enable_mp4 = 0 mp4_as_player = 0 mp4_max_second = 3600 mp4_save_path = ./www hls_save_path = ./www/zlm/hls hls_demand = 0 rtsp_demand = 0 rtmp_demand = 0 ts_demand = 0 fmp4_demand = 0 [general] enableVhost = 0 flowThreshold = 1024 enable_ffmpeg_log = 0 listen_ip = :: maxStreamWaitMS = 0 streamNoneReaderDelayMS = 120000 resetWhenRePlay = 1 mergeWriteMS = 0 mediaServerId = {{ .Values.zlm.nodeId }} wait_audio_track_data_ms = 1000 wait_track_ready_ms = 8000 wait_add_track_ms = 2000 unready_frame_cache = 96 check_nvidia_dev = 1 broadcast_player_count_changed = 0 [hls] fileBufSize = 65536 segDur = 10 segNum = 3 segDelay = 0 segRetain = 5 broadcastRecordTs = 1 deleteDelaySec = 10 segKeep = 0 fastRegister = 0 [hook] enable = 1 on_flow_report = on_http_access = # ZLM → Live Operator on_play = http://{{ .Release.Name }}-live-op:{{ .Values.liveOp.port }}/hooks/on_play on_publish = http://{{ .Release.Name }}-live-op:{{ .Values.liveOp.port }}/hooks/on_push on_stream_changed = http://{{ .Release.Name }}-live-op:{{ .Values.liveOp.port }}/hooks/on_stream_changed # ZLM → WVP on_stream_none_reader = http://127.0.0.1:{{ .Values.wvp.ports.http }}/index/hook/on_stream_none_reader on_stream_not_found = http://127.0.0.1:{{ .Values.wvp.ports.http }}/index/hook/on_stream_not_found on_rtp_server_timeout = http://127.0.0.1:{{ .Values.wvp.ports.http }}/index/hook/on_rtp_server_timeout on_send_rtp_stopped = http://127.0.0.1:{{ .Values.wvp.ports.http }}/index/hook/on_send_rtp_stopped on_server_started = http://127.0.0.1:{{ .Values.wvp.ports.http }}/index/hook/on_server_started on_server_keepalive = http://127.0.0.1:{{ .Values.wvp.ports.http }}/index/hook/on_server_keepalive on_record_mp4 = http://127.0.0.1:{{ .Values.wvp.ports.http }}/index/hook/on_record_mp4 on_server_exited = on_rtsp_auth = on_rtsp_realm = on_shell_login = # ZLM → ZLM OSS on_record_ts = http://127.0.0.1:{{ .Values.zlmOss.port }}/hooks/on_record_ts stream_changed_schemas = rtsp/rtmp/fmp4/ts/hls/hls.fmp4 timeoutSec = 30 alive_interval = 10.0 retry = 1 retry_delay = 3.0 [cluster] origin_url = timeout_sec = 15 retry_count = 3 [http] port = {{ .Values.zlm.ports.http }} sslport = {{ .Values.zlm.ports.https }} charSet = utf-8 keepAliveSecond = 30 maxReqSize = 40960 notFound = 404 Not Found
404 Not Found
rootPath = ./www sendBufSize = 65536 dirMenu = 1 virtualPath = forbidCacheSuffix = allow_cross_domains = 1 allow_ip_range = ::1,127.0.0.1,172.1.0.0-172.31.255.255,192.168.0.0-192.168.255.255,10.0.0.0-10.255.255.255 [multicast] addrMax = 239.255.255.255 addrMin = 239.0.0.0 udpTTL = 64 [record] appName = record fileBufSize = 65536 sampleMS = 500 fastStart = 0 fileRepeat = 0 enableFmp4 = 0 [rtmp] port = {{ .Values.zlm.ports.rtmp }} sslport = 0 handshakeSecond = 15 keepAliveSecond = 15 directProxy = 1 enhanced = 0 [rtp] audioMtuSize = 600 videoMtuSize = 1400 rtpMaxSize = 10 lowLatency = 0 h264_stap_a = 1 [rtp_proxy] port = {{ .Values.zlm.ports.rtpProxy }} port_range = {{ .Values.zlm.ports.rtpMin }}-{{ .Values.zlm.ports.rtpMax }} dumpDir = timeoutSec = 5 h264_pt = 98 h265_pt = 99 ps_pt = 96 opus_pt = 100 gop_cache = 1 rtp_g711_dur_ms = 100 udp_recv_socket_buffer = 4194304 [rtc] bfilter=0 datachannel_echo=0 maxRtpCacheMS=5000 maxRtpCacheSize=2048 externIP = $(NODE_IP) port = {{ .Values.zlm.ports.webrtc }} tcpPort = {{ .Values.zlm.ports.webrtc }} timeoutSec = 30 rembBitRate = 0 preferredCodecA = PCMA,PCMU,opus,mpeg4-generic preferredCodecV = H264,H265,AV1,VP9,VP8 start_bitrate = 0 max_bitrate = 0 min_bitrate = 0 maxNackMS = 4000 rtpCacheCheckInterval = 96 nackMaxSize = 2048 nackMaxMS = 3000 nackMaxCount = 15 nackIntervalRatio = 1.0 nackRtpSize = 8 [srt] port = {{ .Values.zlm.ports.srt }} timeoutSec = 5 latencyMul = 4 pktBufSize = 8192 passPhrase= [rtsp] port = {{ .Values.zlm.ports.rtsp }} sslport = 0 authBasic = 0 directProxy = 1 handshakeSecond = 15 keepAliveSecond = 15 lowLatency = 1 rtpTransportType = -1 [shell] maxReqSize = 1024 port = 0