From e614513b9752b9565d1998e9b24f38e8f5fba700 Mon Sep 17 00:00:00 2001 From: Alex X Date: Sun, 11 Jan 2026 19:57:52 +0300 Subject: [PATCH] Fix formats table in readme --- pkg/README.md | 122 +++++++++++++++++++++++++------------------------- 1 file changed, 60 insertions(+), 62 deletions(-) diff --git a/pkg/README.md b/pkg/README.md index b027ed90..479dcce3 100644 --- a/pkg/README.md +++ b/pkg/README.md @@ -10,51 +10,49 @@ Some formats and protocols go2rtc supports exclusively. They have no equivalent - Codecs can be incoming - **Recevers codecs** - Codecs can be outgoing (two way audio) - **Senders codecs** -| Group | Format | Protocols | Ingress | Recevers codecs | Senders codecs | Example | -|------------|------------|---------------|---------|------------------------------|--------------------|---------------| -| Devices | alsa | pipe | | | pcm | `alsa:` | -| Devices | v4l2 | pipe | | | | | -| Files | adts | http,tcp,pipe | http | aac | | `http:` | -| Files | flv | http,tcp,pipe | http | h264,aac | | `http:` | -| Files | h264 | http,tcp,pipe | http | h264 | | `http:` | -| Files | hevc | http,tcp,pipe | http | hevc | | `http:` | -| Files | hls | http | | h264,h265,aac,opus | | `http:` | -| Files | mjpeg | http,tcp,pipe | http | mjpeg | | `http:` | -| Files | mpegts | http,tcp,pipe | http | h264,hevc,aac,opus | | `http:` | -| Files | mp4 | | | | | | -| Files | wav | http,tcp,pipe | http | pcm_alaw,pcm_mulaw | | `http:` | -| Net (pub) | mpjpeg | http,tcp,pipe | http | mjpeg | | `http:` | -| Net (pub) | onvif | rtsp | | | | | -| Net (pub) | rtmp | rtmp | rtmp | h264,aac | | `rtmp:` | -| Net (pub) | rtsp | rtsp,ws | rtsp | h264,hevc,aac,pcm*,opus | pcm*,opus | `rtsp:` | -| Net (pub) | webrtc* | webrtc | webrtc | h264,pcm_alaw,pcm_mulaw,opus | pcm_alaw,pcm_mulaw | `webrtc:` | -| Net (pub) | y4m | http,tcp,pipe | http | rawvideo | | `http:` | -| Net (priv) | bubble | http | | h264,hevc,pcm_alaw | | `bubble:` | -| Net (priv) | doorbird | http | | | | | -| Net (priv) | dvrip | tcp | | h264,hevc,pcm_alaw,pcm_mulaw | pcm_alaw | `dvrip:` | -| Net (priv) | eseecloud | http | | | | | -| Net (priv) | gopro | udp | | TODO | | `gopro:` | -| Net (priv) | hass | webrtc | | TODO | | `hass:` | -| Net (priv) | homekit | hap | | h264,eld* | | `homekit:` | -| Net (priv) | isapi | http | | | pcm_alaw,pcm_mulaw | `isapi:` | -| Net (priv) | kasa | http | | h264,pcm_mulaw | | `kasa:` | -| Net (priv) | nest | rtsp,webrtc | | TODO | | `nest:` | -| Net (priv) | ring | webrtc | | | | | -| Net (priv) | roborock | webrtc | | h264,opus | opus | `roborock:` | -| Net (priv) | tapo | http | | h264,pcma | pcm_alaw | `tapo:` | -| Net (priv) | tuya | webrtc | | | | | -| Net (priv) | vigi | http | | | | | -| Net (priv) | webtorrent | webrtc | TODO | TODO | TODO | `webtorrent:` | -| Net (priv) | xiaomi* | cs2,tutk | | | | | -| Services | flussonic | ws | | | | | -| Services | ivideon | ws | | h264 | | `ivideon:` | -| Services | yandex | webrtc | | | | | -| Other | ascii | http | | | | | -| Other | echo | * | | | | | -| Other | exec | pipe,rtsp | | | | | -| Other | expr | * | | | | | -| Other | ffmpeg | pipe,rtsp | | | | | -| Other | stdin | pipe | | | pcm_alaw,pcm_mulaw | `stdin:` | +| Group | Format | Protocols | Ingress | Recevers codecs | Senders codecs | Example | +|------------|--------------|-----------------|---------|---------------------------------|---------------------|---------------| +| Devices | alsa | pipe | | | pcm | `alsa:` | +| Devices | v4l2 | pipe | | | | `v4l2:` | +| Files | adts | http, tcp, pipe | http | aac | | `http:` | +| Files | flv | http, tcp, pipe | http | h264, aac | | `http:` | +| Files | h264 | http, tcp, pipe | http | h264 | | `http:` | +| Files | hevc | http, tcp, pipe | http | hevc | | `http:` | +| Files | hls | http | | h264, h265, aac, opus | | `http:` | +| Files | mjpeg | http, tcp, pipe | http | mjpeg | | `http:` | +| Files | mpegts | http, tcp, pipe | http | h264, hevc, aac, opus | | `http:` | +| Files | wav | http, tcp, pipe | http | pcm_alaw, pcm_mulaw | | `http:` | +| Net (pub) | mpjpeg | http, tcp, pipe | http | mjpeg | | `http:` | +| Net (pub) | onvif | rtsp | | | | `onvif:` | +| Net (pub) | rtmp | rtmp | rtmp | h264, aac | | `rtmp:` | +| Net (pub) | rtsp | rtsp, ws | rtsp | h264, hevc, aac, pcm*, opus | pcm*, opus | `rtsp:` | +| Net (pub) | webrtc* | webrtc | webrtc | h264, pcm_alaw, pcm_mulaw, opus | pcm_alaw, pcm_mulaw | `webrtc:` | +| Net (pub) | yuv4mpegpipe | http, tcp, pipe | http | rawvideo | | `http:` | +| Net (priv) | bubble | http | | h264, hevc, pcm_alaw | | `bubble:` | +| Net (priv) | doorbird | http | | | | `doorbird:` | +| Net (priv) | dvrip | tcp | | h264, hevc, pcm_alaw, pcm_mulaw | pcm_alaw | `dvrip:` | +| Net (priv) | eseecloud | http | | | | `eseecloud:` | +| Net (priv) | gopro | udp | | TODO | | `gopro:` | +| Net (priv) | hass | webrtc | | TODO | | `hass:` | +| Net (priv) | homekit | hap | | h264, eld* | | `homekit:` | +| Net (priv) | isapi | http | | | pcm_alaw, pcm_mulaw | `isapi:` | +| Net (priv) | kasa | http | | h264, pcm_mulaw | | `kasa:` | +| Net (priv) | nest | rtsp, webrtc | | TODO | | `nest:` | +| Net (priv) | ring | webrtc | | | | `ring:` | +| Net (priv) | roborock | webrtc | | h264, opus | opus | `roborock:` | +| Net (priv) | tapo | http | | h264, pcma | pcm_alaw | `tapo:` | +| Net (priv) | tuya | webrtc | | | | `tuya:` | +| Net (priv) | vigi | http | | | | `vigi:` | +| Net (priv) | webtorrent | webrtc | TODO | TODO | TODO | `webtorrent:` | +| Net (priv) | xiaomi* | cs2, tutk | | | | `xiaomi:` | +| Services | flussonic | ws | | | | `flussonic:` | +| Services | ivideon | ws | | h264 | | `ivideon:` | +| Services | yandex | webrtc | | | | `yandex:` | +| Other | echo | * | | | | `echo:` | +| Other | exec | pipe, rtsp | | | | `exec:` | +| Other | expr | * | | | | `expr:` | +| Other | ffmpeg | pipe, rtsp | | | | `ffmpeg:` | +| Other | stdin | pipe | | | pcm_alaw, pcm_mulaw | `stdin:` | - **eld** - rare variant of aac codec - **pcm** - pcm_alaw pcm_mulaw pcm_s16be pcm_s16le @@ -62,23 +60,23 @@ Some formats and protocols go2rtc supports exclusively. They have no equivalent ## Consumers (output) -| Format | Protocol | Send codecs | Recv codecs | Example | -|--------------|-------------|------------------------------|-------------------------|---------------------------------------| -| adts | http | aac | | `GET /api/stream.adts` | -| ascii | http | mjpeg | | `GET /api/stream.ascii` | -| flv | http | h264,aac | | `GET /api/stream.flv` | -| hls/mpegts | http | h264,hevc,aac | | `GET /api/stream.m3u8` | -| hls/fmp4 | http | h264,hevc,aac,pcm*,opus | | `GET /api/stream.m3u8?mp4` | -| homekit | homekit+udp | h264,opus | | Apple HomeKit app | -| mjpeg | ws | mjpeg | | `{"type":"mjpeg"}` -> `/api/ws` | -| mpjpeg | http | mjpeg | | `GET /api/stream.mjpeg` | -| mp4 | http | h264,hevc,aac,pcm*,opus | | `GET /api/stream.mp4` | -| mse/fmp4 | ws | h264,hevc,aac,pcm*,opus | | `{"type":"mse"}` -> `/api/ws` | -| mpegts | http | h264,hevc,aac | | `GET /api/stream.ts` | -| rtmp | rtmp | h264,aac | | `rtmp://localhost:1935/{stream_name}` | -| rtsp | rtsp+tcp | h264,hevc,aac,pcm*,opus | | `rtsp://localhost:8554/{stream_name}` | -| webrtc | TODO | h264,pcm_alaw,pcm_mulaw,opus | pcm_alaw,pcm_mulaw,opus | `{"type":"webrtc"}` -> `/api/ws` | -| yuv4mpegpipe | http | rawvideo | | `GET /api/stream.y4m` | +| Format | Protocol | Send codecs | Recv codecs | Example | +|--------------|----------|---------------------------------|---------------------------|---------------------------------------| +| adts | http | aac | | `GET /api/stream.adts` | +| ascii | http | mjpeg | | `GET /api/stream.ascii` | +| flv | http | h264, aac | | `GET /api/stream.flv` | +| hls/mpegts | http | h264, hevc, aac | | `GET /api/stream.m3u8` | +| hls/fmp4 | http | h264, hevc, aac, pcm*, opus | | `GET /api/stream.m3u8?mp4` | +| homekit | hap | h264, opus | | Apple HomeKit app | +| mjpeg | ws | mjpeg | | `{"type":"mjpeg"}` -> `/api/ws` | +| mpjpeg | http | mjpeg | | `GET /api/stream.mjpeg` | +| mp4 | http | h264, hevc, aac, pcm*, opus | | `GET /api/stream.mp4` | +| mse/fmp4 | ws | h264, hevc, aac, pcm*, opus | | `{"type":"mse"}` -> `/api/ws` | +| mpegts | http | h264, hevc, aac | | `GET /api/stream.ts` | +| rtmp | rtmp | h264, aac | | `rtmp://localhost:1935/{stream_name}` | +| rtsp | rtsp | h264, hevc, aac, pcm*, opus | | `rtsp://localhost:8554/{stream_name}` | +| webrtc | webrtc | h264, pcm_alaw, pcm_mulaw, opus | pcm_alaw, pcm_mulaw, opus | `{"type":"webrtc"}` -> `/api/ws` | +| yuv4mpegpipe | http | rawvideo | | `GET /api/stream.y4m` | - **pcm** - pcm_alaw pcm_mulaw pcm_s16be pcm_s16le