| Crates.io | wmvkit |
| lib.rs | wmvkit |
| version | 0.1.0 |
| created_at | 2025-12-24 15:59:59.239608+00 |
| updated_at | 2025-12-24 15:59:59.239608+00 |
| description | Pure-Rust ASF (.wmv) demuxer. |
| homepage | |
| repository | https://github.com/xmoezzz/wmvkit |
| max_upload_size | |
| id | 2003510 |
| size | 3,311,472 |
This crate provides:
.wmv files (ASF Header Object + Data Object).DemuxedSample.use std::fs::File;
use wmvkit::asf::AsfDemuxer;
fn main() -> anyhow::Result<()> {
let f = File::open("input.wmv")?;
let mut demux = AsfDemuxer::open(f)?;
println!("streams: {:#?}", demux.streams());
while let Some(sample) = demux.next_sample()? {
println!("sample: stream={} kind={:?} pts_ms={} key={} bytes={}",
sample.stream_number, sample.kind, sample.pts_ms, sample.is_key, sample.data.len());
}
Ok(())
}
src/asf/* : ASF GUIDs, header parsing, data packet parsing, media-object reassembly.src/codec/*: bitreader, VLC, IDCT, pixel helpers.src/vc1/* : VC-1 (WMV9) parser.let dec = wmvkit::factory::make_video_decoder(vstream)?;
Note: WMV1/WMV2 decoders are currently not fully implemented.