From 57afd4e0f4250047ba5ce3ea7a89820d1ce74bdc Mon Sep 17 00:00:00 2001 From: Alessandro Ros Date: Thu, 30 Apr 2026 12:22:57 +0200 Subject: [PATCH] docs: move codecs in specific protocol pages (#5713) --- docs/2-features/03-publish.md | 26 +++++++++---------- docs/2-features/04-read.md | 14 +++++----- docs/3-publish/01-srt-clients.md | 6 +++++ docs/3-publish/02-srt-cameras-and-servers.md | 6 +++++ docs/3-publish/03-webrtc-clients.md | 5 ++++ docs/3-publish/04-webrtc-servers.md | 5 ++++ docs/3-publish/05-rtsp-clients.md | 6 +++++ docs/3-publish/06-rtsp-cameras-and-servers.md | 6 +++++ docs/3-publish/07-rtmp-clients.md | 5 ++++ docs/3-publish/08-rtmp-cameras-and-servers.md | 5 ++++ docs/3-publish/09-hls-cameras-and-servers.md | 6 +++++ docs/3-publish/10-mpeg-ts.md | 6 +++++ docs/3-publish/11-rtp.md | 6 +++++ docs/4-read/01-srt.md | 6 +++++ docs/4-read/02-webrtc.md | 6 +++++ docs/4-read/03-rtsp.md | 6 +++++ docs/4-read/04-rtmp.md | 5 ++++ docs/4-read/05-hls.md | 6 +++++ 18 files changed, 111 insertions(+), 20 deletions(-) diff --git a/docs/2-features/03-publish.md b/docs/2-features/03-publish.md index b1f59e62..14bd4bbb 100644 --- a/docs/2-features/03-publish.md +++ b/docs/2-features/03-publish.md @@ -2,19 +2,19 @@ Live streams can be published to the server with the following protocols and codecs: -| protocol | variants | codecs | -| ----------------------------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| [SRT clients](../3-publish/01-srt-clients.md) | | **Video**: H265, H264, MPEG-4 Video (H263, Xvid), MPEG-1/2 Video
**Audio**: Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3
**Other**: KLV | -| [SRT cameras and servers](../3-publish/02-srt-cameras-and-servers.md) | | **Video**: H265, H264, MPEG-4 Video (H263, Xvid), MPEG-1/2 Video
**Audio**: Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3
**Other**: KLV | -| [WebRTC clients](../3-publish/03-webrtc-clients.md) | WHIP | **Video**: AV1, VP9, VP8, H265, H264
**Audio**: Opus, G722, G711 (PCMA, PCMU) | -| [WebRTC servers](../3-publish/04-webrtc-servers.md) | WHEP | **Video**: AV1, VP9, VP8, H265, H264
**Audio**: Opus, G722, G711 (PCMA, PCMU) | -| [RTSP clients](../3-publish/05-rtsp-clients.md) | UDP, TCP, RTSPS | **Video**: AV1, VP9, VP8, H265, H264, MPEG-4 Video (H263, Xvid), MPEG-1/2 Video, MJPEG
**Audio**: Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3, G726, G722, G711 (PCMA, PCMU), LPCM
**Other**: KLV, MPEG-TS, any RTP-compatible codec | -| [RTSP cameras and servers](../3-publish/06-rtsp-cameras-and-servers.md) | UDP, UDP-Multicast, TCP, RTSPS | **Video**: AV1, VP9, VP8, H265, H264, MPEG-4 Video (H263, Xvid), MPEG-1/2 Video, MJPEG
**Audio**: Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3, G726, G722, G711 (PCMA, PCMU), LPCM
**Other**: KLV, MPEG-TS, any RTP-compatible codec | -| [RTMP clients](../3-publish/07-rtmp-clients.md) | RTMP, RTMPS, Enhanced RTMP | **Video**: AV1, VP9, H265, H264
**Audio**: Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3, G711 (PCMA, PCMU), LPCM | -| [RTMP cameras and servers](../3-publish/08-rtmp-cameras-and-servers.md) | RTMP, RTMPS, Enhanced RTMP | **Video**: AV1, VP9, H265, H264
**Audio**: Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3, G711 (PCMA, PCMU), LPCM | -| [HLS cameras and servers](../3-publish/09-hls-cameras-and-servers.md) | Low-Latency HLS, MP4-based HLS, MPEG-TS-based HLS | **Video**: AV1, VP9, H265, H264
**Audio**: Opus, MPEG-4 Audio (AAC)
**Other**: KLV (MPEG-TS-based HLS only) | -| [MPEG-TS](../3-publish/10-mpeg-ts.md) | MPEG-TS over UDP, MPEG-TS over Unix socket | **Video**: H265, H264, MPEG-4 Video (H263, Xvid), MPEG-1/2 Video
**Audio**: Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3
**Other**: KLV | -| [RTP](../3-publish/11-rtp.md) | RTP over UDP | **Video**: AV1, VP9, VP8, H265, H264, MPEG-4 Video (H263, Xvid), MPEG-1/2 Video, M-JPEG
**Audio**: Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3, G726, G722, G711 (PCMA, PCMU), LPCM
**Other**: KLV, MPEG-TS, any RTP-compatible codec | +| protocol | variants | +| ----------------------------------------------------------------------- | ------------------------------------------------- | +| [SRT clients](../3-publish/01-srt-clients.md) | | +| [SRT cameras and servers](../3-publish/02-srt-cameras-and-servers.md) | | +| [WebRTC clients](../3-publish/03-webrtc-clients.md) | WHIP | +| [WebRTC servers](../3-publish/04-webrtc-servers.md) | WHEP | +| [RTSP clients](../3-publish/05-rtsp-clients.md) | UDP, TCP, RTSPS | +| [RTSP cameras and servers](../3-publish/06-rtsp-cameras-and-servers.md) | UDP, UDP-Multicast, TCP, RTSPS | +| [RTMP clients](../3-publish/07-rtmp-clients.md) | RTMP, RTMPS, Enhanced RTMP | +| [RTMP cameras and servers](../3-publish/08-rtmp-cameras-and-servers.md) | RTMP, RTMPS, Enhanced RTMP | +| [HLS cameras and servers](../3-publish/09-hls-cameras-and-servers.md) | Low-Latency HLS, MP4-based HLS, MPEG-TS-based HLS | +| [MPEG-TS](../3-publish/10-mpeg-ts.md) | MPEG-TS over UDP, MPEG-TS over Unix socket | +| [RTP](../3-publish/11-rtp.md) | RTP over UDP | We provide instructions for publishing with the following devices: diff --git a/docs/2-features/04-read.md b/docs/2-features/04-read.md index 8e03f223..aab4b87f 100644 --- a/docs/2-features/04-read.md +++ b/docs/2-features/04-read.md @@ -2,13 +2,13 @@ Live streams can be read from the server with the following protocols and codecs: -| protocol | variants | codecs | -| ---------------------------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| [SRT clients](../4-read/01-srt.md) | | **Video**: H265, H264, MPEG-4 Video (H263, Xvid), MPEG-1/2 Video
**Audio**: Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3
**Other**: KLV | -| [WebRTC clients](../4-read/02-webrtc.md) | WHEP | **Video**: AV1, VP9, VP8, H265, H264
**Audio**: Opus, G722, G711 (PCMA, PCMU)
**Other**: KLV | -| [RTSP clients](../4-read/03-rtsp.md) | UDP, UDP-Multicast, TCP, RTSPS | **Video**: AV1, VP9, VP8, H265, H264, MPEG-4 Video (H263, Xvid), MPEG-1/2 Video, M-JPEG
**Audio**: Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3, G726, G722, G711 (PCMA, PCMU), LPCM
**Other**: KLV, MPEG-TS, any RTP-compatible codec | -| [RTMP clients](../4-read/04-rtmp.md) | RTMP, RTMPS, Enhanced RTMP | **Video**: AV1, VP9, H265, H264
**Audio**: Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3, G711 (PCMA, PCMU), LPCM | -| [HLS](../4-read/05-hls.md) | Low-Latency HLS, MP4-based HLS, MPEG-TS-based HLS | **Video**: AV1, VP9, H265, H264
**Audio**: Opus, MPEG-4 Audio (AAC)
**Other**: KLV (MPEG-TS-based HLS only) | +| protocol | variants | +| ---------------------------------------- | ------------------------------------------------- | +| [SRT clients](../4-read/01-srt.md) | | +| [WebRTC clients](../4-read/02-webrtc.md) | WHEP | +| [RTSP clients](../4-read/03-rtsp.md) | UDP, UDP-Multicast, TCP, RTSPS | +| [RTMP clients](../4-read/04-rtmp.md) | RTMP, RTMPS, Enhanced RTMP | +| [HLS](../4-read/05-hls.md) | Low-Latency HLS, MP4-based HLS, MPEG-TS-based HLS | We provide instructions for reading with the following software: diff --git a/docs/3-publish/01-srt-clients.md b/docs/3-publish/01-srt-clients.md index 71ccda5b..aefaca2d 100644 --- a/docs/3-publish/01-srt-clients.md +++ b/docs/3-publish/01-srt-clients.md @@ -1,5 +1,11 @@ # SRT clients +| | supported codecs | +| ----- | ----------------------------------------------------- | +| video | H265, H264, MPEG-4 Video (H263, Xvid), MPEG-1/2 Video | +| audio | Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3 | +| other | KLV | + SRT is a protocol that allows to publish and read live data stream, providing encryption, integrity and a retransmission mechanism. It is usually used to transfer media streams encoded with MPEG-TS. In order to publish a stream to the server with the SRT protocol, use this URL: ``` diff --git a/docs/3-publish/02-srt-cameras-and-servers.md b/docs/3-publish/02-srt-cameras-and-servers.md index 064b8117..1183bb99 100644 --- a/docs/3-publish/02-srt-cameras-and-servers.md +++ b/docs/3-publish/02-srt-cameras-and-servers.md @@ -1,5 +1,11 @@ # SRT cameras and servers +| | supported codecs | +| ----- | ----------------------------------------------------- | +| video | H265, H264, MPEG-4 Video (H263, Xvid), MPEG-1/2 Video | +| audio | Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3 | +| other | KLV | + In order to ingest a SRT stream from a remote server, camera or client in listening mode (i.e. with `mode=listener` appended to the URL), add the corresponding URL into the `source` parameter of a path: ```yml diff --git a/docs/3-publish/03-webrtc-clients.md b/docs/3-publish/03-webrtc-clients.md index 38ba9953..7918b827 100644 --- a/docs/3-publish/03-webrtc-clients.md +++ b/docs/3-publish/03-webrtc-clients.md @@ -1,5 +1,10 @@ # WebRTC clients +| | supported codecs | +| ----- | ----------------------------- | +| video | AV1, VP9, VP8, H265, H264 | +| audio | Opus, G722, G711 (PCMA, PCMU) | + WebRTC is an API that makes use of a set of protocols and methods to connect two clients together and allow them to exchange live media or data streams. You can publish a stream with WebRTC and a web browser by visiting: ``` diff --git a/docs/3-publish/04-webrtc-servers.md b/docs/3-publish/04-webrtc-servers.md index f0cd447b..2c996498 100644 --- a/docs/3-publish/04-webrtc-servers.md +++ b/docs/3-publish/04-webrtc-servers.md @@ -1,5 +1,10 @@ # WebRTC servers +| | supported codecs | +| ----- | ----------------------------- | +| video | AV1, VP9, VP8, H265, H264 | +| audio | Opus, G722, G711 (PCMA, PCMU) | + In order to ingest a WebRTC stream from a remote server, add the corresponding WHEP URL into the `source` parameter of a path: ```yml diff --git a/docs/3-publish/05-rtsp-clients.md b/docs/3-publish/05-rtsp-clients.md index fab683d6..0df11905 100644 --- a/docs/3-publish/05-rtsp-clients.md +++ b/docs/3-publish/05-rtsp-clients.md @@ -1,5 +1,11 @@ # RTSP clients +| | supported codecs | +| ----- | ----------------------------------------------------------------------------------------- | +| video | AV1, VP9, VP8, H265, H264, MPEG-4 Video (H263, Xvid), MPEG-1/2 Video, MJPEG | +| audio | Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3, G726, G722, G711 (PCMA, PCMU), LPCM | +| other | KLV, MPEG-TS, any RTP-compatible codec | + RTSP is a protocol that allows to publish and read streams. It supports several underlying transport protocols and encryption. In order to publish a stream to the server with the RTSP protocol, use this URL: ``` diff --git a/docs/3-publish/06-rtsp-cameras-and-servers.md b/docs/3-publish/06-rtsp-cameras-and-servers.md index 3a00653f..e0f91a49 100644 --- a/docs/3-publish/06-rtsp-cameras-and-servers.md +++ b/docs/3-publish/06-rtsp-cameras-and-servers.md @@ -1,5 +1,11 @@ # RTSP cameras and servers +| | supported codecs | +| ----- | ----------------------------------------------------------------------------------------- | +| video | AV1, VP9, VP8, H265, H264, MPEG-4 Video (H263, Xvid), MPEG-1/2 Video, MJPEG | +| audio | Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3, G726, G722, G711 (PCMA, PCMU), LPCM | +| other | KLV, MPEG-TS, any RTP-compatible codec | + Most IP cameras expose their video stream by using a RTSP server that is embedded into the camera itself. In particular, cameras that are compliant with ONVIF profile S or T meet this requirement. You can use _MediaMTX_ to connect to one or several existing RTSP servers and read their media streams: ```yml diff --git a/docs/3-publish/07-rtmp-clients.md b/docs/3-publish/07-rtmp-clients.md index fe32d5f1..0f84266d 100644 --- a/docs/3-publish/07-rtmp-clients.md +++ b/docs/3-publish/07-rtmp-clients.md @@ -1,5 +1,10 @@ # RTMP clients +| | supported codecs | +| ----- | ----------------------------------------------------------------------------- | +| video | AV1, VP9, H265, H264 | +| audio | Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3, G711 (PCMA, PCMU), LPCM | + RTMP is a protocol that allows to read and publish streams. It supports encryption, read [RTMP-specific features](../2-features/28-rtmp-specific-features.md). Streams can be published to the server by using the URL: ``` diff --git a/docs/3-publish/08-rtmp-cameras-and-servers.md b/docs/3-publish/08-rtmp-cameras-and-servers.md index a6251042..c66c340f 100644 --- a/docs/3-publish/08-rtmp-cameras-and-servers.md +++ b/docs/3-publish/08-rtmp-cameras-and-servers.md @@ -1,5 +1,10 @@ # RTMP cameras and servers +| | supported codecs | +| ----- | ----------------------------------------------------------------------------- | +| video | AV1, VP9, H265, H264 | +| audio | Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3, G711 (PCMA, PCMU), LPCM | + You can use _MediaMTX_ to connect to one or several existing RTMP servers and read their media streams: ```yml diff --git a/docs/3-publish/09-hls-cameras-and-servers.md b/docs/3-publish/09-hls-cameras-and-servers.md index 59809d07..d746586b 100644 --- a/docs/3-publish/09-hls-cameras-and-servers.md +++ b/docs/3-publish/09-hls-cameras-and-servers.md @@ -1,5 +1,11 @@ # HLS cameras and servers +| | supported codecs | +| ----- | ---------------------------- | +| video | AV1, VP9, H265, H264 | +| audio | Opus, MPEG-4 Audio (AAC) | +| other | KLV (MPEG-TS-based HLS only) | + HLS is a streaming protocol that works by splitting streams into segments, and by serving these segments and a playlist with the HTTP protocol. You can use _MediaMTX_ to connect to one or several existing HLS servers and read their media streams: ```yml diff --git a/docs/3-publish/10-mpeg-ts.md b/docs/3-publish/10-mpeg-ts.md index 6ec77a65..3271b80e 100644 --- a/docs/3-publish/10-mpeg-ts.md +++ b/docs/3-publish/10-mpeg-ts.md @@ -1,5 +1,11 @@ # MPEG-TS +| | supported codecs | +| ----- | ----------------------------------------------------- | +| video | H265, H264, MPEG-4 Video (H263, Xvid), MPEG-1/2 Video | +| audio | Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3 | +| other | KLV | + The server supports ingesting MPEG-TS streams, shipped in two different ways (UDP packets or Unix sockets). In order to read a UDP MPEG-TS stream, edit `mediamtx.yml` and replace everything inside section `paths` with the following content: diff --git a/docs/3-publish/11-rtp.md b/docs/3-publish/11-rtp.md index f14bb7b9..b77c4496 100644 --- a/docs/3-publish/11-rtp.md +++ b/docs/3-publish/11-rtp.md @@ -1,5 +1,11 @@ # RTP +| | supported codecs | +| ----- | ----------------------------------------------------------------------------------------- | +| video | AV1, VP9, VP8, H265, H264, MPEG-4 Video (H263, Xvid), MPEG-1/2 Video, M-JPEG | +| audio | Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3, G726, G722, G711 (PCMA, PCMU), LPCM | +| other | KLV, MPEG-TS, any RTP-compatible codec | + The server supports ingesting RTP streams, transmitted with UDP packets. In order to read a UDP RTP stream, edit `mediamtx.yml` and replace everything inside section `paths` with the following content: diff --git a/docs/4-read/01-srt.md b/docs/4-read/01-srt.md index 41779af2..aafcd8e5 100644 --- a/docs/4-read/01-srt.md +++ b/docs/4-read/01-srt.md @@ -1,5 +1,11 @@ # SRT clients +| | supported codecs | +| ----- | ----------------------------------------------------- | +| video | H265, H264, MPEG-4 Video (H263, Xvid), MPEG-1/2 Video | +| audio | Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3 | +| other | KLV | + SRT is a protocol that allows to publish and read live data stream, providing encryption, integrity and a retransmission mechanism. It is usually used to transfer media streams encoded with MPEG-TS. In order to read a stream from the server with the SRT protocol, use this URL: ``` diff --git a/docs/4-read/02-webrtc.md b/docs/4-read/02-webrtc.md index ddb48870..e8fa00f0 100644 --- a/docs/4-read/02-webrtc.md +++ b/docs/4-read/02-webrtc.md @@ -1,5 +1,11 @@ # WebRTC clients +| | supported codecs | +| ----- | ----------------------------- | +| video | AV1, VP9, VP8, H265, H264 | +| audio | Opus, G722, G711 (PCMA, PCMU) | +| other | KLV | + WebRTC is an API that makes use of a set of protocols and methods to connect two clients together and allow them to exchange live media or data streams. You can read a stream with WebRTC and a web browser by visiting: ``` diff --git a/docs/4-read/03-rtsp.md b/docs/4-read/03-rtsp.md index 3c1cb357..2e0e380f 100644 --- a/docs/4-read/03-rtsp.md +++ b/docs/4-read/03-rtsp.md @@ -1,5 +1,11 @@ # RTSP clients +| | supported codecs | +| ----- | ----------------------------------------------------------------------------------------- | +| video | AV1, VP9, VP8, H265, H264, MPEG-4 Video (H263, Xvid), MPEG-1/2 Video, M-JPEG | +| audio | Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3, G726, G722, G711 (PCMA, PCMU), LPCM | +| other | KLV, MPEG-TS, any RTP-compatible codec | + RTSP is a protocol that allows to publish and read streams. It supports several underlying transport protocols and encryption (read [RTSP-specific features](../2-features/27-rtsp-specific-features.md)). In order to read a stream with the RTSP protocol, use this URL: ``` diff --git a/docs/4-read/04-rtmp.md b/docs/4-read/04-rtmp.md index 555847cd..307d228e 100644 --- a/docs/4-read/04-rtmp.md +++ b/docs/4-read/04-rtmp.md @@ -1,5 +1,10 @@ # RTMP clients +| | supported codecs | +| ----- | ----------------------------------------------------------------------------- | +| video | AV1, VP9, H265, H264 | +| audio | Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3, G711 (PCMA, PCMU), LPCM | + RTMP is a protocol that allows to read and publish streams. It supports encryption, read [RTMP-specific features](../2-features/28-rtmp-specific-features.md). Streams can be read from the server by using the URL: ``` diff --git a/docs/4-read/05-hls.md b/docs/4-read/05-hls.md index 228795a4..90c31a5c 100644 --- a/docs/4-read/05-hls.md +++ b/docs/4-read/05-hls.md @@ -1,5 +1,11 @@ # HLS +| | supported codecs | +| ----- | ---------------------------- | +| video | AV1, VP9, H265, H264 | +| audio | Opus, MPEG-4 Audio (AAC) | +| other | KLV (MPEG-TS-based HLS only) | + HLS is a protocol that works by splitting streams into segments, and by serving these segments and a playlist with the HTTP protocol. You can use _MediaMTX_ to generate an HLS stream, that is accessible through a web page: ```