RTMP client and server library for the Go programming language, forked from MediaMTX.
This was created to provide Enhanced RTMP features, like multiple video/audio tracks and additional codecs.
Go ≥ 1.24 is required.
Features:
- Read and write multiple video and audio tracks
- Read and write tracks encoded with AV1, VP9, H265, H264, Opus, MPEG-4 Audio (AAC), MPEG-1/2 Audio (MP3), AC-3, G711 (PCMA, PCMU), LPCM
- Support most Enhanced RTMP features
- Support TLS encryption (RTMPS)
- Support Diffie-hellman based encryption (RTMPE)
Current limitations:
- API is not stable and might be subjected to breaking changes.
- Codec definitions are borrowed from gortsplib. They will be made independent in the future.
Click to open the API Documentation
name | area |
---|---|
Action Message Format - AMF0 | RTMP |
FLV | RTMP |
RTMP | RTMP |
Enhanced RTMP v2 | RTMP |
Codec specifications | codecs |
Golang project layout | project layout |