QMPlay2:Qt 跨平台影音播放器
基于 Qt 与 FFmpeg 的开源音视频播放器,支持几乎所有格式、硬件解码与 YouTube 浏览。
- 浏览
- 4
- 访问
- 0
- 下载
- 0
- 版本
- v26.08.02
- 平台
- Windows、macOS、Linux
详细介绍
项目简介
QMPlay2 是一款基于 Qt 和 FFmpeg 的开源视频与音频播放器,可以播放 FFmpeg 支持的所有格式与编解码器。除常见音视频文件外,它还支持 Audio CD、raw 文件与 chiptune 音乐,并内置 YouTube 浏览器。项目采用 LGPL-3.0 许可证,可运行于 Windows、Linux/BSD 与 macOS。

主要功能
- 广泛的格式支持:播放 FFmpeg 支持的全部格式与编解码器,并支持 Audio CD、raw 文件、chiptune。
- YouTube 浏览:内置 YouTube 浏览器,可在搜索栏左侧的“Settings”图标中调整音频、视频质量优先级;若所选质量不存在,会按列表顺序尝试下一项。YouTube 播放依赖外部
yt-dlp,QMPlay2 会自动下载。 - 硬件解码:支持 Vulkan Video、CUVID(仅 NVIDIA)、DXVA2(Windows)、D3D11VA、VA-API(仅 Linux/BSD)和 VideoToolBox(仅 macOS)。默认关闭,可在“Settings->Playback settings”中把硬件解码器移到解码器列表顶部后应用。
- 球形视图:在 OpenGL 与 Vulkan 视频输出下支持球形视频,按
Ctrl+3或从菜单“Playback->Video filters->Spherical view”开启。 - 反交错:自动检测隔行视频,可在“Settings->Video filters”中设置;CPU 性能足够时可使用画质更好的“Yadif 2x”。Vulkan 渲染器自带 Yadif 滤镜,默认用于 CPU 解码视频。
- Streamlink 集成:
streamlink -p QMPlay2 --player-http "URL" best
streamlink -p QMPlay2 -a /dev/stdin "URL" best
- 隐藏功能:右键点击音量滑块选择“Split channels”可调节声道平衡;在“Options->Modules settings”的“Extensions”中配置 Last.fm scrobbling;在
share目录(Windows 下为QMPlay2.exe所在目录)放置空文件portable可启用便携模式,放置noautoupdates可禁用首次运行时的自动更新;在选项设置中勾选“Read and display still images”可显示静态图片;可在QMPlay2.ini的General段设置CustomUserAgent、NoCoversCache;在“Settings->General settings”中启用“Allow only one instance”实现单实例。 - 多媒体键与 MPRIS2:多媒体键通常自动生效(Linux/BSD 视配置而定);Linux/BSD 下也可通过 MPRIS2 的 dbus 命令控制播放、上一首、下一首与停止。
安装与使用
Windows:从 Releases 页面下载 Windows 安装包。
Arch Linux:安装 AUR 客户端(如 yay)后执行:
yay -S qmplay2-git
openSUSE Tumbleweed(注意不要混用不同软件源的 FFmpeg):
sudo zypper ar https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed Packman
sudo zypper dup --allow-vendor-change --from "Packman"
sudo zypper in QMPlay2
Fedora:
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf groupupdate core
sudo dnf update
sudo dnf groupupdate multimedia --setop="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin
sudo dnf groupupdate sound-and-video
sudo dnf install qmplay2
Gentoo:
emerge --ask media-video/qmplay2
Slackware:
slpkg install QMPlay2
从源码构建:先更新子模块 git submodule update --init,需要 CMake 3.16 或更高版本。必要依赖包括 Qt5 >= 5.15.2(Qt5DBus 仅 Linux/BSD、Qt5Svg、Qt5Qml、Qt6 时需 Qt6Core5Compat)与 FFmpeg >= 4.0(libavformat、libavcodec、libswscale、libavutil、libswresample,FFmpeg >= 5.1 的 libavfilter 用于音频滤镜,libavdevice 可选),以及 glslc;重要依赖为 TagLib >= 1.11 与 libass。随后执行:
cmake -GNinja -B build -S .
ninja -C build
sudo ninja -C build install
Flatpak 构建:
flatpak install org.flatpak.Builder org.kde.Platform/$(uname -m)/6.11 org.kde.Sdk/$(uname -m)/6.11
flatpak run org.flatpak.Builder build/flatpak --force-clean --ccache --user --install io.github.zaps166.QMPlay2.Devel.json
注意事项
- YouTube 播放必须依赖外部
yt-dlp;Windows 上需确保杀毒软件或防火墙不阻止yt-dlp及外部程序执行。部分配置或旧驱动下 Vulkan 可能无法切换到独占全屏。 - 硬件加速与 CPU 滤镜互斥:CUVID、DXVA2、VA-API 使用 OpenGL 视频输出,VkVideo、CUVID、D3D11VA、VA-API 使用 Vulkan 视频输出,此时 CPU 滤镜不可用。DXVA2 需要
WGL_NV_DX_interop扩展,且不能与 Vulkan 共用;VideoToolBox 不支持反交错。 - VA-API + OpenGL 使用 EGL 创建上下文,自动检测失败时可尝试
export QT_XCB_GL_INTEGRATION=xcb_glx或export QMPLAY2_EGL_CARD_FILE_PATH=/dev/dri/card1后从命令行启动。 - 使用自定义 ALSA 配置
asound.conf或.asoundrc时,应追加defaults.namehint.!showall on,否则新增设备可能不可见。 - 对非隔行视频手动开启反交错会降低画质与性能,切换到其他视频时请记得还原设置。
本作品整理自 GitHub 开源项目 zaps166/QMPlay2,原作者 @zaps166,许可证 LGPL-3.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v26.08.02当前版本
修复全屏时鼠标在窗口内按下会关闭面板的回归问题;Vulkan 对 BT.2020 视频使用 BT.2020 surface(Wayland 默认开启);支持 BT.2020 TRC 转 sRGB、显示真实 gamma 校正值;可加载并显示 LRC 歌词;新增隐藏 QMPlay2 logo 选项;修复 HLG HDR 显示。
评论