go-mp4
mp4ff
Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
go-mp4
-
Go library to validate MPEG-4 file?
You could use go-mp4 to just validate the mp4 structure.
-
How to add RTP timestamp to MP4 container for self-made RTSP client in Go?
I have looked at libraries such as go-mp4 (https://github.com/abema/go-mp4) and go-astits (https://github.com/asticode/go-astits), but without the proper explanation/documentation it is difficult to grasp these libraries.
mp4ff
-
Is there any way to split mp4 in 2 files in Golang?
Hi, you want to produce fmp4 segments or split into multiple "progressive" mp4s? one of these examples might be useful: https://github.com/Eyevinn/mp4ff/tree/master/cmd/mp4ff-crop https://github.com/Eyevinn/mp4ff/tree/master/examples/segmenter
-
mp4ff - beyond MP4 boxes
Part 30 of the MPEG-4 standard describes how TTML and WebVTT subtitles shall be carried in MP4 files. The approaches are very different. For TTML, the original XML structure is used, and there is typically a single sample per segment. That sample is a complete TTML XML document with internal time stamps. Beyond text, it can also provide image subtitles and carry such images as subsamples. The codecs attribute for such a file is stpp, and there is an [stpp] box that should be included in the track sample descriptor. mp4ff supports all relevant boxes.
What are some alternatives?
file-type - Detect the file type of a Buffer/Uint8Array/ArrayBuffer
ffmpeg-go - golang binding for ffmpeg
go-astits - Demux and mux MPEG Transport Streams (.ts) natively in GO
tfb-video - Generator of test video files for testing your media playback devices and calibrate TV sets
tag - ID3, MP4 and OGG/FLAC metadata parsing in Go
goheif - go gettable decoder/converter for HEIF/HEIC based on libde265
file-type-stream-go - Detect file types–extensions and mime–using magic numbers
mediamtx - Ready-to-use SRT / WebRTC / RTSP / RTMP / LL-HLS media server and media proxy that allows to read, publish, proxy, record and playback video and audio streams.
goav - Golang bindings for FFmpeg (This repository is no longer maintained)
cinema - a lightweight video editor for go
Vidio - FFmpeg wrapper providing simple, cross-platform Video I/O, GIF Creation, and Webcam Streaming in Go.
sums_up - Sum types for Ruby