https://github.com/at-wat/ebml-go
A pure Go implementation of bi-directional EBML encoder/decoder
https://github.com/at-wat/ebml-go
ebml matroska matroska-files multimedia webm
Last synced: 2 months ago
JSON representation
A pure Go implementation of bi-directional EBML encoder/decoder
- Host: GitHub
- URL: https://github.com/at-wat/ebml-go
- Owner: at-wat
- License: apache-2.0
- Created: 2019-08-21T19:24:38.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2025-02-12T15:50:59.000Z (4 months ago)
- Last Synced: 2025-03-28T23:07:25.840Z (2 months ago)
- Topics: ebml, matroska, matroska-files, multimedia, webm
- Language: Go
- Homepage:
- Size: 332 KB
- Stars: 81
- Watchers: 4
- Forks: 14
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ebml-go
[](http://godoc.org/github.com/at-wat/ebml-go)  [](https://codecov.io/gh/at-wat/ebml-go) [](https://goreportcard.com/report/github.com/at-wat/ebml-go) [](https://opensource.org/licenses/Apache-2.0)
## A pure Go implementation of bi-directional EBML encoder/decoder
EBML (Extensible Binary Meta Language) is a binary and byte-aligned format that was originally developed for the Matroska audio-visual container.
See https://matroska.org/ for details.This package implements EBML Marshaler and Unmarshaler for Go.
Currently, commonly used elements of WebM subset is supported.## Usage
Check out the examples placed under [./examples](./examples/) directory.
API is documented using [GoDoc](http://godoc.org/github.com/at-wat/ebml-go).
EBML can be `Marshal`-ed and `Unmarshal`-ed between tagged struct and binary stream through `io.Reader` and `io.Writer`.## References
- [Matroska Container Specifications](https://matroska.org/technical/specs/index.html)
- [WebM Container Guidelines](https://www.webmproject.org/docs/container/)## License
This package is licensed under [Apache License Version 2.0](./LICENSE).