From 05b1265492fdbf5d53d54ef1a09a5d42e60d01d3 Mon Sep 17 00:00:00 2001
From: aijinhui <aijinhui>
Date: 星期六, 21 十月 2023 16:59:28 +0800
Subject: [PATCH] 装油表修改

---
 lib/mediamtx/mediamtx.yml |  617 +++++++++++++++++++++++++++++++------------------------
 1 files changed, 346 insertions(+), 271 deletions(-)

diff --git a/lib/mediamtx/mediamtx.yml b/lib/mediamtx/mediamtx.yml
index 4be3390..53da72c 100644
--- a/lib/mediamtx/mediamtx.yml
+++ b/lib/mediamtx/mediamtx.yml
@@ -1,8 +1,12 @@
+###############################################
+# Global settings
+
+# Settings in this section are applied anywhere.
 
 ###############################################
-# General parameters
+# Global settings -> General
 
-# Sets the verbosity of the program; available values are "error", "warn", "info", "debug".
+# Verbosity of the program; available values are "error", "warn", "info", "debug".
 logLevel: info
 # Destinations of log messages; available values are "stdout", "file" and "syslog".
 logDestinations: [stdout]
@@ -13,10 +17,10 @@
 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
 
@@ -40,31 +44,35 @@
 # Enable the HTTP API.
 api: yes
 # Address of the API listener.
-apiAddress: 127.0.0.1:9997
+apiAddress: 112.98.126.2:9997
 
 # Enable Prometheus-compatible metrics.
 metrics: no
 # Address of the metrics listener.
-metricsAddress: 127.0.0.1:9998
+metricsAddress: 112.98.126.2:9998
 
 # Enable pprof-compatible endpoint to monitor performances.
 pprof: no
 # Address of the pprof listener.
-pprofAddress: 127.0.0.1:9999
+pprofAddress: 112.98.126.2:9999
 
 # Command to run when a client connects to the server.
-# Prepend ./ to run an executable in the current folder (example: "./ffmpeg")
 # This is terminated with SIGINT when a client disconnects from the server.
 # The following environment variables are available:
 # * RTSP_PORT: RTSP server port
+# * MTX_CONN_TYPE: connection type
+# * MTX_CONN_ID: connection ID
 runOnConnect:
 # Restart the command if it exits.
 runOnConnectRestart: no
+# Command to run when a client disconnects from the server.
+# Environment variables are the same of runOnConnect.
+runOnDisconnect:
 
 ###############################################
-# RTSP parameters
+# Global settings -> RTSP
 
-# Enable support for the RTSP protocol.
+# 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
@@ -77,19 +85,19 @@
 # Available values are "no", "strict", "optional".
 encryption: "no"
 # Address of the TCP/RTSP listener. This is needed only when encryption is "no" or "optional".
-rtspAddress: :7554
+rtspAddress: :8554
 # Address of the TCP/TLS/RTSPS listener. This is needed only when encryption is "strict" or "optional".
-rtspsAddress: :7322
+rtspsAddress: :8322
 # Address of the UDP/RTP listener. This is needed only when "udp" is in protocols.
-rtpAddress: :7000
+rtpAddress: :8000
 # Address of the UDP/RTCP listener. This is needed only when "udp" is in protocols.
-rtcpAddress: :7001
+rtcpAddress: :8001
 # IP range of all UDP-multicast listeners. This is needed only when "multicast" is in protocols.
 multicastIPRange: 224.1.0.0/16
 # Port of all UDP-multicast/RTP listeners. This is needed only when "multicast" is in protocols.
-multicastRTPPort: 7002
+multicastRTPPort: 8002
 # Port of all UDP-multicast/RTCP listeners. This is needed only when "multicast" is in protocols.
-multicastRTCPPort: 7003
+multicastRTCPPort: 8003
 # Path to the server key. This is needed only when encryption is "strict" or "optional".
 # This can be generated with:
 # openssl genrsa -out server.key 2048
@@ -102,9 +110,9 @@
 authMethods: [basic]
 
 ###############################################
-# RTMP parameters
+# Global settings -> RTMP
 
-# Enable support for the RTMP protocol.
+# 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
@@ -122,9 +130,9 @@
 rtmpServerCert: server.crt
 
 ###############################################
