#matroska #webm #demuxer #demux

matroska-demuxer

A demuxer that can demux Matroska and WebM container files

4 releases (breaking)

Uses new Rust 2021

0.4.0 Jun 18, 2022
0.3.0 Jan 20, 2022
0.2.0 Apr 26, 2021
0.1.1 Apr 25, 2021
0.1.0 Apr 25, 2021

#41 in Multimedia

Download history 20/week @ 2022-03-16 8/week @ 2022-03-23 3/week @ 2022-04-06 1/week @ 2022-04-20 23/week @ 2022-04-27 16/week @ 2022-05-04 45/week @ 2022-05-11 15/week @ 2022-05-18 13/week @ 2022-05-25 28/week @ 2022-06-01 6/week @ 2022-06-08 26/week @ 2022-06-15 4/week @ 2022-06-22

64 downloads per month

Zlib OR MIT OR Apache-2.0

150KB
3.5K SLoC

matroska-demuxer

Latest version Documentation ZLIB MIT Apache

A demuxer that can demux Matroska and WebM container files.

For simplicity only the elements supported by both Matroska and WebM are supported.

Integration test

To run the integration test you need to download the Matroska test suite video files and extract them into the tests/data folder (test1.mkv to test8.mkv).

License

Licensed under MIT or Apache-2.0 or ZLIB.


lib.rs:

A demuxer that can demux Matroska and WebM container files.

Example:

let file = File::open("test.mkv").unwrap();
let mkv = MatroskaFile::open(file).unwrap();
let video_track = mkv
    .tracks()
    .iter()
    .find(|t| t.track_type() == TrackType::Video)
    .map(|t| t.track_number().get())
    .unwrap();

let mut frame = Frame::default();
while mkv.next_frame(&mut frame).unwrap() {
    if frame.track == video_track {
        dbg!("video frame found");
    }
}

Dependencies