1 stable release
1.0.1 | May 29, 2021 |
---|
#248 in Video
16KB
306 lines
Introduction
Small Crate to infer various media containers. Works by reading Magic Bytes.
Supported Containers
- MKV
- ASF
- GXF
- WTV
- RCWT
- MP4
- TS
- M2TS
- PS
- Tivo PS
- MXF
Examples
Get Container type from starting bytes
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);
Get Container type from open file
use std::fs::File;
let mut file = File::open("some.abc").unwrap();
let kind = media_infer::ContainerType::from_file(&mut file);
Resources
lib.rs
:
Small Crate to infer various media containers by magic bytes. More about Magic bytes can be found here:
Examples
Get Container type from starting bytes
let buf = [0x1a, 0x45, 0xdf, 0xa3, 0, 1];
let kind = media_infer::ContainerType::from_bytes(&buf);
assert_eq!(kind, Ok(media_infer::ContainerType::MKV));
Get Container type from path to file
use std::path::PathBuf;
let file_path = PathBuf::from("some.abc");
let kind = media_infer::ContainerType::from_file_path(&file_path);
Get Container type from open file
use std::fs::File;
let mut file = File::open("some.abc").unwrap();
let kind = media_infer::ContainerType::from_file(&mut file);