-# HLS parameters
+# Global settings -> HLS
 
-# Enable support for the HLS protocol.
+# Allow reading streams with the HLS protocol.
 hls: no
 # Address of the HLS listener.
 hlsAddress: :8888
@@ -178,9 +186,9 @@
 hlsDirectory: ''
 
 ###############################################
-# WebRTC parameters
+# Global settings -> WebRTC
 
-# Enable support for the WebRTC protocol.
+# Allow publishing and reading streams with the WebRTC protocol.
 webrtc: yes
 # Address of the WebRTC listener.
 webrtcAddress: :8889
@@ -206,15 +214,18 @@
   # STUN servers are used to obtain the public IP of server and clients. They are
   # needed when server and clients are on different LANs.
   # TURN/TURNS servers are needed when a direct connection between server and
-  # clients is not possible. All traffic is routed through them. stun:stun.l.google.com:19302
-- url: stun:192.168.1.15:3478
+  # clients is not possible. All traffic is routed through them.
+- url: stun:112.98.126.2:3478
   # if user is "AUTH_SECRET", then authentication is secret based.
   # the secret must be inserted into the password field.
-  username: ''
-  password: ''
+  username: 'admin'
+  password: '123456'
+# List of interfaces that will be used to gather IPs to send
+# to the counterpart to establish a connection.
+webrtcICEInterfaces: []
 # 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: [112.98.126.2]
 # 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.
@@ -222,260 +233,324 @@
 # 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: 112.98.126.2:1234
 
 ###############################################
-# SRT parameters
+# Global settings -> SRT
 
-# Enables support for the SRT protocol.
+# Allow publishing and reading streams with the SRT protocol.
 srt: yes
 # Address of the SRT listener.
 srtAddress: :8890
 
 ###############################################
-# Path parameters
+# Default path settings
 
