|
3 | 3 | go2rtc tries to name formats, protocols and codecs the same way they are named in FFmpeg. |
4 | 4 | Some formats and protocols go2rtc supports exclusively. They have no equivalent in FFmpeg. |
5 | 5 |
|
6 | | -- The `echo`, `expr`, `hass` and `onvif` modules receive a link to a stream. They don't know the protocol in advance. |
7 | | -- The `exec` and `ffmpeg` modules support many formats. They are identical to the `http` module. |
8 | | -- The `api`, `app`, `debug`, `ngrok`, `pinggy`, `srtp`, `streams` are supporting modules. |
| 6 | +- The [`echo`], [`expr`], [`hass`] and [`onvif`] modules receive a link to a stream. They don't know the protocol in advance. |
| 7 | +- The [`exec`] and [`ffmpeg`] modules support many formats. They are identical to the [`http`] module. |
| 8 | +- The [`api`], [`app`], [`debug`], [`ngrok`], [`pinggy`], [`srtp`], [`streams`] are supporting modules. |
9 | 9 |
|
10 | 10 | **Modules** implement communication APIs: authorization, encryption, command set, structure of media packets. |
11 | 11 |
|
12 | 12 | **Formats** describe the structure of the data being transmitted. |
13 | 13 |
|
14 | 14 | **Protocols** implement transport for data transmission. |
15 | 15 |
|
16 | | -| module | formats | protocols | input | output | ingest | two-way | |
17 | | -|--------------|-----------------|------------------|-------|--------|--------|---------| |
18 | | -| `alsa` | `pcm` | `ioctl` | yes | | | | |
19 | | -| `bubble` | - | `http` | yes | | | | |
20 | | -| `doorbird` | `mulaw` | `http` | yes | | | yes | |
21 | | -| `dvrip` | - | `tcp` | yes | | | yes | |
22 | | -| `echo` | * | * | yes | | | | |
23 | | -| `eseecloud` | `rtp` | `http` | yes | | | | |
24 | | -| `exec` | * | `pipe`, `rtsp` | yes | | | yes | |
25 | | -| `expr` | * | * | yes | | | | |
26 | | -| `ffmpeg` | * | `pipe`, `rtsp` | yes | | | | |
27 | | -| `flussonic` | `mp4` | `ws` | yes | | | | |
28 | | -| `gopro` | `mpegts` | `udp` | yes | | | | |
29 | | -| `hass` | * | * | yes | | | | |
30 | | -| `hls` | `mpegts`, `mp4` | `http` | | yes | | | |
31 | | -| `homekit` | `rtp` | `hap` | yes | yes | | no | |
32 | | -| `http` | `adts` | `http`, `tcp` | yes | | | | |
33 | | -| `http` | `flv` | `http`, `tcp` | yes | | | | |
34 | | -| `http` | `h264` | `http`, `tcp` | yes | | | | |
35 | | -| `http` | `hevc` | `http`, `tcp` | yes | | | | |
36 | | -| `http` | `hls` | `http`, `tcp` | yes | | | | |
37 | | -| `http` | `mjpeg` | `http`, `tcp` | yes | | | | |
38 | | -| `http` | `mpjpeg` | `http` | yes | | | | |
39 | | -| `http` | `mpegts` | `http`, `tcp` | yes | | | | |
40 | | -| `http` | `wav` | `http`, `tcp` | yes | | | | |
41 | | -| `http` | `yuv4mpegpipe` | `http`, `tcp` | yes | | | | |
42 | | -| `isapi` | `alaw`, `mulaw` | `http` | | | | yes | |
43 | | -| `ivideon` | `mp4` | `ws` | yes | | | | |
44 | | -| `mjpeg` | `ascii` | `http` | | yes | | | |
45 | | -| `mjpeg` | `jpeg` | `http` | | yes | | | |
46 | | -| `mjpeg` | `mpjpeg` | `http` | | yes | yes | | |
47 | | -| `mjpeg` | `yuv4mpegpipe` | `http` | | yes | | | |
48 | | -| `mp4` | `mp4` | `http`, `ws` | | yes | | | |
49 | | -| `mpegts` | `adts` | `http` | | yes | | | |
50 | | -| `mpegts` | `mpegts` | `http` | | yes | yes | | |
51 | | -| `multitrans` | `rtp` | `tcp` | | | | yes | |
52 | | -| `nest` | `srtp` | `rtsp`, `webrtc` | yes | | | no | |
53 | | -| `onvif` | `rtp` | * | yes | yes | | | |
54 | | -| `ring` | `srtp` | `webrtc` | yes | | | yes | |
55 | | -| `roborock` | `srtp` | `webrtc` | yes | | | yes | |
56 | | -| `rtmp` | `rtmp` | `rtmp` | yes | yes | yes | | |
57 | | -| `rtmp` | `flv` | `http` | | yes | yes | | |
58 | | -| `rtsp` | `rtsp` | `rtsp` | yes | yes | yes | yes | |
59 | | -| `tapo` | `mpegts` | `http` | yes | | | yes | |
60 | | -| `tuya` | `srtp` | `webrtc` | yes | | | yes | |
61 | | -| `v4l2` | `rawvideo` | `ioctl` | yes | | | | |
62 | | -| `webrtc` | `srtp` | `webrtc` | yes | yes | yes | yes | |
63 | | -| `webtorrent` | `srtp` | `webrtc` | yes | yes | | | |
64 | | -| `wyoming` | `pcm` | `tcp` | | yes | | | |
65 | | -| `wyze` | - | `tutk` | yes | | | yes | |
66 | | -| `xiaomi` | - | `cs2`, `tutk` | yes | | | yes | |
67 | | -| `yandex` | `srtp` | `webrtc` | yes | | | | |
| 16 | +| module | formats | protocols | input | output | ingest | two-way | |
| 17 | +|----------------|-----------------|------------------|-------|--------|--------|---------| |
| 18 | +| [`alsa`] | `pcm` | `ioctl` | yes | | | | |
| 19 | +| [`bubble`] | - | `http` | yes | | | | |
| 20 | +| [`doorbird`] | `mulaw` | `http` | yes | | | yes | |
| 21 | +| [`dvrip`] | - | `tcp` | yes | | | yes | |
| 22 | +| [`echo`] | * | * | yes | | | | |
| 23 | +| [`eseecloud`] | `rtp` | `http` | yes | | | | |
| 24 | +| [`exec`] | * | `pipe`, `rtsp` | yes | | | yes | |
| 25 | +| [`expr`] | * | * | yes | | | | |
| 26 | +| [`ffmpeg`] | * | `pipe`, `rtsp` | yes | | | | |
| 27 | +| [`flussonic`] | `mp4` | `ws` | yes | | | | |
| 28 | +| [`gopro`] | `mpegts` | `udp` | yes | | | | |
| 29 | +| [`hass`] | * | * | yes | | | | |
| 30 | +| [`hls`] | `mpegts`, `mp4` | `http` | | yes | | | |
| 31 | +| [`homekit`] | `srtp` | `hap` | yes | yes | | no | |
| 32 | +| [`http`] | `adts` | `http`, `tcp` | yes | | | | |
| 33 | +| [`http`] | `flv` | `http`, `tcp` | yes | | | | |
| 34 | +| [`http`] | `h264` | `http`, `tcp` | yes | | | | |
| 35 | +| [`http`] | `hevc` | `http`, `tcp` | yes | | | | |
| 36 | +| [`http`] | `hls` | `http`, `tcp` | yes | | | | |
| 37 | +| [`http`] | `mjpeg` | `http`, `tcp` | yes | | | | |
| 38 | +| [`http`] | `mpjpeg` | `http` | yes | | | | |
| 39 | +| [`http`] | `mpegts` | `http`, `tcp` | yes | | | | |
| 40 | +| [`http`] | `wav` | `http`, `tcp` | yes | | | | |
| 41 | +| [`http`] | `yuv4mpegpipe` | `http`, `tcp` | yes | | | | |
| 42 | +| [`isapi`] | `alaw`, `mulaw` | `http` | | | | yes | |
| 43 | +| [`ivideon`] | `mp4` | `ws` | yes | | | | |
| 44 | +| [`mjpeg`] | `ascii` | `http` | | yes | | | |
| 45 | +| [`mjpeg`] | `jpeg` | `http` | | yes | | | |
| 46 | +| [`mjpeg`] | `mpjpeg` | `http` | | yes | yes | | |
| 47 | +| [`mjpeg`] | `yuv4mpegpipe` | `http` | | yes | | | |
| 48 | +| [`mp4`] | `mp4` | `http`, `ws` | | yes | | | |
| 49 | +| [`mpegts`] | `adts` | `http` | | yes | | | |
| 50 | +| [`mpegts`] | `mpegts` | `http` | | yes | yes | | |
| 51 | +| [`multitrans`] | `rtp` | `tcp` | | | | yes | |
| 52 | +| [`nest`] | `srtp` | `rtsp`, `webrtc` | yes | | | no | |
| 53 | +| [`onvif`] | `rtp` | * | yes | yes | | | |
| 54 | +| [`ring`] | `srtp` | `webrtc` | yes | | | yes | |
| 55 | +| [`roborock`] | `srtp` | `webrtc` | yes | | | yes | |
| 56 | +| [`rtmp`] | `flv` | `rtmp` | yes | yes | yes | | |
| 57 | +| [`rtmp`] | `flv` | `http` | | yes | yes | | |
| 58 | +| [`rtsp`] | `rtsp` | `rtsp` | yes | yes | yes | yes | |
| 59 | +| [`tapo`] | `mpegts` | `http` | yes | | | yes | |
| 60 | +| [`tuya`] | `srtp` | `webrtc` | yes | | | yes | |
| 61 | +| [`v4l2`] | `rawvideo` | `ioctl` | yes | | | | |
| 62 | +| [`webrtc`] | `srtp` | `webrtc` | yes | yes | yes | yes | |
| 63 | +| [`webtorrent`] | `srtp` | `webrtc` | yes | yes | | | |
| 64 | +| [`wyoming`] | `pcm` | `tcp` | | yes | | | |
| 65 | +| [`wyze`] | - | `tutk` | yes | | | yes | |
| 66 | +| [`xiaomi`] | - | `cs2`, `tutk` | yes | | | yes | |
| 67 | +| [`yandex`] | `srtp` | `webrtc` | yes | | | | |
| 68 | + |
| 69 | +[`alsa`]: alsa/README.md |
| 70 | +[`api`]: api/README.md |
| 71 | +[`app`]: app/README.md |
| 72 | +[`bubble`]: bubble/README.md |
| 73 | +[`debug`]: debug/README.md |
| 74 | +[`doorbird`]: doorbird/README.md |
| 75 | +[`dvrip`]: dvrip/README.md |
| 76 | +[`echo`]: echo/README.md |
| 77 | +[`eseecloud`]: eseecloud/README.md |
| 78 | +[`exec`]: exec/README.md |
| 79 | +[`expr`]: expr/README.md |
| 80 | +[`ffmpeg`]: ffmpeg/README.md |
| 81 | +[`flussonic`]: flussonic/README.md |
| 82 | +[`gopro`]: gopro/README.md |
| 83 | +[`hass`]: hass/README.md |
| 84 | +[`hls`]: hls/README.md |
| 85 | +[`homekit`]: homekit/README.md |
| 86 | +[`http`]: http/README.md |
| 87 | +[`isapi`]: isapi/README.md |
| 88 | +[`ivideon`]: ivideon/README.md |
| 89 | +[`mjpeg`]: mjpeg/README.md |
| 90 | +[`mp4`]: mp4/README.md |
| 91 | +[`mpegts`]: mpegts/README.md |
| 92 | +[`multitrans`]: multitrans/README.md |
| 93 | +[`nest`]: nest/README.md |
| 94 | +[`ngrok`]: ngrok/README.md |
| 95 | +[`onvif`]: onvif/README.md |
| 96 | +[`pinggy`]: pinggy/README.md |
| 97 | +[`ring`]: ring/README.md |
| 98 | +[`roborock`]: roborock/README.md |
| 99 | +[`rtmp`]: rtmp/README.md |
| 100 | +[`rtsp`]: rtsp/README.md |
| 101 | +[`srtp`]: srtp/README.md |
| 102 | +[`streams`]: streams/README.md |
| 103 | +[`tapo`]: tapo/README.md |
| 104 | +[`tuya`]: tuya/README.md |
| 105 | +[`v4l2`]: v4l2/README.md |
| 106 | +[`webrtc`]: webrtc/README.md |
| 107 | +[`webtorrent`]: webtorrent/README.md |
| 108 | +[`wyoming`]: wyze/README.md |
| 109 | +[`wyze`]: wyze/README.md |
| 110 | +[`xiaomi`]: xiaomi/README.md |
| 111 | +[`yandex`]: yandex/README.md |
0 commit comments