MPV Player 是一个免费的命令行媒体播放器。该播放器支持多种格式的媒体文件、音频视频编解码器及字幕类型。MPV的部署基于命令行操作,加载视频时只需简单地将文件拖拽至MPV可执行文件中即可。用户还可以先启动应用程序,然后拖放文件输入。
该播放器具备基础的播放控制选项,可以快速前进和在片段中跳跃。通过简单的鼠标点击即可快速切换到同一文件夹中的下一个视频或前一个视频。MPV Player配备了高质量视频输出支持和高效的视频解码能力,得益于C语言API的实施,最大化地简化了其他程序的集成过程。
MPV Player的特点还包含了基于OpenGL、Vulkan和D3D11的视频输出,它包含了许多视频爱好者喜爱的功能,例如采用高质量算法共享视频速率、色彩管理、帧插值、HDR等。MPV能充分利用各平台上的大多数硬件解码API。需要时可以激活硬件解码器。简洁的API设计初衷是帮助MPV能作为库使用,并便于其他应用程序的简易集成。MPV正在积极开发中,集中精力进行代码重构和清理工作以及新功能的添加。
更改日志
没有完整的更新日志;但是,对玩家核心界面的更改列在界面更改日志中。
对 C API 的更改记录在客户端 API 更改日志中。
版本列表包含每个版本上大多数重要更改的摘要。
对默认键绑定的更改在 restore-old-bindings.conf 中指示。
汇编
使用完整功能进行编译需要多个外部库的开发文件。Mpv 需要介子来构建。介子可以从您的发行版或 PyPI 获得。
创建构建目录(例如 meson setup build
),您可以通过 meson configure build
查看所有构建选项的列表。您也可以简单地查看 meson_options.txt
文件。日志存储在生成目录中 meson-logs
。
例:
meson setup build
meson compile -C build
meson install -C build
对于 libplacebo,如果构建环境中不容易获得足够的 libplacebo 版本,meson 可以使用 git check out 作为子项目来方便地编译 mpv。它将与 mpv 静态链接。例:
mkdir -p subprojects
git clone https://code.videolan.org/videolan/libplacebo.git --depth=1 --recursive subprojects/libplacebo
基本依赖关系(不完整列表):
- GCC 或 CLANG
- X 开发头(xlib、xrandr、xext、xscrnsaver、xpresent、libvdpau、libGL、GLX、EGL、xv、...)
- 音频输出开发接头(libasound/ALSA、pulseaudio)
- FFmpeg 库(libavutil、libavcodec、libavformat、libswscale、libavfilter 和 libswresample 或 libavresample)
- libplacebo
- zlib 的
- iconv(通常由系统 libc 提供)
- libass(OSD、OSC、文字字幕)
- Lua(可选,OSC 伪 GUI 和 youtube-dl 集成需要)
- libjpeg(可选,仅用于屏幕截图)
- uchardet(可选,用于字幕字符集检测)
- 用于 Linux 硬件解码的 nvdec 和 vaapi 库(可选)
Libass 依赖项(构建 Libass 时):
- gcc 或 clang、x86 上的 yasm 和 x86_64
- Fribidi、FreeType、FontConfig 开发头文件(用于 Libass)
- harfbuzz(正确呈现组合字符所必需的,特别是在 macOS 上正确呈现非英语文本,以及在任何平台上正确呈现阿拉伯语/印度语脚本)
FFmpeg 依赖项(构建 FFmpeg 时):
- gcc 或 clang、x86 上的 yasm 和 x86_64
- OpenSSL 或 GnuTLS(编译 FFmpeg 时必须显式启用)
- libx264/libmp3lame/libfdk-aac(如果要使用编码)(编译 FFmpeg 时必须显式启用)
- 对于原生 DASH 播放,FFmpeg 需要使用 --enable-libxml2 构建(尽管存在安全隐患,并且 DASH 支持有很多错误)。
- AV1 解码支持需要 dav1d。
- 为了在 Linux 上提供良好的 nvidia 支持,请确保已安装 nv-codec-headers,并且可以通过配置找到。
上述大多数库在普通 Linux 发行版上都有合适的版本。为了便于编译最新的 git master,您可能希望使用单独可用的构建包装器 ( mpv-build),它首先编译 FFmpeg 库和 libass,然后编译与它们静态链接的播放器。
如果要构建 Windows 二进制文件,则必须使用 MSYS2 和 MinGW,或者使用 MinGW 从 Linux 交叉编译。请参阅 Windows 编译。
评论(0)