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.
Well-designed and easy-to-use interfaces:
- Muxer / Demuxer (doc example)
 - Audio Decoder (doc example)
 - Transcoding (doc example)
 - Streaming server (example)
 
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:
- H264 SPS/PPS/AVCDecoderConfigure parser (doc)
 - AAC ADTSHeader/MPEG4AudioConfig parser (doc)
 - MP4 Atoms parser (doc)
 - FLV AMF0 object parser (doc)
 
Go version >= 1.6
ffmpeg version >= 3.0 (optional)
HLS / MPEG-DASH Server
ffmpeg.VideoEncoder / ffmpeg.SWScale
MIT