1个不稳定版本

使用旧的Rust 2015

0.1.1 2018年8月5日

#129 in #media

MIT/Apache

17KB
301

sublercli-rs

Build Status Released API docs

一个简单的SublerCLI工具命令行界面,用于在mac OS上向媒体文件写入元数据

安装

需要额外安装SublerCLI。使用homebrew安装:brew cask install sublercli

默认情况下,sublercli-rs假定在/usr/local/bin/SublerCli下安装了homebrew。您可以使用brew cask info sublercli来检查您的安装路径。如果SublerCLI的安装目标与默认值不同,您可以通过将环境变量SUBLER_CLI_PATH设置为有效目标来覆盖路径。

原子

为了存储元数据,使用原子。原子有一个特定的名称和它存储的值。Atom结构体模仿了这种行为。存在一组预定义的有效原子。要获取所有有效元数据原子标签名称的列表

use sublercli::Atoms;
let valid_tags: Vec<&str> = Atoms::metadata_tags();

对预定义的已知原子的支持是单独实现的。Atoms函数作为一个包装器来存储一组单个Atom值,并用于创建类似以下的原子

use sublercli::*;  
let atoms = Atoms::new()
    .add("Cast", "John Doe")
    .genre("Foo,Bar")
    .artist("Foo Artist")
    .title("Foo Bar Title")
    .release_date("2018")
    .build();

标签

要调用SublerCLI进程:如果没有提供目标路径,则目标路径是现有文件名后缀,从0开始:demo.mp4 -> demo.0.mp4

use sublercli::*;
let file = "demo.mp4";
let subler = Subler::new(file, Atoms::new().title("Foo Bar Title").build())
    // by default, mediakind is already set to `Movie`
    .media_kind(Some(MediaKind::Movie))

    // set an optional destination path
    .dest("dest/path")

    // by default the optimization flag is set to true
    .optimize(false)

    // execute prcess in sync,
    // alternativly spawn the process: `.spawn_tag()`
    .tag()

    .and_then(|x| {
        println!("stdout: {}", String::from_utf8_lossy(&x.stdout));
        Ok(())
    });

无运行时依赖