go-avkit

A time-based media toolkit in pure Go โ€” no libav, no ffmpeg, no external binaries.

CGO_ENABLED=0no ffmpeg linkageno subprocessesBSD-3-Clause
GitHub Go reference

Reading media in Go usually means linking libav or shelling out to ffmpeg. This does neither: it is an ordinary Go dependency that cross-compiles like the rest of your program.

Reference libraries, not re-implementations. Container parsing is delegated to the maintained libraries for each format; what this adds is the mapping of their box and element trees onto one small, format-neutral metadata model, so a caller does not learn a different vocabulary per container.

Repositories

avkit toolkit

container demuxing over reference parsers

Reads time-based media and presents every container through one metadata model.

CI Go reference BSD-3-Clause

Container demuxing came first because it is what everything else needs; codecs follow. What is claimed here is what is measured to work, not the roadmap.