Need help with joy4?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

167 Stars 21 Forks MIT License 584 Commits 3 Opened issues


Golang audio/video library and streaming server

Services available


Need anything else?

Contributors list


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:

Support container formats:

  • MP4
  • 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)



ffmpeg.VideoEncoder / ffmpeg.SWScale



We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.