1个稳定版本
1.0.1 | 2021年5月29日 |
---|
#217 in 视频
16KB
306 行
简介
一个小型库,用于推断各种媒体容器。通过读取魔数字节来实现。
支持的容器
- MKV
- ASF
- GXF
- WTV
- RCWT
- MP4
- TS
- M2TS
- PS
- Tivo PS
- MXF
示例
从起始字节获取容器类型
let buf = [0x1a, 0x45, 0xdf, 0xa3, 0, 1];
let kind = media_infer::ContainerType::from_bytes(&buf);
assert_eq!(kind, Ok(media_infer::ContainerType::MKV));
#+end_src
** Get Container type from path to file
#+begin_src rust
use std::path::PathBuf;
let file_path = PathBuf::from("some.abc");
let kind = media_infer::ContainerType::from_file_path(&file_path);
从打开的文件获取容器类型
use std::fs::File;
let mut file = File::open("some.abc").unwrap();
let kind = media_infer::ContainerType::from_file(&mut file);
资源
lib.rs
:
通过魔数字节推断各种媒体容器的小型库。更多关于魔数字节的信息可以在这里找到
示例
从起始字节获取容器类型
let buf = [0x1a, 0x45, 0xdf, 0xa3, 0, 1];
let kind = media_infer::ContainerType::from_bytes(&buf);
assert_eq!(kind, Ok(media_infer::ContainerType::MKV));
从文件路径获取容器类型
use std::path::PathBuf;
let file_path = PathBuf::from("some.abc");
let kind = media_infer::ContainerType::from_file_path(&file_path);
从打开的文件获取容器类型
use std::fs::File;
let mut file = File::open("some.abc").unwrap();
let kind = media_infer::ContainerType::from_file(&mut file);