33 个版本

0.15.0+ffmpeg.7.02024 年 8 月 23 日
0.14.1+ffmpeg.7.02024 年 4 月 13 日
0.13.3+ffmpeg.6.12023 年 12 月 31 日
0.13.1+ffmpeg.6.02023 年 3 月 21 日
0.2.5 2020 年 7 月 14 日

47多媒体

Download history 782/week @ 2024-05-03 670/week @ 2024-05-10 1011/week @ 2024-05-17 1164/week @ 2024-05-24 968/week @ 2024-05-31 574/week @ 2024-06-07 1124/week @ 2024-06-14 876/week @ 2024-06-21 675/week @ 2024-06-28 710/week @ 2024-07-05 454/week @ 2024-07-12 467/week @ 2024-07-19 718/week @ 2024-07-26 586/week @ 2024-08-02 996/week @ 2024-08-09 776/week @ 2024-08-16

3,133 每月下载量
3 个 Crates 中使用 (直接使用 2 个)

MIT 许可证

1.5MB
33K SLoC

Rusty FFmpeg

Doc Crates.io Downloads CI

FFmpeg 内部库的跨平台 FFI 绑定。这是一个链接 FFmpeg 库的 crate。

  1. 为你链接 FFmpeg 库。
  2. 生成 FFmpeg 库的 Rust 绑定。

入门

要使用此 crate,您需要设置几个环境变量。

最简单的用法

Linux、macOS..(*nix)

如果您已通过包管理器安装了 FFmpeg,请使用具有功能 link_system_ffmpegrusty_ffmpeg 导入。然后它应该可以工作。

如果您从源代码构建了 FFmpeg,请将 FFMPEG_PKG_CONFIG_PATH 设置为生成的 FFmpeg pkg-config 目录的路径。然后它应该可以工作。

Windows

rusty_ffmpeg 可以使用 vcpkg 链接 FFmpeg

  1. 安装 vcpkg,请检查 vcpkg crate 的文档,以获取要设置的环境变量。
  2. 使用功能 link_vcpkg_ffmpeg 导入 rusty_ffmpeg,然后它应该可以工作。

精细用法

您需要为链接和绑定生成过程设置几个环境变量。

  1. 与预构建 dylib 的动态链接:将 FFMPEG_DLL_PATH 设置为 dllso 文件的路径。 (Windows:在 .dll 文件旁边放置相应的 .lib 文件。)

  2. 与预构建静态lib的静态链接:将 FFMPEG_LIBS_DIR 设置为 FFmpeg 预构建库目录的路径。

生成绑定

  1. 编译时绑定生成(需要Clang动态库):将FFMPEG_INCLUDE_DIR设置为绑定生成所需的头文件路径。

  2. 使用预构建的绑定:将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