| | |
| | | |
| | | ############################################### |
| | | # General parameters |
| | | # General settings |
| | | |
| | | # Sets the verbosity of the program; available values are "error", "warn", "info", "debug". |
| | | logLevel: info |
| | |
| | | readTimeout: 10s |
| | | # Timeout of write operations. |
| | | writeTimeout: 10s |
| | | # Number of read buffers. |
| | | # A higher value allows a wider throughput, a lower value allows to save RAM. |
| | | readBufferCount: 512 |
| | | # Maximum size of payload of outgoing UDP packets. |
| | | # Size of the queue of outgoing packets. |
| | | # A higher value allows to increase throughput, a lower value allows to save RAM. |
| | | writeQueueSize: 512 |
| | | # Maximum size of outgoing UDP packets. |
| | | # This can be decreased to avoid fragmentation on networks with a low UDP MTU. |
| | | udpMaxPayloadSize: 1472 |
| | | |
| | |
| | | # Enable the HTTP API. |
| | | api: yes |
| | | # Address of the API listener. |
| | | apiAddress: 127.0.0.1:9997 |
| | | apiAddress: 192.168.1.227:9997 |
| | | |
| | | # Enable Prometheus-compatible metrics. |
| | | metrics: no |
| | |
| | | runOnConnectRestart: no |
| | | |
| | | ############################################### |
| | | # RTSP parameters |
| | | # RTSP settings |
| | | |
| | | # Disable support for the RTSP protocol. |
| | | rtspDisable: no |
| | | # Allow publishing and reading streams with the RTSP protocol. |
| | | rtsp: yes |
| | | # List of enabled RTSP transport protocols. |
| | | # UDP is the most performant, but doesn't work when there's a NAT/firewall between |
| | | # server and clients, and doesn't support encryption. |
| | |
| | | authMethods: [basic] |
| | | |
| | | ############################################### |
| | | # RTMP parameters |
| | | # RTMP settings |
| | | |
| | | # Disable support for the RTMP protocol. |
| | | rtmpDisable: yes |
| | | # Allow publishing and reading streams with the RTMP protocol. |
| | | rtmp: yes |
| | | # Address of the RTMP listener. This is needed only when encryption is "no" or "optional". |
| | | rtmpAddress: :1935 |
| | | # Encrypt connections with TLS (RTMPS). |
| | |
| | | rtmpServerCert: server.crt |
| | | |
| | | ############################################### |
| | | # HLS parameters |
| | | # HLS settings |
| | | |
| | | # Disable support for the HLS protocol. |
| | | hlsDisable: yes |
| | | # Allow reading streams with the HLS protocol. |
| | | hls: no |
| | | # Address of the HLS listener. |
| | | hlsAddress: :8888 |
| | | # Enable TLS/HTTPS on the HLS server. |
| | |
| | | hlsDirectory: '' |
| | | |
| | | ############################################### |
| | | # WebRTC parameters |
| | | # WebRTC settings |
| | | |
| | | # Disable support for the WebRTC protocol. |
| | | webrtcDisable: yes |
| | | # Allow publishing and reading streams with the WebRTC protocol. |
| | | webrtc: yes |
| | | # Address of the WebRTC listener. |
| | | webrtcAddress: :8889 |
| | | # Enable TLS/HTTPS on the WebRTC server. |
| | |
| | | password: '' |
| | | # List of public IP addresses that are to be used as a host. |
| | | # This is used typically for servers that are behind 1:1 D-NAT. |
| | | webrtcICEHostNAT1To1IPs: [] |
| | | webrtcICEHostNAT1To1IPs: [192.168.1.227] |
| | | # Address of a ICE UDP listener in format host:port. |
| | | # If filled, ICE traffic will pass through a single UDP port, |
| | | # allowing the deployment of the server inside a container or behind a NAT. |
| | | webrtcICEUDPMuxAddress: |
| | | webrtcICEUDPMuxAddress: 192.168.1.227:8189 |
| | | # Address of a ICE TCP listener in format host:port. |
| | | # If filled, ICE traffic will pass through a single TCP port, |
| | | # allowing the deployment of the server inside a container or behind a NAT. |
| | | # Setting this parameter forces usage of the TCP protocol, which is not |
| | | # Using this setting forces usage of the TCP protocol, which is not |
| | | # optimal for WebRTC. |
| | | webrtcICETCPMuxAddress: |
| | | webrtcICETCPMuxAddress: 192.168.1.227:8189 |
| | | |
| | | ############################################### |
| | | # Path parameters |
| | | # SRT settings |
| | | |
| | | # Allow publishing and reading streams with the SRT protocol. |
| | | srt: yes |
| | | # Address of the SRT listener. |
| | | srtAddress: :8890 |
| | | |
| | | ############################################### |
| | | # Path settings |
| | | |
| | | # These settings are path-dependent, and the map key is the name of the path. |
| | | # It's possible to use regular expressions by using a tilde as prefix. |
| | | # For example, "~^(test1|test2)$" will match both "test1" and "test2". |
| | | # For example, "~^prefix" will match all paths that start with "prefix". |
| | | # The settings under the path "all" are applied to all paths that do not match |
| | | # It's possible to use regular expressions by using a tilde as prefix, |
| | | # for example "~^(test1|test2)$" will match both "test1" and "test2", |
| | | # for example "~^prefix" will match all paths that start with "prefix". |
| | | # Settings under the path "all" are applied to all paths that do not match |
| | | # another entry. |
| | | paths: |
| | | all: |
| | | ############################################### |
| | | # General path settings |
| | | |
| | | # Source of the stream. This can be: |
| | | # * publisher -> the stream is published by a RTSP or RTMP client |
| | | # * publisher -> the stream is provided by a RTSP, RTMP, WebRTC or SRT client |
| | | # * rtsp://existing-url -> the stream is pulled from another RTSP server / camera |
| | | # * rtsps://existing-url -> the stream is pulled from another RTSP server / camera with RTSPS |
| | | # * rtmp://existing-url -> the stream is pulled from another RTMP server / camera |
| | | # * rtmps://existing-url -> the stream is pulled from another RTMP server / camera with RTMPS |
| | | # * http://existing-url/stream.m3u8 -> the stream is pulled from another HLS server |
| | | # * https://existing-url/stream.m3u8 -> the stream is pulled from another HLS server with HTTPS |
| | | # * udp://ip:port -> the stream is pulled from UDP, by listening on the specified IP and port |
| | | # * http://existing-url/stream.m3u8 -> the stream is pulled from another HLS server / camera |
| | | # * https://existing-url/stream.m3u8 -> the stream is pulled from another HLS server / camera with HTTPS |
| | | # * udp://ip:port -> the stream is pulled with UDP, by listening on the specified IP and port |
| | | # * srt://existing-url -> the stream is pulled from another SRT server / camera |
| | | # * whep://existing-url -> the stream is pulled from another WebRTC server / camera |
| | | # * wheps://existing-url -> the stream is pulled from another WebRTC server / camera with HTTPS |
| | | # * redirect -> the stream is provided by another path or server |
| | | # * rpiCamera -> the stream is provided by a Raspberry Pi Camera |
| | | source: publisher |
| | | |
| | | ############################################### |
| | | # General path parameters |
| | | |
| | | # If the source is a URL, and the source certificate is self-signed |
| | | # or invalid, you can provide the fingerprint of the certificate in order to |
| | | # validate it anyway. It can be obtained by running: |
| | |
| | | # If sourceOnDemand is "yes", the source will be closed when there are no |
| | | # readers connected and this amount of time has passed. |
| | | sourceOnDemandCloseAfter: 10s |
| | | # Maximum number of readers. Zero means no limit. |
| | | maxReaders: 0 |
| | | |
| | | ############################################### |
| | | # Authentication path parameters |
| | | # Authentication path settings |
| | | |
| | | # Username required to publish. |
| | | # SHA256-hashed values can be inserted with the "sha256:" prefix. |
| | |
| | | readIPs: [] |
| | | |
| | | ############################################### |
| | | # Publisher path parameters (when source is "publisher") |
| | | # Publisher path settings (when source is "publisher") |
| | | |
| | | # do not allow another client to disconnect the current publisher and publish in its place. |
| | | disablePublisherOverride: no |
| | | # allow another client to disconnect the current publisher and publish in its place. |
| | | overridePublisher: yes |
| | | # if no one is publishing, redirect readers to this path. |
| | | # It can be can be a relative path (i.e. /otherstream) or an absolute RTSP URL. |
| | | fallback: |
| | | |
| | | ############################################### |
| | | # RTSP path parameters (when source is a RTSP or a RTSPS URL) |
| | | # RTSP path settings (when source is a RTSP or a RTSPS URL) |
| | | |
| | | # protocol used to pull the stream. available values are "automatic", "udp", "multicast", "tcp". |
| | | sourceProtocol: automatic |
| | |
| | | rtspRangeStart: |
| | | |
| | | ############################################### |
| | | # Redirect path parameters (when source is "redirect") |
| | | # Redirect path settings (when source is "redirect") |
| | | |
| | | # RTSP URL which clients will be redirected to. |
| | | sourceRedirect: |
| | | |
| | | ############################################### |
| | | # Raspberry Pi Camera path parameters (when source is "rpiCamera") |
| | | # Raspberry Pi Camera path settings (when source is "rpiCamera") |
| | | |
| | | # ID of the camera |
| | | rpiCameraCamID: 0 |
| | |
| | | rpiCameraEV: 0 |
| | | # Region of interest, in format x,y,width,height |
| | | rpiCameraROI: |
| | | # whether to enable HDR on Raspberry Camera 3. |
| | | rpiCameraHDR: false |
| | | # tuning file |
| | | rpiCameraTuningFile: |
| | | # sensor mode, in format [width]:[height]:[bit-depth]:[packing] |
| | |
| | | rpiCameraTextOverlay: '%Y-%m-%d %H:%M:%S - MediaMTX' |
| | | |
| | | ############################################### |
| | | # external commands path parameters |
| | | # External commands path settings |
| | | |
| | | # Command to run when this path is initialized. |
| | | # This can be used to publish a stream and keep it always opened. |