internal/README.md
go2rtc tries to name formats, protocols and codecs the same way they are named in FFmpeg. Some formats and protocols go2rtc supports exclusively. They have no equivalent in FFmpeg.
echo, expr, hass and onvif modules receive a link to a stream. They don't know the protocol in advance.exec and ffmpeg modules support many formats. They are identical to the http module.api, app, debug, ngrok, pinggy, srtp, streams are supporting modules.Modules implement communication APIs: authorization, encryption, command set, structure of media packets.
Formats describe the structure of the data being transmitted.
Protocols implement transport for data transmission.
| module | formats | protocols | input | output | ingest | two-way |
|---|---|---|---|---|---|---|
alsa | pcm | ioctl | yes | |||
bubble | - | http | yes | |||
doorbird | mulaw | http | yes | yes | ||
dvrip | - | tcp | yes | yes | ||
echo | * | * | yes | |||
eseecloud | rtp | http | yes | |||
exec | * | pipe, rtsp | yes | yes | ||
expr | * | * | yes | |||
ffmpeg | * | pipe, rtsp | yes | |||
flussonic | mp4 | ws | yes | |||
gopro | mpegts | udp | yes | |||
hass | * | * | yes | |||
hls | mpegts, mp4 | http | yes | |||
homekit | srtp | hap | yes | yes | no | |
http | adts | http, tcp | yes | |||
http | flv | http, tcp | yes | |||
http | h264 | http, tcp | yes | |||
http | hevc | http, tcp | yes | |||
http | hls | http, tcp | yes | |||
http | mjpeg | http, tcp | yes | |||
http | mpjpeg | http | yes | |||
http | mpegts | http, tcp | yes | |||
http | wav | http, tcp | yes | |||
http | yuv4mpegpipe | http, tcp | yes | |||
isapi | alaw, mulaw | http | yes | |||
ivideon | mp4 | ws | yes | |||
kasa | h264, mulaw | http | yes | |||
mjpeg | ascii | http | yes | |||
mjpeg | jpeg | http | yes | |||
mjpeg | mpjpeg | http | yes | yes | ||
mjpeg | yuv4mpegpipe | http | yes | |||
mp4 | mp4 | http, ws | yes | |||
mpeg | adts | http | yes | |||
mpeg | mpegts | http | yes | yes | ||
multitrans | rtp | tcp | yes | |||
nest | srtp | rtsp, webrtc | yes | no | ||
onvif | rtp | * | yes | yes | ||
ring | srtp | webrtc | yes | yes | ||
roborock | srtp | webrtc | yes | yes | ||
rtmp | flv | rtmp | yes | yes | yes | |
rtmp | flv | http | yes | yes | ||
rtsp | rtsp | rtsp | yes | yes | yes | yes |
tapo | mpegts | http | yes | yes | ||
tuya | srtp | webrtc | yes | yes | ||
v4l2 | rawvideo | ioctl | yes | |||
webrtc | srtp | webrtc | yes | yes | yes | yes |
webtorrent | srtp | webrtc | yes | yes | ||
wyoming | pcm | tcp | yes | |||
wyze | - | tutk | yes | yes | ||
xiaomi | - | cs2, tutk | yes | yes | ||
yandex | srtp | webrtc | yes |