Skip to content
forked from nareix/joy4

Golang audio/video library and streaming server

License

Notifications You must be signed in to change notification settings

angwangiot/joy4

This branch is 26 commits ahead of, 2 commits behind nareix/joy4:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a2f1760 · Nov 4, 2020
Nov 21, 2019
Nov 21, 2019
Nov 21, 2019
Nov 21, 2019
Nov 4, 2020
Nov 3, 2017
Feb 24, 2017
Nov 21, 2019
Aug 8, 2016

Repository files navigation

JOY4

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.

Features

Well-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:

  • H264 SPS/PPS/AVCDecoderConfigure parser (doc)
  • AAC ADTSHeader/MPEG4AudioConfig parser (doc)
  • MP4 Atoms parser (doc)
  • FLV AMF0 object parser (doc)

Requirements

Go version >= 1.6

ffmpeg version >= 3.0 (optional)

TODO

HLS / MPEG-DASH Server

ffmpeg.VideoEncoder / ffmpeg.SWScale

License

MIT

About

Golang audio/video library and streaming server

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.8%
  • C 0.2%