Files
dropshell-templates/squashkiwi-streaming/config/mediamtx.yml
Your Name d705fcaf45
All checks were successful
Test and Publish Templates / test-and-publish (push) Successful in 22s
test: Update 2 files
2025-09-01 21:30:45 +12:00

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