#播放列表 #编码 #蓝光

mpls

电影播放列表文件(MPLS)解析器

2个不稳定版本

0.2.0 2020年5月28日
0.1.0 2020年5月21日

#28 in #播放列表

MIT/Apache

92KB
895

mpls

Crates.io

一个电影播放列表文件(MPLS)解析器。使用Rust语言编写,并使用了nom解析器组合库。

双授权,MIT和Apache 2.0。

示例

use std::fs::File;
use std::io::Read;
use mpls::Mpls;

fn main() -> std::io::Result<()> {
    // open the playlist file
    let mut file = File::open("00800.mpls")?;

    // parse the play list
    let mpls = Mpls::from(&file).expect("failed to parse MPLS file.");

    // extract the play list's angles
    let angles = mpls.angles();

    // extract the segments
    for angle in angles {
        let segment_numbers: Vec<i32> = angle
            .segments()
            .iter()
            .map(|s| s.file_name.parse::<i32>().unwrap())
            .collect();
        println!("angle {}: {:?}", angle, segment_numbers);
    }

    Ok(())
}

安装

将以下内容添加到您的Cargo.toml

[dependencies]
mpls = "0.2.0"

文档

请参阅crates.io上的参考文档

依赖

~1MB
~18K SLoC