1
0
Fork 0
mirror of https://github.com/alfg/mp4-rust.git synced 2024-12-22 12:06:33 +00:00
🎥 MP4 reader and writer library in Rust! 🦀
Find a file
2020-07-31 10:18:06 -07:00
.github/workflows Create rust.yml 2020-07-24 20:00:09 -07:00
examples Feature/mp4reader (#13) 2020-07-31 10:12:26 -07:00
src Feature/mp4reader (#13) 2020-07-31 10:12:26 -07:00
tests Feature/mp4reader (#13) 2020-07-31 10:12:26 -07:00
.gitignore Remove Cargo.lock and add to .gitignore. 2020-07-28 22:13:15 -07:00
.travis.yml Add basic integration test (#10) 2020-07-25 20:07:39 -07:00
Cargo.toml Feature/mp4reader (#13) 2020-07-31 10:12:26 -07:00
LICENSE Change main.rs to lib.rs and create example mp4info project. Update readme and license. 2020-01-12 19:33:26 -08:00
README.md Update example in README.md. 2020-07-31 10:18:06 -07:00

mp4rs

MP4 Reader in Rust

ISO/IEC 14496-12 - ISO Base Media File Format (QuickTime, MPEG-4, etc)

Crates.io Crates.io Build Status Rust

Example

use mp4;

fn main() {
    let f = File::open("example.mp4").unwrap();
    let size = f.metadata()?.len();
    let reader = BufReader::new(f);

    let mut mp4 = Mp4Reader::new(reader);
    mp4.read(size)?;

    println!("size: {}", mp4.size());
    println!("brands: {:?} {:?}\n", mp4.ftyp.major_brand, mp4.ftyp.compatible_brands);
}

See examples/ for a full example.

Documentation

Development

Requirements

Build

cargo build

Run Examples

  • mp4info
cargo run --example mp4info <movie.mp4>

Run Tests

cargo test

With print statement output.

cargo test -- --nocapture

Resources

Thanks to the following resources used when learning Rust:

License

MIT