https://github.com/mozilla/mp4parse-rust
Parser for ISO Base Media Format aka video/mp4 written in Rust.
https://github.com/mozilla/mp4parse-rust
Last synced: about 2 months ago
JSON representation
Parser for ISO Base Media Format aka video/mp4 written in Rust.
- Host: GitHub
- URL: https://github.com/mozilla/mp4parse-rust
- Owner: mozilla
- License: mpl-2.0
- Created: 2015-10-04T17:19:23.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2025-03-26T08:10:43.000Z (3 months ago)
- Last Synced: 2025-05-03T20:27:53.490Z (2 months ago)
- Language: Rust
- Size: 7.17 MB
- Stars: 425
- Watchers: 29
- Forks: 64
- Open Issues: 42
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
This is an mp4 track metadata parser.
[](https://crates.io/crates/mp4parse)
[](https://github.com/mozilla/mp4parse-rust/actions)Our primary interest is writing a pure-rust replacement for the
track metadata parser needed by Firefox.[API documentation](https://docs.rs/mp4parse/)
# Project structure
`mp4parse` is a parser for ISO base media file format (mp4) written in rust.
`mp4parse-capi` is a C API that exposes the functionality of `mp4parse`. The C
API is intended to wrap the rust parser. As such, features should primarily
be implemented in the rust parser and exposed via the C API, rather than the C
API implementing features on its own.## Tests
Test coverage comes from several sources:
- Conventional tests exist in `mp4parse/src/lib.rs` and
`mp4parse_capi/src/lib.rs` as well as under `mp4parse/tests` and
`mp4parse_capi/tests`. These tests can be run via `cargo test`.
- Examples are included under `mp4parse_capi/examples`. These programs should
continue to build and run after changes are made. Note, these programs are not
typically run by `cargo test`, so manual verification is required.# Versioning
The master branch represents the last version released to crates.io plus any
development since that release. Firefox will ship specific git revisions from
the master branch (refer to the `mp4parse_capi` dependency listed in
[toolkit/library/rust/shared/Cargo.toml](https://searchfox.org/mozilla-central/source/toolkit/library/rust/shared/Cargo.toml#15)
for the currently shipping revision). When sufficient changes to merit a new
crates.io release have occurred, the version in Cargo.toml will be bumped and
tagged, and the new version published to crates.io.