Skip to content

Commit e960f90

Browse files
committed
Add formats and protocols to readme
1 parent 4dae65a commit e960f90

File tree

2 files changed

+59
-29
lines changed

2 files changed

+59
-29
lines changed

README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,20 @@ Ultimate camera streaming application with support for RTSP, WebRTC, HomeKit, FF
2727
- [two-way audio](#two-way-audio) for some cameras
2828
- can be [integrated to](#module-api) any smart home platform or be used as [standalone app](#go2rtc-binary)
2929

30+
**Supported Formats** - describes the communication API: authorization, encryption, command set, structure of media packets
31+
32+
- devices: `alsa` (Linux audio), `v4l2` (Linux video)
33+
- files: `adts`, `flv`, `h264`, `hevc`, `hls`, `mjpeg`, `mpegts`, `mp4`, `wav`
34+
- network (public and well known): `mpjpeg`, `onvif`, `rtmp`, `rtp`, `rtsp`, `webrtc`, `y2m` (yuv4mpegpipe)
35+
- network (private and exclusive): `bubble`, `doorbird`, `dvrip`, `eseecloud`, `gopro`, `hass` (Home Assistant), `homekit` (Apple), `isapi` (Hikvision), `kasa` (TP-Link), `nest` (Google), `ring`, `roborock`, `tapo` and `vigi` (TP-Link), `tuya`, `webtorrent`, `xiaomi` (Mi Home)
36+
- webrtc related: `creality`, `kinesis` (Amazon), `openipc`, `switchbot`, `whep`, `whip`, `wyze`
37+
- other: `ascii`, `echo`, `exec`, `expr`, `ffmpeg`
38+
39+
**Supported Protocols** - describes the transport for data transmission
40+
41+
- public: `http`, `pipe`, `rtmp`, `rtsp`, `tcp`, `udp`, `webrtc`, `ws` (WebSocket)
42+
- private: `cs2` (PPPP), `hap` and `hds` (HomeKit), `tutk` (P2P)
43+
3044
**Inspired by:**
3145

3246
- series of streaming projects from [@deepch](https://github.com/deepch)

pkg/README.md

Lines changed: 45 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -10,35 +10,51 @@ Some formats and protocols go2rtc supports exclusively. They have no equivalent
1010
- Codecs can be incoming - **Recevers codecs**
1111
- Codecs can be outgoing (two way audio) - **Senders codecs**
1212

13-
| Format | Source protocols | Ingress protocols | Recevers codecs | Senders codecs | Example |
14-
|--------------|------------------|-------------------|------------------------------|--------------------|---------------|
15-
| adts | http,tcp,pipe | http | aac | | `http:` |
16-
| alsa | pipe | | | pcm | `alsa:` |
17-
| bubble | http | | h264,hevc,pcm_alaw | | `bubble:` |
18-
| dvrip | tcp | | h264,hevc,pcm_alaw,pcm_mulaw | pcm_alaw | `dvrip:` |
19-
| flv | http,tcp,pipe | http | h264,aac | | `http:` |
20-
| gopro | http+udp | | TODO | | `gopro:` |
21-
| hass/webrtc | ws+udp,tcp | | TODO | | `hass:` |
22-
| hls/mpegts | http | | h264,h265,aac,opus | | `http:` |
23-
| homekit | homekit+udp | | h264,eld* | | `homekit:` |
24-
| isapi | http | | | pcm_alaw,pcm_mulaw | `isapi:` |
25-
| ivideon | ws | | h264 | | `ivideon:` |
26-
| kasa | http | | h264,pcm_mulaw | | `kasa:` |
27-
| h264 | http,tcp,pipe | http | h264 | | `http:` |
28-
| hevc | http,tcp,pipe | http | hevc | | `http:` |
29-
| mjpeg | http,tcp,pipe | http | mjpeg | | `http:` |
30-
| mpjpeg | http,tcp,pipe | http | mjpeg | | `http:` |
31-
| mpegts | http,tcp,pipe | http | h264,hevc,aac,opus | | `http:` |
32-
| nest/webrtc | http+udp | | TODO | | `nest:` |
33-
| roborock | mqtt+udp | | h264,opus | opus | `roborock:` |
34-
| rtmp | rtmp | rtmp | h264,aac | | `rtmp:` |
35-
| rtsp | rtsp+tcp,ws | rtsp+tcp | h264,hevc,aac,pcm*,opus | pcm*,opus | `rtsp:` |
36-
| stdin | pipe | | | pcm_alaw,pcm_mulaw | `stdin:` |
37-
| tapo | http | | h264,pcma | pcm_alaw | `tapo:` |
38-
| wav | http,tcp,pipe | http | pcm_alaw,pcm_mulaw | | `http:` |
39-
| webrtc* | TODO | TODO | h264,pcm_alaw,pcm_mulaw,opus | pcm_alaw,pcm_mulaw | `webrtc:` |
40-
| webtorrent | TODO | TODO | TODO | TODO | `webtorrent:` |
41-
| yuv4mpegpipe | http,tcp,pipe | http | rawvideo | | `http:` |
13+
| Group | Format | Protocols | Ingress | Recevers codecs | Senders codecs | Example |
14+
|------------|------------|---------------|---------|------------------------------|--------------------|---------------|
15+
| Devices | alsa | pipe | | | pcm | `alsa:` |
16+
| Devices | v4l2 | pipe | | | | |
17+
| Files | adts | http,tcp,pipe | http | aac | | `http:` |
18+
| Files | flv | http,tcp,pipe | http | h264,aac | | `http:` |
19+
| Files | h264 | http,tcp,pipe | http | h264 | | `http:` |
20+
| Files | hevc | http,tcp,pipe | http | hevc | | `http:` |
21+
| Files | hls | http | | h264,h265,aac,opus | | `http:` |
22+
| Files | mjpeg | http,tcp,pipe | http | mjpeg | | `http:` |
23+
| Files | mpegts | http,tcp,pipe | http | h264,hevc,aac,opus | | `http:` |
24+
| Files | mp4 | | | | | |
25+
| Files | wav | http,tcp,pipe | http | pcm_alaw,pcm_mulaw | | `http:` |
26+
| Net (pub) | mpjpeg | http,tcp,pipe | http | mjpeg | | `http:` |
27+
| Net (pub) | onvif | rtsp | | | | |
28+
| Net (pub) | rtmp | rtmp | rtmp | h264,aac | | `rtmp:` |
29+
| Net (pub) | rtsp | rtsp,ws | rtsp | h264,hevc,aac,pcm*,opus | pcm*,opus | `rtsp:` |
30+
| Net (pub) | webrtc* | webrtc | webrtc | h264,pcm_alaw,pcm_mulaw,opus | pcm_alaw,pcm_mulaw | `webrtc:` |
31+
| Net (pub) | y4m | http,tcp,pipe | http | rawvideo | | `http:` |
32+
| Net (priv) | bubble | http | | h264,hevc,pcm_alaw | | `bubble:` |
33+
| Net (priv) | doorbird | http | | | | |
34+
| Net (priv) | dvrip | tcp | | h264,hevc,pcm_alaw,pcm_mulaw | pcm_alaw | `dvrip:` |
35+
| Net (priv) | eseecloud | http | | | | |
36+
| Net (priv) | gopro | udp | | TODO | | `gopro:` |
37+
| Net (priv) | hass | webrtc | | TODO | | `hass:` |
38+
| Net (priv) | homekit | hap | | h264,eld* | | `homekit:` |
39+
| Net (priv) | isapi | http | | | pcm_alaw,pcm_mulaw | `isapi:` |
40+
| Net (priv) | kasa | http | | h264,pcm_mulaw | | `kasa:` |
41+
| Net (priv) | nest | rtsp,webrtc | | TODO | | `nest:` |
42+
| Net (priv) | ring | webrtc | | | | |
43+
| Net (priv) | roborock | webrtc | | h264,opus | opus | `roborock:` |
44+
| Net (priv) | tapo | http | | h264,pcma | pcm_alaw | `tapo:` |
45+
| Net (priv) | tuya | webrtc | | | | |
46+
| Net (priv) | vigi | http | | | | |
47+
| Net (priv) | webtorrent | webrtc | TODO | TODO | TODO | `webtorrent:` |
48+
| Net (priv) | xiaomi* | cs2,tutk | | | | |
49+
| Services | flussonic | ws | | | | |
50+
| Services | ivideon | ws | | h264 | | `ivideon:` |
51+
| Services | yandex | webrtc | | | | |
52+
| Other | ascii | http | | | | |
53+
| Other | echo | * | | | | |
54+
| Other | exec | pipe,rtsp | | | | |
55+
| Other | expr | * | | | | |
56+
| Other | ffmpeg | pipe,rtsp | | | | |
57+
| Other | stdin | pipe | | | pcm_alaw,pcm_mulaw | `stdin:` |
4258

4359
- **eld** - rare variant of aac codec
4460
- **pcm** - pcm_alaw pcm_mulaw pcm_s16be pcm_s16le

0 commit comments

Comments
 (0)