ITADN
mpv-player/mpv · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

mpv logo

mpv

外部链接

概述

mpv 是一个自由(指自由软件)的命令行媒体播放器。它支持 多种媒体文件格式、音频和视频编解码器以及字幕类型。

有一个 FAQ

版本发布可以在 发布列表 中找到。

系统要求

  • 不太古老的 Linux(通常,仅积极支持发行版的最新发行版)、Windows 10 1607 或更高版本,或 macOS 10.15 或更高版本。
  • 性能尚可的 CPU。如果 CPU 速度过慢而无法实时解码视频,硬件解码可能会有所帮助,但必须通过 --hwdec 选项显式启用。
  • 不太糟糕的 GPU。mpv 的重点不在于嵌入式或集成 GPU 上的低功耗播放(例如,硬件解码甚至默认未启用)。低功耗 GPU 可能会导致撕裂、卡顿等问题。 对于此类 GPU,建议使用 --profile=fast 以实现流畅播放。 主要视频输出使用着色器进行视频渲染和缩放, 而不是 GPU 固定功能硬件。在 Windows 上,您可能希望确保图形驱动程序是最新的。在某些情况下,古老的回退视频 输出方法可能会有所帮助(例如 Linux 上的 --vo=xv),但不建议或支持此用途。

mpv 不会刻意在较旧的硬件或旧的、不受支持的 操作系统上崩溃,但开发时并未考虑这些情况。与这些配置保持兼容性并不保证。如果一切正常,请将其视为 一次幸运的意外。

下载

有关半官方构建和第三方软件包,请参阅 mpv.io/installation.

变更日志

没有完整的变更日志;但是,播放器核心接口的更改 列在 interface changelog 中。

C API 的变更记录在 client API changelog 中。

release list 汇总了每次发布中大多数重要变更。

默认按键绑定的变更在 restore-old-bindings.conf 中有所说明。

默认 OSC 绑定的变更在 restore-osc-bindings.conf 中有所说明。

编译

使用完整功能进行编译需要多个 外部库的开发文件。Mpv 需要 meson 来构建。Meson 可以从你的发行版或 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 检出作为子项目,以方便的方式编译 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 和 x86_64 上的 nasm
  • fribidi, freetype, fontconfig 开发头文件 (用于 libass)
  • harfbuzz (正确渲染组合字符所需,特别是 macOS 上非英语文本的正确渲染,以及 任何平台上的阿拉伯语/印度文字)

FFmpeg 依赖项 (构建 FFmpeg 时):

  • x86 和 x86_64 上的 gcc 或 clang,nasm
  • OpenSSL 或 GnuTLS(编译 FFmpeg 时必须显式启用)
  • 如果要使用编码,则需要 libx264/libmp3lame/libfdk-aac(编译 FFmpeg 时必须显式启用)
  • 对于原生 DASH 播放,FFmpeg 必须使用 --enable-libxml2 构建 (尽管存在安全影响,且 DASH 支持存在大量 bug)。
  • AV1 解码支持需要 dav1d。
  • 为了在 Linux 上获得良好的 nvidia 支持,请确保已安装 nv-codec-headers 并且 configure 能够找到它。

上述大多数库在常规 Linux 发行版中都有合适版本可用。为了方便编译所有组件的最新 git master 版本, 您可能希望使用单独提供的构建包装器(mpv-build), 它首先编译 FFmpeg 库和 libass,然后静态链接这些库来编译播放器。

如果您想构建 Windows 二进制文件,请参阅 Windows 编译

发布周期

每年一次或两次,会从当前开发状态中切出一个发布版本, 并分配一个 0.X.0 版本号。除安全事件外,不再进行进一步维护。

发布的目标是让 Linux 发行版满意。Linux 发行版也被期望在出现 bug 时应用自己的补丁。

除最新发布版本外的其他发布版本均不受支持且不再维护。

更多信息请参阅 发布策略文档

Bug 报告

请使用 GitHub 提供的 issue tracker 向我们发送 bug 报告或功能请求。请遵循模板的说明,否则该 issue 很可能被忽略或作为无效关闭。

问题可以在 discussions 或 IRC 上提出(参见 Contact 下方)。

Contributing

请阅读 contribute.md

对于小改动,您可以直接通过 GitHub 向我们发送 pull request。对于较大 改动,请在开始工作前到 IRC 上与我们沟通。这将 使双方之后的代码审查更容易。

您可以查看 the wikiissue tracker 以获取您可以贡献的创意。

License

默认采用 GPLv2 "或更高版本",使用 -Dgpl=false 时采用 LGPLv2.1 "或更高版本"。 参见 details.

History

本软件基于 MPlayer 项目。在 mpv 作为一个项目存在之前, 代码库曾在 mplayer2 项目下短暂开发。详情 参见 FAQ

Contact

大部分活动发生在 IRC 频道和 GitHub issue tracker 上。

  • GitHub issue tracker: issue tracker(在此报告 bug)
  • Discussions: discussions
  • User IRC Channel: #mpv on irc.libera.chat
  • Developer IRC Channel: #mpv-devel on irc.libera.chat