joy4

package module
v1.0.53 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 25, 2023 License: MIT Imports: 0 Imported by: 0

README

PLEASE USE joy5 INSTEAD

joy5

  • High performance Copy-on-write gop cache code
  • Better av.Packet design code

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

Documentation

Overview

Package joy4 is a 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.

Directories

Path Synopsis
av
Package av defines basic interfaces and data structures of container demux/mux and audio encode/decode.
Package av defines basic interfaces and data structures of container demux/mux and audio encode/decode.
flv
pktque
Package pktque provides packet Filter interface and structures used by other components.
Package pktque provides packet Filter interface and structures used by other components.
pubsub
Packege pubsub implements publisher-subscribers model used in multi-channel streaming.
Packege pubsub implements publisher-subscribers model used in multi-channel streaming.
transcode
Package transcoder implements Transcoder based on Muxer/Demuxer and AudioEncoder/AudioDecoder interface.
Package transcoder implements Transcoder based on Muxer/Demuxer and AudioEncoder/AudioDecoder interface.
cgo
examples
aac
flv
mp4
ts
utils

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL