
All checks were successful
Test and Publish Templates / test-and-publish (push) Successful in 22s
68 lines
1.5 KiB
YAML
68 lines
1.5 KiB
YAML
# MediaMTX Configuration for SquashKiwi Streaming
|
|
|
|
# General Settings
|
|
logLevel: info
|
|
logDestinations: [stdout]
|
|
|
|
# API Configuration
|
|
api: yes
|
|
apiAddress: :9997
|
|
|
|
# Metrics
|
|
metrics: yes
|
|
metricsAddress: :9998
|
|
|
|
# RTSP Server
|
|
rtsp: yes
|
|
rtspAddress: :8554
|
|
protocols: [tcp, udp]
|
|
readTimeout: 10s
|
|
writeTimeout: 10s
|
|
|
|
# HLS Server
|
|
hls: yes
|
|
hlsAddress: :8888
|
|
hlsAllowOrigin: '*'
|
|
hlsSegmentCount: 10
|
|
hlsSegmentDuration: 2s
|
|
hlsPartDuration: 200ms
|
|
|
|
# WebRTC Server
|
|
webrtc: yes
|
|
webrtcAddress: :8889
|
|
webrtcAllowOrigin: '*'
|
|
|
|
# Path Configuration
|
|
paths:
|
|
# Main court camera stream
|
|
court_main:
|
|
# Note: Password with special characters should be URL-encoded in service.env
|
|
# e.g., ! becomes %21, @ becomes %40, etc.
|
|
source: rtsp://${CAMERA_USER}:${CAMERA_PASSWORD}@${CAMERA_IP}:${CAMERA_RTSP_PORT}/cam/realmonitor?channel=1&subtype=0
|
|
sourceProtocol: tcp
|
|
sourceOnDemand: no
|
|
|
|
# Authentication
|
|
publishUser: admin
|
|
publishPass: ${PUBLISH_PASSWORD}
|
|
|
|
# Recording
|
|
record: yes
|
|
recordPath: /recordings/${COURT_ID}_%Y%m%d_%H%M%S.mp4
|
|
# recordFormat is not supported in MediaMTX - recordings are always in .mp4 format
|
|
recordSegmentDuration: 1h
|
|
recordDeleteAfter: 720h
|
|
|
|
# Generate HLS
|
|
sourceGenerateHLS: yes
|
|
|
|
# Generate WebRTC
|
|
sourceGenerateWebRTC: yes
|
|
|
|
# Sub-stream for lower bandwidth
|
|
court_sub:
|
|
source: rtsp://${CAMERA_USER}:${CAMERA_PASSWORD}@${CAMERA_IP}:${CAMERA_RTSP_PORT}/cam/realmonitor?channel=1&subtype=1
|
|
sourceProtocol: tcp
|
|
sourceOnDemand: yes
|
|
sourceGenerateHLS: yes
|
|
hlsSegmentDuration: 4s |