No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Eric Tang 3ddbc8f9d4
Merge pull request #51 from ericxtang/master
10 months ago
av reorder comments to match field 10 months ago
cgo/ffmpeg ffmpeg: add libswscle ldlfags and header 3 years ago
codec add bits 1 year ago
examples time import , but not usage. CROS must set 2 years ago
format Fix panic in ReadPanic when no streams 1 year ago
utils/bits add bits 1 year ago
LICENSE Add license file to make it more official 2 years ago x 2 years ago
doc.go add doc.go 3 years ago


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


  • 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