#media #mpv #playback #libmpv #opengl-rendering #audio-video

libmpv2

libmpv 抽象,易于使用,可以播放几乎所有编解码器和容器

2 个稳定版本

4.0.0 2024 年 5 月 21 日
3.0.1 2024 年 4 月 12 日

#161 in 图形 API

Download history 8/week @ 2024-05-13 258/week @ 2024-05-20 26/week @ 2024-05-27 51/week @ 2024-06-03 14/week @ 2024-06-10 31/week @ 2024-06-17 47/week @ 2024-06-24 78/week @ 2024-07-01 76/week @ 2024-07-08 66/week @ 2024-07-15 7/week @ 2024-07-22 14/week @ 2024-07-29 14/week @ 2024-08-05

每月 121 次下载

LGPL-2.1

11MB
3.5K SLoC

感谢 @anlumo 对渲染实现的贡献和 @sirno 对 API 进行更新以支持 libmpv 2.0 版本的贡献。

libmpv2-rs

用 Rust 编写的 libmpv 抽象,易于使用,并提供读取几乎所有视频和音频编解码器的功能。

依赖关系

Rust 版本 >= 1.30。Libmpv 版本 2.0(mpv 版本 0.35.0)是最低要求的版本。

为了便于构建,您可以使用 build_libmpv 功能,该功能用于链接。特别适用于交叉编译到 Windows。需要将 MPV_SOURCE 环境变量设置为您想要构建的 mpv 源代码目录。对于 Windows 目标,这通常已经构建,目录名为 MPV_SOURCE/64/32,分别包含 64 位和 32 位目标的 构建工件。在 Unix 上,这预期是 mpv-build 仓库的副本。

示例

要运行示例,请执行 cargo run [--release] --example x -- test-data/jellyfish.mp4,其中 x 是以下之一

  • events:事件枚举
  • protocol:实现自定义 filereader:// 协议,该协议读取文件
  • opengl:在 SDL2 窗口中进行 openGL 渲染

贡献

欢迎所有拉取请求/问题。

依赖关系