-# These settings are path-dependent, and the map key is the name of the path.
+# Settings in "pathDefaults" are applied anywhere,
+# unless they are overridden in "paths".
+pathDefaults:
+
+  ###############################################
+  # Default path settings -> General
+
+  # Source of the stream. This can be:
+  # * 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 / 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
+  # 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:
+  # openssl s_client -connect source_ip:source_port </dev/null 2>/dev/null | sed -n '/BEGIN/,/END/p' > server.crt
+  # openssl x509 -in server.crt -noout -fingerprint -sha256 | cut -d "=" -f2 | tr -d ':'
+  sourceFingerprint:
+  # If the source is a URL, it will be pulled only when at least
+  # one reader is connected, saving bandwidth.
+  sourceOnDemand: no
+  # If sourceOnDemand is "yes", readers will be put on hold until the source is
+  # ready or until this amount of time has passed.
+  sourceOnDemandStartTimeout: 10s
+  # 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
+  # SRT encryption passphrase require to read from this path
+  srtReadPassphrase:
+
+  ###############################################
+  # Default path settings -> Recording
+
+  # Record streams to disk.
+  record: no
+  # Path of recording segments.
+  # Extension is added automatically.
+  # Available variables are %path (path name), %Y %m %d %H %M %S %f (time in strftime format)
+  recordPath: ./recordings/%path/%Y-%m-%d_%H-%M-%S-%f
+  # Format of recorded segments.
+  # Available formats are "fmp4" (fragmented MP4) and "mpegts" (MPEG-TS).
+  recordFormat: fmp4
+  # fMP4 segments are concatenation of small MP4 files (parts), each with this duration.
+  # MPEG-TS segments are concatenation of 188-bytes packets, flushed to disk with this period.
+  # When a system failure occurs, the last part gets lost.
+  # Therefore, the part duration is equal to the RPO (recovery point objective).
+  recordPartDuration: 100ms
+  # Minimum duration of each segment.
+  recordSegmentDuration: 1h
+  # Delete segments after this timespan.
+  # Set to 0s to disable automatic deletion.
+  recordDeleteAfter: 24h
+
+  ###############################################
+  # Default path settings -> Authentication
+
+  # Username required to publish.
+  # SHA256-hashed values can be inserted with the "sha256:" prefix.
+  publishUser:
+  # Password required to publish.
+  # SHA256-hashed values can be inserted with the "sha256:" prefix.
+  publishPass:
+  # IPs or networks (x.x.x.x/24) allowed to publish.
+  publishIPs: []
+
+  # Username required to read.
+  # SHA256-hashed values can be inserted with the "sha256:" prefix.
+  readUser:
+  # password required to read.
+  # SHA256-hashed values can be inserted with the "sha256:" prefix.
+  readPass:
+  # IPs or networks (x.x.x.x/24) allowed to read.
+  readIPs: []
+
+  ###############################################
+  # Default path settings -> Publisher source (when source is "publisher")
+
+  # 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:
+  # SRT encryption passphrase required to publish to this path
+  srtPublishPassphrase:
+
+  ###############################################
+  # Default path settings -> RTSP source (when source is a RTSP or a RTSPS URL)
+
+  # protocol used to pull the stream. available values are "automatic", "udp", "multicast", "tcp".
+  sourceProtocol: automatic
+  # support sources that don't provide server ports or use random server ports. This is a security issue
+  # and must be used only when interacting with sources that require it.
+  sourceAnyPortEnable: no
+  # range header to send to the source, in order to start streaming from the specified offset.
+  # available values:
+  # * clock: Absolute time
+  # * npt: Normal Play Time
+  # * smpte: SMPTE timestamps relative to the start of the recording
+  rtspRangeType:
+  # available values:
+  # * clock: UTC ISO 8601 combined date and time string, e.g. 20230812T120000Z
+  # * npt: duration such as "300ms", "1.5m" or "2h45m", valid time units are "ns", "us" (or "碌s"), "ms", "s", "m", "h"
+  # * smpte: duration such as "300ms", "1.5m" or "2h45m", valid time units are "ns", "us" (or "碌s"), "ms", "s", "m", "h"
+  rtspRangeStart:
+
+  ###############################################
+  # Default path settings -> Redirect source (when source is "redirect")
+
+  # RTSP URL which clients will be redirected to.
+  sourceRedirect:
+
+  ###############################################
+  # Default path settings -> Raspberry Pi Camera source (when source is "rpiCamera")
+
+  # ID of the camera
+  rpiCameraCamID: 0
+  # width of frames
+  rpiCameraWidth: 1920
+  # height of frames
+  rpiCameraHeight: 1080
+  # flip horizontally
+  rpiCameraHFlip: false
+  # flip vertically
+  rpiCameraVFlip: false
+  # brightness [-1, 1]
+  rpiCameraBrightness: 0
+  # contrast [0, 16]
+  rpiCameraContrast: 1
+  # saturation [0, 16]
+  rpiCameraSaturation: 1
+  # sharpness [0, 16]
+  rpiCameraSharpness: 1
+  # exposure mode.
+  # values: normal, short, long, custom
+  rpiCameraExposure: normal
+  # auto-white-balance mode.
+  # values: auto, incandescent, tungsten, fluorescent, indoor, daylight, cloudy, custom
+  rpiCameraAWB: auto
+  # denoise operating mode.
+  # values: off, cdn_off, cdn_fast, cdn_hq
+  rpiCameraDenoise: "off"
+  # fixed shutter speed, in microseconds.
+  rpiCameraShutter: 0
+  # metering mode of the AEC/AGC algorithm.
+  # values: centre, spot, matrix, custom
+  rpiCameraMetering: centre
+  # fixed gain
+  rpiCameraGain: 0
+  # EV compensation of the image [-10, 10]
+  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]
+  # bit-depth and packing are optional.
+  rpiCameraMode:
+  # frames per second
+  rpiCameraFPS: 30
+  # period between IDR frames
+  rpiCameraIDRPeriod: 60
+  # bitrate
+  rpiCameraBitrate: 1000000
+  # H264 profile
+  rpiCameraProfile: main
+  # H264 level
+  rpiCameraLevel: '4.1'
+  # Autofocus mode
+  # values: auto, manual, continuous
+  rpiCameraAfMode: auto
+  # Autofocus range
+  # values: normal, macro, full
+  rpiCameraAfRange: normal
+  # Autofocus speed
+  # values: normal, fast
+  rpiCameraAfSpeed: normal
+  # Lens position (for manual autofocus only), will be set to focus to a specific distance
+  # calculated by the following formula: d = 1 / value
+  # Examples: 0 moves the lens to infinity.
+  #           0.5 moves the lens to focus on objects 2m away.
+  #           2 moves the lens to focus on objects 50cm away.
+  rpiCameraLensPosition: 0.0
+  # Specifies the autofocus window, in the form x,y,width,height where the coordinates
+  # are given as a proportion of the entire image.
+  rpiCameraAfWindow:
+  # enables printing text on each frame.
+  rpiCameraTextOverlayEnable: false
+  # text that is printed on each frame.
+  # format is the one of the strftime() function.
+  rpiCameraTextOverlay: '%Y-%m-%d %H:%M:%S - MediaMTX'
+
+  ###############################################
+  # Default path settings -> Hooks
+
+  # Command to run when this path is initialized.
+  # This can be used to publish a stream when the server is launched.
+  # This is terminated with SIGINT when the program closes.
+  # The following environment variables are available:
+  # * MTX_PATH: path name
+  # * RTSP_PORT: RTSP server port
+  # * G1, G2, ...: regular expression groups, if path name is
+  #   a regular expression.
+  runOnInit:
+  # Restart the command if it exits.
+  runOnInitRestart: no
+
+  # Command to run when this path is requested by a reader.
+  # This can be used to publish a stream on demand.
+  # This is terminated with SIGINT when the path is not requested anymore.
+  # The following environment variables are available:
+  # * MTX_PATH: path name
+  # * RTSP_PORT: RTSP server port
+  # * G1, G2, ...: regular expression groups, if path name is
+  #   a regular expression.
+  runOnDemand:
+  # Restart the command if it exits.
+  runOnDemandRestart: no
+  # Readers will be put on hold until the runOnDemand command starts publishing
+  # or until this amount of time has passed.
+  runOnDemandStartTimeout: 10s
+  # The command will be closed when there are no
+  # readers connected and this amount of time has passed.
+  runOnDemandCloseAfter: 10s
+
+  # Command to run when the stream is ready to be read, whenever it is
+  # published by a client or pulled from a server / camera.
+  # This is terminated with SIGINT when the stream is not ready anymore.
+  # The following environment variables are available:
+  # * MTX_PATH: path name
+  # * RTSP_PORT: RTSP server port
+  # * G1, G2, ...: regular expression groups, if path name is
+  #   a regular expression.
+  # * MTX_SOURCE_TYPE: source type
+  # * MTX_SOURCE_ID: source ID
+  runOnReady:
+  # Restart the command if it exits.
+  runOnReadyRestart: no
+  # Command to run when the stream is not available anymore.
+  # Environment variables are the same of runOnReady.
+  runOnNotReady:
+
+  # Command to run when a client starts reading.
+  # This is terminated with SIGINT when a client stops reading.
+  # The following environment variables are available:
+  # * MTX_PATH: path name
+  # * RTSP_PORT: RTSP server port
+  # * G1, G2, ...: regular expression groups, if path name is
+  #   a regular expression.
+  # * MTX_READER_TYPE: reader type
+  # * MTX_READER_ID: reader ID
+  runOnRead:
+  # Restart the command if it exits.
+  runOnReadRestart: no
+  # Command to run when a client stops reading.
+  # Environment variables are the same of runOnRead.
+  runOnUnread:
+
+  # Command to run when a recording segment is created.
+  # The following environment variables are available:
+  # * MTX_PATH: path name
+  # * RTSP_PORT: RTSP server port
+  # * G1, G2, ...: regular expression groups, if path name is
+  #   a regular expression.
+  # * MTX_SEGMENT_PATH: segment file path
+  runOnRecordSegmentCreate:
+
+  # Command to run when a recording segment is complete.
+  # The following environment variables are available:
+  # * MTX_PATH: path name
+  # * RTSP_PORT: RTSP server port
+  # * G1, G2, ...: regular expression groups, if path name is
+  #   a regular expression.
+  # * MTX_SEGMENT_PATH: segment file path
+  runOnRecordSegmentComplete:
+
+###############################################
+# Path settings
+
+# Settings in "paths" are applied to specific paths, and the map key
+# is the name of the path.
+# Any setting in "pathDefaults" can be overridden here.
 # 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:
