#bindings #vsscript #api-bindings

vapoursynth

为VapourSynth和VSScript提供的安全的Rust封装

6个版本 (3个破坏性更新)

0.4.0 2022年7月13日
0.3.0 2019年10月22日
0.2.0 2018年6月16日
0.1.2 2018年4月2日
0.1.1 2018年3月24日

视频 中排名 66

Download history 96/week @ 2024-04-20 104/week @ 2024-04-27 134/week @ 2024-05-04 157/week @ 2024-05-11 123/week @ 2024-05-18 113/week @ 2024-05-25 97/week @ 2024-06-01 122/week @ 2024-06-08 112/week @ 2024-06-15 112/week @ 2024-06-22 62/week @ 2024-06-29 79/week @ 2024-07-06 110/week @ 2024-07-13 115/week @ 2024-07-20 212/week @ 2024-07-27 98/week @ 2024-08-03

每月下载量 538
用于 8 个库 (直接使用4个)

MIT/Apache

260KB
5K SLoC

vapoursynth-rs

crates.io Documentation Actions Status

变更日志

启用所有功能的master分支的文档

使用Rust编写的VapourSynth的安全封装。

主要目标是安全性(也就是说,安全的Rust代码不应触发未定义的行为),次要目标包括性能和易用性。

功能

大多数VapourSynth API都被覆盖。可以评估.vpy脚本,访问它们的属性和输出,检索帧;枚举已加载的插件并调用它们的函数,以及创建VapourSynth过滤器。

有关示例用法,请参阅examples/vspipe.rs,这是VapourSynth的vspipe在安全Rust中使用此库的完整重新实现。

有关VapourSynth插件示例,请参阅sample-plugin,该插件实现了一些简单的过滤器。

vapoursynth-sys

crates.io Documentation

变更日志

VapourSynth的原始绑定。

支持的版本

支持从3.0开始的全部VapourSynth和VSScript API版本。默认情况下,crates使用3.0功能集。要启用更高API版本支持,启用以下Cargo功能之一

  • vapoursynth-api-31 用于VapourSynth API 3.1 (R26)
  • vapoursynth-api-32 用于VapourSynth API 3.2 (R27)
  • vapoursynth-api-33 用于VapourSynth API 3.3 (R30)
  • vapoursynth-api-34 用于VapourSynth API 3.4 (R30)
  • vapoursynth-api-35 用于VapourSynth API 3.5 (R38)
  • vapoursynth-api-36 用于VapourSynth API 3.6 (R47)
  • vsscript-api-31 用于VSScript API 3.1
  • vsscript-api-32 用于VSScript API 3.2

要启用链接到VapourSynth或VSScript函数,启用以下Cargo功能

  • vapoursynth-functions 用于VapourSynth函数 (getVapourSynthAPI())
  • vsscript-functions 用于 VSScript 函数 (vsscript_*())

构建

如果您启用了链接功能,请确保您有相应的库可用。您可以使用 VAPOURSYNTH_LIB_DIR 环境变量来指定包含库文件的自定义目录。

在 Windows 上,最简单的方法是使用 VapourSynth 安装程序(确保已选中 VapourSynth SDK)。程序应该会自动拾取库目录。如果它没有或如果您正在交叉编译,将 VAPOURSYNTH_LIB_DIR 设置为 <到 VapourSynth 安装路径>\sdk\lib64<...>\lib32,具体取决于目标位数。

许可证

根据您的选择,许可如下

依赖关系

~0.5–1MB
~23K SLoC