1
0
Fork 0
mirror of https://github.com/alfg/mp4-rust.git synced 2024-05-20 01:08:06 +00:00
mp4-rust/README.md

67 lines
1.3 KiB
Markdown
Raw Normal View History

# mp4rs
> MP4 Reader in Rust
ISO/IEC 14496-12 - ISO Base Media File Format (QuickTime, MPEG-4, etc)
2020-02-04 05:56:55 +00:00
[![Crates.io](https://img.shields.io/crates/v/mp4)](https://crates.io/crates/mp4)
[![Crates.io](https://img.shields.io/crates/d/mp4)](https://crates.io/crates/mp4)
[![Build Status](https://travis-ci.org/alfg/mp4rs.svg?branch=master)](https://travis-ci.org/alfg/mp4rs)
![Rust](https://github.com/alfg/mp4rs/workflows/Rust/badge.svg)
#### Example
```rust
use mp4;
fn main() {
let f = File::open("example.mp4").unwrap();
2020-07-31 17:18:06 +00:00
let size = f.metadata()?.len();
let reader = BufReader::new(f);
2020-07-31 17:18:06 +00:00
let mut mp4 = Mp4Reader::new(reader);
mp4.read(size)?;
2020-07-31 17:18:06 +00:00
println!("size: {}", mp4.size());
println!("brands: {:?} {:?}\n", mp4.ftyp.major_brand, mp4.ftyp.compatible_brands);
}
```
See [examples/](examples/) for a full example.
#### Documentation
* https://docs.rs/mp4/
2020-01-08 06:53:15 +00:00
## Development
#### Requirements
* [Rust](https://www.rust-lang.org/)
#### Build
2020-01-08 06:53:15 +00:00
```
cargo build
```
#### Run Examples
* `mp4info`
```
cargo run --example mp4info <movie.mp4>
2020-01-08 06:53:15 +00:00
```
#### Run Tests
```
cargo test
```
With print statement output.
```
cargo test -- --nocapture
```
## Resources
Thanks to the following resources used when learning Rust:
* https://github.com/mozilla/mp4parse-rust
* https://github.com/pcwalton/rust-media
* https://github.com/alfg/mp4
## License
MIT