|
|
|
@ -8,10 +8,10 @@ JOY4 is powerful library written in golang, well-designed interface makes a few
|
|
|
|
|
|
|
|
|
|
Well-designed and easy-to-use interfaces:
|
|
|
|
|
|
|
|
|
|
- Muxer / Demuxer ([doc](https://pkg.go.dev/github.com/Danile71/joy4/av#Demuxer) [example](https://github.com/Danile71/joy4/blob/master/examples/open_probe_file/main.go))
|
|
|
|
|
- Audio Decoder ([doc](https://pkg.go.dev/github.com/Danile71/joy4/av#AudioDecoder) [example](https://github.com/Danile71/joy4/blob/master/examples/audio_decode/main.go))
|
|
|
|
|
- Transcoding ([doc](https://pkg.go.dev/github.com/Danile71/joy4/av/transcode) [example](https://github.com/Danile71/joy4/blob/master/examples/transcode/main.go))
|
|
|
|
|
- Streaming server ([example](https://github.com/Danile71/joy4/blob/master/examples/http_flv_and_rtmp_server/main.go))
|
|
|
|
|
- Muxer / Demuxer ([doc](https://pkg.go.dev/gitlab.com/ics_cinnamon/joy4/av#Demuxer) [example](https://gitlab.com/ics_cinnamon/joy4/blob/master/examples/open_probe_file/main.go))
|
|
|
|
|
- Audio Decoder ([doc](https://pkg.go.dev/gitlab.com/ics_cinnamon/joy4/av#AudioDecoder) [example](https://gitlab.com/ics_cinnamon/joy4/blob/master/examples/audio_decode/main.go))
|
|
|
|
|
- Transcoding ([doc](https://pkg.go.dev/gitlab.com/ics_cinnamon/joy4/av/transcode) [example](https://gitlab.com/ics_cinnamon/joy4/blob/master/examples/transcode/main.go))
|
|
|
|
|
- Streaming server ([example](https://gitlab.com/ics_cinnamon/joy4/blob/master/examples/http_flv_and_rtmp_server/main.go))
|
|
|
|
|
|
|
|
|
|
Support container formats:
|
|
|
|
|
|
|
|
|
@ -34,31 +34,31 @@ RTMP / HTTP-FLV Server
|
|
|
|
|
- High performance
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Publisher-subscriber packet buffer queue ([doc](https://pkg.go.dev/github.com/Danile71/joy4/av/pubsub))
|
|
|
|
|
Publisher-subscriber packet buffer queue ([doc](https://pkg.go.dev/gitlab.com/ics_cinnamon/joy4/av/pubsub))
|
|
|
|
|
|
|
|
|
|
- Customize publisher buffer time and subscriber read position
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Multiple channels live streaming ([example](https://github.com/Danile71/joy4/blob/master/examples/rtmp_server_channels/main.go))
|
|
|
|
|
- Multiple channels live streaming ([example](https://gitlab.com/ics_cinnamon/joy4/blob/master/examples/rtmp_server_channels/main.go))
|
|
|
|
|
|
|
|
|
|
Packet filters ([doc](https://pkg.go.dev/github.com/Danile71/joy4/av/pktque))
|
|
|
|
|
Packet filters ([doc](https://pkg.go.dev/gitlab.com/ics_cinnamon/joy4/av/pktque))
|
|
|
|
|
|
|
|
|
|
- Wait first keyframe
|
|
|
|
|
- Fix timestamp
|
|
|
|
|
- Make A/V sync
|
|
|
|
|
- Customize ([example](https://github.com/Danile71/joy4/blob/master/examples/rtmp_server_channels/main.go#L19))
|
|
|
|
|
- Customize ([example](https://gitlab.com/ics_cinnamon/joy4/blob/master/examples/rtmp_server_channels/main.go#L19))
|
|
|
|
|
|
|
|
|
|
FFMPEG Golang-style binding ([doc](https://pkg.go.dev/github.com/Danile71/joy4/cgo/ffmpeg))
|
|
|
|
|
FFMPEG Golang-style binding ([doc](https://pkg.go.dev/gitlab.com/ics_cinnamon/joy4/cgo/ffmpeg))
|
|
|
|
|
- Audio Encoder / Decoder
|
|
|
|
|
- Video Decoder
|
|
|
|
|
- Audio Resampler
|
|
|
|
|
|
|
|
|
|
Support codec and container parsers:
|
|
|
|
|
|
|
|
|
|
- H264 SPS/PPS/AVCDecoderConfigure parser ([doc](https://pkg.go.dev/github.com/Danile71/joy4/codec/h264parser))
|
|
|
|
|
- AAC ADTSHeader/MPEG4AudioConfig parser ([doc](https://pkg.go.dev/github.com/Danile71/joy4/codec/aacparser))
|
|
|
|
|
- MP4 Atoms parser ([doc](https://pkg.go.dev/github.com/Danile71/joy4/format/mp4/mp4io))
|
|
|
|
|
- FLV AMF0 object parser ([doc](https://pkg.go.dev/github.com/Danile71/joy4/format/flv/flvio))
|
|
|
|
|
- H264 SPS/PPS/AVCDecoderConfigure parser ([doc](https://pkg.go.dev/gitlab.com/ics_cinnamon/joy4/codec/h264parser))
|
|
|
|
|
- AAC ADTSHeader/MPEG4AudioConfig parser ([doc](https://pkg.go.dev/gitlab.com/ics_cinnamon/joy4/codec/aacparser))
|
|
|
|
|
- MP4 Atoms parser ([doc](https://pkg.go.dev/gitlab.com/ics_cinnamon/joy4/format/mp4/mp4io))
|
|
|
|
|
- FLV AMF0 object parser ([doc](https://pkg.go.dev/gitlab.com/ics_cinnamon/joy4/format/flv/flvio))
|
|
|
|
|
|
|
|
|
|
# Requirements
|
|
|
|
|
|
|
|
|
|