Discover Packages
github.com/xaionaro-go/go2rtc
pkg
directory
Version:
v0.0.0-...-c3ad350
Opens a new window with list of versions in this module.
Published: Jul 13, 2024
License: MIT
Opens a new window with license information.
README
README
¶
Notes
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.
The initiator of the connection can be go2rtc - Source protocols
The initiator of the connection can be an external program - Ingress protocols
Codecs can be incoming - Recevers codecs
Codecs can be outgoing (two way audio) - Senders codecs
Format
Source protocols
Ingress protocols
Recevers codecs
Senders codecs
Example
adts
http,tcp,pipe
http
aac
http:
bubble
http
h264,hevc,pcm_alaw
bubble:
dvrip
tcp
h264,hevc,pcm_alaw,pcm_mulaw
pcm_alaw
dvrip:
flv
http,tcp,pipe
http
h264,aac
http:
gopro
http+udp
TODO
gopro:
hass/webrtc
ws+udp,tcp
TODO
hass:
hls/mpegts
http
h264,h265,aac,opus
http:
homekit
homekit+udp
h264,eld*
homekit:
isapi
http
pcm_alaw,pcm_mulaw
isapi:
ivideon
ws
h264
ivideon:
kasa
http
h264,pcm_mulaw
kasa:
h264
http,tcp,pipe
http
h264
http:
hevc
http,tcp,pipe
http
hevc
http:
mjpeg
http,tcp,pipe
http
mjpeg
http:
mpjpeg
http,tcp,pipe
http
mjpeg
http:
mpegts
http,tcp,pipe
http
h264,hevc,aac,opus
http:
nest/webrtc
http+udp
TODO
nest:
roborock
mqtt+udp
h264,opus
opus
roborock:
rtmp
rtmp
rtmp
h264,aac
rtmp:
rtsp
rtsp+tcp,ws
rtsp+tcp
h264,hevc,aac,pcm*,opus
pcm*,opus
rtsp:
stdin
pipe
pcm_alaw,pcm_mulaw
stdin:
tapo
http
h264,pcma
pcm_alaw
tapo:
wav
http,tcp,pipe
http
pcm_alaw,pcm_mulaw
http:
webrtc*
TODO
TODO
h264,pcm_alaw,pcm_mulaw,opus
pcm_alaw,pcm_mulaw
webrtc:
webtorrent
TODO
TODO
TODO
TODO
webtorrent:
yuv4mpegpipe
http,tcp,pipe
http
rawvideo
http:
eld - rare variant of aac codec
pcm - pcm_alaw pcm_mulaw pcm_s16be pcm_s16le
webrtc - webrtc/kinesis, webrtc/openipc, webrtc/milestone, webrtc/wyze, webrtc/whep
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
pcm - pcm_alaw pcm_mulaw pcm_s16be pcm_s16le
Snapshots
Format
Protocol
Send codecs
Example
jpeg
http
mjpeg
GET /api/frame.jpeg
mp4
http
h264,hevc
GET /api/frame.mp4
Developers
File naming:
pkg/{format}/producer.go
- producer for this format (also if support backchannel)
pkg/{format}/consumer.go
- consumer for this format
pkg/{format}/backchanel.go
- producer with only backchannel func
Useful links
Expand ▾
Collapse ▴
Directories
¶
Package bubble, because: Request URL: /bubble/live?ch=0&stream=0 Response Conten-Type: video/bubble https://github.com/Lynch234ok/lynch-git/blob/master/app_rebulid/src/bubble.c
Package bubble, because: Request URL: /bubble/live?ch=0&stream=0 Response Conten-Type: video/bubble https://github.com/Lynch234ok/lynch-git/blob/master/app_rebulid/src/bubble.c
Package h264 - AVCC format related functions
Package h264 - AVCC format related functions
annexb
Package annexb - universal for H264 and H265
Package annexb - universal for H264 and H265
Package h265 - AVCC format related functions
Package h265 - AVCC format related functions
Package pcm - support raw (verbatim) PCM 16 bit in the FLAC container: - only 1 channel - only 16 bit per sample - only 8000, 16000, 24000, 48000 sample rate
Package pcm - support raw (verbatim) PCM 16 bit in the FLAC container: - only 1 channel - only 16 bit per sample - only 8000, 16000, 24000, 48000 sample rate
v1
Package v1 http://web.archive.org/web/20110719132013/http://hazelware.luggle.com/tutorials/mulawcompression.html
Package v1 http://web.archive.org/web/20110719132013/http://hazelware.luggle.com/tutorials/mulawcompression.html
Click to show internal directories.
Click to hide internal directories.