mpv

C/C++ 2025-08-17

mpv

  • 外部链接
  • 概述
  • 系统要求
  • 下载
  • ChangElog
  • 汇编
  • 释放周期
  • 错误报告
  • 贡献
  • 执照
  • 接触

外部链接

  • Wiki
  • 用户脚本
  • 常问问题
  • 手动的

概述

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

有一个常见问题解答。

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

系统要求

  • 不太古老的Linux(通常仅支持最新的发行版),Windows 10 1607或更高版本,或MacOS 10.15或更高版本。
  • 有点有能力的CPU。如果CPU太慢无法实时解码视频,则硬件解码可能会有所帮助,但必须通过--hwdec选项明确启用视频。
  • 不太糟糕的GPU。 mpv的重点不在嵌入式或集成的GPU上播放(例如,默认情况下甚至不启用硬件解码)。低功率GPU可能会导致撕裂,口吃等等问题。在这样的GPU上,建议使用--profile=fast播放。主视频输出使用着色器进行视频渲染和缩放,而不是GPU固定功能硬件。在Windows上,您可能需要确保图形驱动程序是当前的。在某些情况下,古代的后备视频输出方法可以帮助(例如--vo=xv在Linux上),但不建议或支持此用途。

mpv并没有竭尽全力破坏旧的硬件或旧的,不支持的操作系统,但并未考虑开发。不能保证与此类设置保持兼容性。如果事情有效,请认为这是一个快乐的事故。

下载

有关半官方版本和第三方软件包,请参阅mpv .IO/安装。

ChangElog

没有完整的更改;但是,在接口ChangElog中列出了播放器核心接口的更改。

对C API的更改记录在客户端API ChangElog中。

发行列表摘要总结了每个发行版的大多数重要更改。

默认键绑定的更改在恢复的旧绑定中指示。

默认OSC绑定的更改在Restore-OSC-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,Meson可以使用Git Check作为一个子标记,以方便地汇编mpv如果在构建环境中不容易获得足够的Libplacebo版本。它将与mpv静态链接。例子:

 mkdir -p subprojects
git clone https://code.vi*d*e*olan.org/videolan/libplacebo.git --depth=1 --recursive subprojects/libplacebo

基本依赖项(不完整列表):

  • 海湾合作委员会或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(通常由系统提供)
  • libass(OSD,OSC,文字字幕)
  • LUA(可选,OSC伪GUI和YouTube-DL集成所需)
  • libjpeg(可选,仅用于屏幕截图)
  • uChardet(可选,用于字幕Charset检测)
  • NVDEC和VAAPI库,用于Linux上的硬件解码(可选)

Libass依赖(建立Libass时):

  • GCC或Clang,X86和X86_64的NASM
  • Fribidi,Freetype,Fontconfig开发标题(用于Libass)
  • harfbuzz(正确渲染字符所需

FFMPEG依赖性(构建FFMPEG时):

  • GCC或Clang,X86和X86_64的NASM
  • OpenSSL或Gnutls(编译FFMPEG时必须明确启用)
  • libx264/libmp3lame/libfdk-aac如果要使用编码(编译FFMPEG时必须明确启用)
  • 对于本机dash播放,需要使用-enable-libxml2构建FFMPEG(尽管有安全性含义,并且DASH支持有很多错误)。
  • AV1解码支持需要DAV1D。
  • 为了在Linux上进行良好的NVIDIA支持,请确保已安装NV-Codec-Headers,并可以通过配置找到。

上述大多数库都在正常Linux分布的合适版本中获得。为了易于编译所有内容的最新git主机,您可能希望使用单独的可用构建包装器( mpv -Build),该包装器首先编译FFMPEG库和Libass,然后将播放器静态地链接到这些库中。

如果要构建Windows二进制文件,请参见Windows编译。

释放周期

每年一次或两次,从当前的开发状态中切断发布,并分配了0.x.0版本号。除了出现安全问题外,没有进一步的维护。

发行的目的是使Linux发行愉快。在错误的情况下,Linux发行版也有望应用自己的补丁。

除了最新版本以外的发行版是不受支持的,也不是没有任何版本。

有关更多信息,请参见发布策略文档。

错误报告

请使用GitHub提供的问题跟踪器向我们发送错误报告或功能请求。按照模板的说明进行操作,或者问题可能会被忽略或关闭,因为它是无效的。

可以在讨论或IRC中提出问题(请参见下面的联系人)。

贡献

请阅读贡献。

对于小更改,您可以通过GitHub向我们发送拉动请求。为了更大的变化,在您开始研究它们之前,请与我们交谈。稍后,这将使双方更容易代码审查。

您可以查看Wiki或问题跟踪器,以了解有关您可以做出的贡献的想法。

执照

默认情况下,gplv2“或更高版本”,lgplv2.1或更高版本,with -Dgpl=false 。请参阅详细信息。

历史

该软件基于Mplayer项目。在mpv作为项目存在之前,在Mplayer2项目下简要开发了代码库。有关详细信息,请参阅常见问题解答。

接触

大多数活动发生在IRC渠道和GitHub问题跟踪器上。

  • GitHub问题跟踪器:问题跟踪器(在此处报告错误)
  • 讨论:讨论
  • 用户IRC频道# mpvirc.libera.chat
  • 开发人员IRC频道# mpv -develirc.libera.chat
下载源码

通过命令行克隆项目:

git clone https://github.com/mpv-player/mpv.git