33 个版本
| 新 0.15.0+ffmpeg.7.0 | 2024 年 8 月 23 日 |
|---|---|
| 0.14.1+ffmpeg.7.0 | 2024 年 4 月 13 日 |
| 0.13.3+ffmpeg.6.1 | 2023 年 12 月 31 日 |
| 0.13.1+ffmpeg.6.0 | 2023 年 3 月 21 日 |
| 0.2.5 | 2020 年 7 月 14 日 |
47 在 多媒体 中
3,133 每月下载量
在 3 个 Crates 中使用 (直接使用 2 个)
1.5MB
33K SLoC
Rusty FFmpeg
FFmpeg 内部库的跨平台 FFI 绑定。这是一个链接 FFmpeg 库的 crate。
- 为你链接 FFmpeg 库。
- 生成 FFmpeg 库的 Rust 绑定。
入门
要使用此 crate,您需要设置几个环境变量。
最简单的用法
Linux、macOS..(*nix)
如果您已通过包管理器安装了 FFmpeg,请使用具有功能 link_system_ffmpeg 的 rusty_ffmpeg 导入。然后它应该可以工作。
如果您从源代码构建了 FFmpeg,请将 FFMPEG_PKG_CONFIG_PATH 设置为生成的 FFmpeg pkg-config 目录的路径。然后它应该可以工作。
Windows
rusty_ffmpeg 可以使用 vcpkg 链接 FFmpeg
- 安装
vcpkg,请检查 vcpkg crate 的文档,以获取要设置的环境变量。 - 使用功能
link_vcpkg_ffmpeg导入rusty_ffmpeg,然后它应该可以工作。
精细用法
您需要为链接和绑定生成过程设置几个环境变量。
链接预构建库
-
与预构建 dylib 的动态链接:将
FFMPEG_DLL_PATH设置为dll或so文件的路径。 (Windows:在.dll文件旁边放置相应的.lib文件。) -
与预构建静态lib的静态链接:将
FFMPEG_LIBS_DIR设置为 FFmpeg 预构建库目录的路径。
生成绑定
-
编译时绑定生成(需要Clang动态库):将
FFMPEG_INCLUDE_DIR设置为绑定生成所需的头文件路径。 -
使用预构建的绑定:将
FFMPEG_BINDING_PATH设置为预构建的绑定文件。预构建绑定通常是从编译时绑定生成的OUT_DIR复制的,使用它将防止重复生成相同的绑定文件。
链接由包管理器安装的FFmpeg(在*nix系统上)
通过启用特性link_system_ffmpeg(它使用pkg-config)可以链接由包管理器安装的FFmpeg库。
链接由vcpkg安装的FFmpeg
通过在Windows、macOS和Linux上启用特性link_vcpkg_ffmpeg可以链接由vcpkg安装的FFmpeg库。
使用特定的FFmpeg版本
- 当您使用FFmpeg
4.*时,请勿执行任何操作。 - 当您使用FFmpeg
5.*时,启用ffmpeg5特性。 - 当您使用FFmpeg
6.*时,启用ffmpeg6特性。 - 当您使用FFmpeg
7.*时,启用ffmpeg7特性。
注意
FFI并不那么容易,尤其是当您处理一个大型的旧C项目时。如果遇到问题,请不要气馁。CI检查已经有一些典型的ffmpeg编译和使用案例供您检查。如果仍有任何问题,请提交一个问题。
依赖项
~0–2MB
~38K SLoC