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