use rsmediainfo::MediaInfo;
use std::env;
use std::io::Cursor;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut args = env::args().skip(1);
let url = args.next().ok_or("usage: parse_url <media_url>")?;
let response = reqwest::blocking::get(&url)?.error_for_status()?;
let bytes = response.bytes()?;
let mut cursor = Cursor::new(bytes.to_vec());
let mi = MediaInfo::parse_media_info(&mut cursor)?;
for track in mi.tracks() {
match track.track_type() {
"Audio" | "Video" => {
let data = track.to_data();
println!("{} track:", track.track_type());
println!("{data:#?}");
}
_ => {}
}
}
Ok(())
}