Golang audio/video library and streaming server
JOY4 is powerful library written in golang, well-designed interface makes a few lines of code can do a lot of things such as reading, writing, transcoding among variety media formats, or setting up high-performance live streaming server.
FeaturesWell-designed and easy-to-use interfaces:
Support container formats:
- MP4
- MPEG-TS
- FLV
- AAC (ADTS)
RTSP Client
- High level camera bug tolerance
- Support STAP-A
RTMP Client
- Support publishing to nginx-rtmp-server
- Support playing
RTMP / HTTP-FLV Server
- Support publishing clients: OBS / ffmpeg / Flash Player (>8)
- Support playing clients: Flash Player 11 / VLC / ffplay / mpv
- High performance
Publisher-subscriber packet buffer queue (doc)
-
Customize publisher buffer time and subscriber read position
-
Multiple channels live streaming (example)
Packet filters (doc)
- Wait first keyframe
- Fix timestamp
- Make A/V sync
- Customize (example)
FFMPEG Golang-style binding (doc)
- Audio Encoder / Decoder
- Video Decoder
- Audio Resampler
Support codec and container parsers:
RequirementsGo version >= 1.6
ffmpeg version >= 3.0 (optional)
TODOHLS / MPEG-DASH Server
ffmpeg.VideoEncoder / ffmpeg.SWScale
LicenseMIT