https://github.com/remko/go-mkvparse
Fast Matroska parser in Go
https://github.com/remko/go-mkvparse
Last synced: 10 months ago
JSON representation
Fast Matroska parser in Go
- Host: GitHub
- URL: https://github.com/remko/go-mkvparse
- Owner: remko
- License: mit
- Created: 2017-12-25T22:20:49.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-08-09T19:10:36.000Z (almost 3 years ago)
- Last Synced: 2025-04-04T23:51:16.286Z (about 1 year ago)
- Language: Go
- Size: 146 KB
- Stars: 35
- Watchers: 3
- Forks: 11
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# `mkvparse`: Matroska parser in Go
[](https://pkg.go.dev/github.com/remko/go-mkvparse)
Fast [Matroska](https://www.matroska.org) (`.mkv`, `.mka`, `.webm`) parser, written in Go.
Features:
- Supports [all Matroska elements](https://www.matroska.org/technical/specs/index.html)
- Supports short-circuiting the parser, making it possible to
read specific data (e.g. title, author) without reading the
entire file (see the `mkvtags` example)
- Also works with [WebM](https://www.webmproject.org) (`.webm`) files
- Supports streaming
- Event-based push API
- No dependencies
## API
See the [API Reference](https://godoc.org/github.com/remko/go-mkvparse).
## Examples
Besides the examples in the [API Reference](https://godoc.org/github.com/remko/go-mkvparse),
there are some larger examples in the `examples/` dir:
- `examples/mkvinfo`: Example using basic parser API to print all elements
- `examples/mkvtags`: Example using the optimized 'sections' API to print all tags without
parsing the entire file.