5 个版本 (破坏性更新)
0.5.0 | 2023年6月12日 |
---|---|
0.4.0 | 2022年6月18日 |
0.3.0 | 2022年1月20日 |
0.2.0 | 2021年4月26日 |
0.1.1 | 2021年4月25日 |
#91 在 多媒体
每月64 次下载
用于 cros-codecs
150KB
3.5K SLoC
matroska-demuxer
一个可以解复用 Matroska 和 WebM 容器文件的解复用器。
为了简单起见,只支持 Matroska 和 WebM 都支持的元素。
集成测试
要运行集成测试,您需要下载 Matroska 测试套件 视频文件,并将它们提取到 tests/data
文件夹中(test1.mkv 到 test8.mkv)。
许可协议
许可协议为 MIT 或 Apache-2.0 或 ZLIB。
lib.rs
:
一个可以解复用 Matroska 和 WebM 容器文件的解复用器。
示例
use std::fs::File;
use matroska_demuxer::*;
let file = File::open("test.mkv").unwrap();
let mut 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");
}
}