-    # Source of the stream. This can be:
-    # * publisher -> the stream is published 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 with UDP, by listening on the specified IP and port
-    # * srt://existing-url -> the stream is pulled from another SRT server
-    # * whep://existing-url -> the stream is pulled from another WebRTC server
-    # * wheps://existing-url -> the stream is pulled from another WebRTC server with HTTPS
-    # * redirect -> the stream is provided by another path or server
-    # * rpiCamera -> the stream is provided by a Raspberry Pi Camera
-    source: publisher
+  # example:
+  # my_camera:
+  #   source: rtsp://my_camera
 
-    ###############################################
-    # 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:
-    # openssl s_client -connect source_ip:source_port </dev/null 2>/dev/null | sed -n '/BEGIN/,/END/p' > server.crt
-    # openssl x509 -in server.crt -noout -fingerprint -sha256 | cut -d "=" -f2 | tr -d ':'
-    sourceFingerprint:
-    # If the source is a URL, it will be pulled only when at least
-    # one reader is connected, saving bandwidth.
-    sourceOnDemand: no
-    # If sourceOnDemand is "yes", readers will be put on hold until the source is
-    # ready or until this amount of time has passed.
-    sourceOnDemandStartTimeout: 10s
-    # 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
-
-    # Username required to publish.
-    # SHA256-hashed values can be inserted with the "sha256:" prefix.
-    publishUser:
-    # Password required to publish.
-    # SHA256-hashed values can be inserted with the "sha256:" prefix.
-    publishPass:
-    # IPs or networks (x.x.x.x/24) allowed to publish.
-    publishIPs: []
-
-    # Username required to read.
-    # SHA256-hashed values can be inserted with the "sha256:" prefix.
-    readUser:
-    # password required to read.
-    # SHA256-hashed values can be inserted with the "sha256:" prefix.
-    readPass:
-    # IPs or networks (x.x.x.x/24) allowed to read.
-    readIPs: []
-
-    ###############################################
-    # Publisher path parameters (when source is "publisher")
-
-    # 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)
-
-    # protocol used to pull the stream. available values are "automatic", "udp", "multicast", "tcp".
-    sourceProtocol: automatic
-    # support sources that don't provide server ports or use random server ports. This is a security issue
-    # and must be used only when interacting with sources that require it.
-    sourceAnyPortEnable: no
-    # range header to send to the source, in order to start streaming from the specified offset.
-    # available values:
-    # * clock: Absolute time
-    # * npt: Normal Play Time
-    # * smpte: SMPTE timestamps relative to the start of the recording
-    rtspRangeType:
-    # available values:
-    # * clock: UTC ISO 8601 combined date and time string, e.g. 20230812T120000Z
-    # * npt: duration such as "300ms", "1.5m" or "2h45m", valid time units are "ns", "us" (or "碌s"), "ms", "s", "m", "h"
-    # * smpte: duration such as "300ms", "1.5m" or "2h45m", valid time units are "ns", "us" (or "碌s"), "ms", "s", "m", "h"
-    rtspRangeStart:
-
-    ###############################################
-    # Redirect path parameters (when source is "redirect")
-
-    # RTSP URL which clients will be redirected to.
-    sourceRedirect:
-
-    ###############################################
-    # Raspberry Pi Camera path parameters (when source is "rpiCamera")
-
-    # ID of the camera
-    rpiCameraCamID: 0
-    # width of frames
-    rpiCameraWidth: 1920
-    # height of frames
-    rpiCameraHeight: 1080
-    # flip horizontally
-    rpiCameraHFlip: false
-    # flip vertically
-    rpiCameraVFlip: false
-    # brightness [-1, 1]
-    rpiCameraBrightness: 0
-    # contrast [0, 16]
-    rpiCameraContrast: 1
-    # saturation [0, 16]
-    rpiCameraSaturation: 1
-    # sharpness [0, 16]
-    rpiCameraSharpness: 1
-    # exposure mode.
-    # values: normal, short, long, custom
-    rpiCameraExposure: normal
-    # auto-white-balance mode.
-    # values: auto, incandescent, tungsten, fluorescent, indoor, daylight, cloudy, custom
-    rpiCameraAWB: auto
-    # denoise operating mode.
-    # values: off, cdn_off, cdn_fast, cdn_hq
-    rpiCameraDenoise: "off"
-    # fixed shutter speed, in microseconds.
-    rpiCameraShutter: 0
-    # metering mode of the AEC/AGC algorithm.
-    # values: centre, spot, matrix, custom
-    rpiCameraMetering: centre
-    # fixed gain
-    rpiCameraGain: 0
-    # EV compensation of the image [-10, 10]
-    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]
-    # bit-depth and packing are optional.
-    rpiCameraMode:
-    # frames per second
-    rpiCameraFPS: 30
-    # period between IDR frames
-    rpiCameraIDRPeriod: 60
-    # bitrate
-    rpiCameraBitrate: 1000000
-    # H264 profile
-    rpiCameraProfile: main
-    # H264 level
-    rpiCameraLevel: '4.1'
-    # Autofocus mode
-    # values: auto, manual, continuous
-    rpiCameraAfMode: auto
-    # Autofocus range
-    # values: normal, macro, full
-    rpiCameraAfRange: normal
-    # Autofocus speed
-    # values: normal, fast
-    rpiCameraAfSpeed: normal
-    # Lens position (for manual autofocus only), will be set to focus to a specific distance
-    # calculated by the following formula: d = 1 / value
-    # Examples: 0 moves the lens to infinity.
-    #           0.5 moves the lens to focus on objects 2m away.
-    #           2 moves the lens to focus on objects 50cm away.
-    rpiCameraLensPosition: 0.0
-    # Specifies the autofocus window, in the form x,y,width,height where the coordinates
-    # are given as a proportion of the entire image.
-    rpiCameraAfWindow:
-    # enables printing text on each frame.
-    rpiCameraTextOverlayEnable: false
-    # text that is printed on each frame.
-    # format is the one of the strftime() function.
-    rpiCameraTextOverlay: '%Y-%m-%d %H:%M:%S - MediaMTX'
-
-    ###############################################
-    # external commands path parameters
-
-    # Command to run when this path is initialized.
-    # This can be used to publish a stream and keep it always opened.
-    # Prepend ./ to run an executable in the current folder (example: "./ffmpeg")
-    # This is terminated with SIGINT when the program closes.
-    # The following environment variables are available:
-    # * MTX_PATH: path name
-    # * RTSP_PORT: RTSP server port
-    # * G1, G2, ...: regular expression groups, if path name is
-    #   a regular expression.
-    runOnInit:
-    # Restart the command if it exits.
-    runOnInitRestart: no
-
-    # Command to run when this path is requested.
-    # This can be used to publish a stream on demand.
-    # Prepend ./ to run an executable in the current folder (example: "./ffmpeg")
-    # This is terminated with SIGINT when the path is not requested anymore.
-    # The following environment variables are available:
-    # * MTX_PATH: path name
-    # * RTSP_PORT: RTSP server port
-    # * G1, G2, ...: regular expression groups, if path name is
-    #   a regular expression.
-    runOnDemand:
-    # Restart the command if it exits.
-    runOnDemandRestart: no
-    # Readers will be put on hold until the runOnDemand command starts publishing
-    # or until this amount of time has passed.
-    runOnDemandStartTimeout: 10s
-    # The command will be closed when there are no
-    # readers connected and this amount of time has passed.
-    runOnDemandCloseAfter: 10s
-
-    # Command to run when the stream is ready to be read, whether it is
-    # published by a client or pulled from a server / camera.
-    # Prepend ./ to run an executable in the current folder (example: "./ffmpeg")
-    # This is terminated with SIGINT when the stream is not ready anymore.
-    # The following environment variables are available:
-    # * MTX_PATH: path name
-    # * RTSP_PORT: RTSP server port
-    # * G1, G2, ...: regular expression groups, if path name is
-    #   a regular expression.
-    runOnReady:
-    # Restart the command if it exits.
-    runOnReadyRestart: no
-
-    # Command to run when a clients starts reading.
-    # Prepend ./ to run an executable in the current folder (example: "./ffmpeg")
-    # This is terminated with SIGINT when a client stops reading.
-    # The following environment variables are available:
-    # * MTX_PATH: path name
-    # * RTSP_PORT: RTSP server port
-    # * G1, G2, ...: regular expression groups, if path name is
-    #   a regular expression.
-    runOnRead:
-    # Restart the command if it exits.
-    runOnReadRestart: no
+  # Settings under path "all_others" are applied to all paths that
+  # do not match another entry.
+  all_others:

--
Gitblit v1.9.3