#multimedia-video #multimedia #frame #art #manipulating #avi

avirus

A Rust库,用于操作AVI文件,例如用于故障艺术

6个版本

使用旧Rust 2015

0.2.5 2024年3月20日
0.2.4 2023年4月17日
0.2.3 2019年4月26日
0.2.2 2018年8月28日
0.2.0 2018年7月25日

#111 in 视频

自定义许可证

17KB
248

avirus

avirus是一个用于操作AVI文件的库,例如用于故障艺术。

[dependencies]
avirus = "0.2.5"

示例

avirus::AVI接受一个现有的AVI文件并将其加载到内存中进行操作。 avirus::frames公开一个meta字段,该字段包含有关帧的元数据的简单结构。该字段可以遍历并修改以在输出文件中创建奇特的效果。当调用AVI文件的output()函数时,将使用修改后的元数据重新构建新文件。

extern crate avirus;

use avirus::AVI;
use avirus::frame::Frame;

fn main() {
    let mut avi = AVI::new("sample.avi").unwrap();
    let mut new_meta: Vec<Frame> = Vec::new();
    for frame in &mut avi.frames.meta {
        if frame.is_pframe() || frame.is_audioframe() {
            for _ in 0..3 {
                new_meta.push(*frame);
            }
        }
        else {
            new_meta.push(*frame);
        }
    }
    avi.frames.meta = new_meta;
    avi.output("sample_output.avi").unwrap();
}

依赖项

~120KB