HEVC (H.265) 视频播放

为什么部分视频在 PlainApp 网页面板中只有声音没有画面,以及如何在浏览器中启用原生 HEVC (H.265) 播放。

为什么有些视频只有声音

现代手机相机(Pixel、iPhone、三星等)默认用 HEVC (H.265) 录制视频——同等画质下文件体积比 H.264 小一半。但并非所有浏览器都内置 HEVC 解码能力。

平台Chrome / EdgeSafariFirefox
macOS
系统内置(VideoToolbox)
Windows
需安装系统「HEVC Video Extensions」
Android
硬件解码器
较新版本,硬件解码
iOS / iPadOS
所有浏览器均基于 WebKit

关键点:Chromium 系浏览器(Chrome、Edge、Brave 等)不自带 HEVC 解码器,而是依赖操作系统的解码器——在 Windows 上是可选安装的「HEVC Video Extensions」,在 macOS 上则是系统始终自带的 VideoToolbox。这就是为什么同一个版本的 Edge 在 Mac 上能播 HEVC,在没装扩展的 Windows 电脑或虚拟机里却只有黑屏(仅有声音)。Firefox 则完全不支持网页视频中的 HEVC。

PlainApp 网页面板检测到这种情况时,会自动在手机上把视频转码为 H.264 再播放——你会看到一条提示横幅。设备上的原文件始终保留原画质;转码只影响该浏览器会话,并会缓存供下次使用。

如何获得原生(原始画质)播放

三种让浏览器直接解码 HEVC 的方法,视频即可满原画质播放,无需转码。

Windows — 安装 HEVC 扩展

从 Microsoft Store 安装官方的 HEVC Video Extensions(约 $0.99),然后重启浏览器。

旧的免费「设备制造商提供」版本已被微软下架;不过如果你的电脑厂商预装了它,就已经可以直接使用。

虚拟机(UTM / Parallels / VMware):扩展可以安装,但没有 GPU 硬件解码,播放走 CPU 软解。重度使用建议下载文件后用本地播放器播放。

任意桌面系统 — 下载后本地播放

点击任意视频的下载按钮,用自带 HEVC 解码器的播放器打开文件。

macOS 和 Windows 的系统播放器(QuickTime / 「电影和电视」)在安装上面的扩展后也能播放 HEVC。

Linux

Chromium 使用系统的 VAAPI/VDPAU:当 GPU 驱动提供 HEVC 解码器时即可播放。否则请用上面的下载后本地播放流程,或在硬件支持的机器上使用 Firefox 135+。

vainfo | grep -i hevc

技术细节

浏览器通过 canPlayType() 和 MediaCapabilities.decodingInfo() 上报真实的解码能力。PlainApp 网页面板在决定是否请求转码流之前,会先探测 video/mp4; codecs=hvc1.1.6.L93.B0——探测结果反映的是系统解码器注册表,所以同一个浏览器在不同电脑上表现不同。

Chromium 从 Chrome 107(2022 年 10 月)起默认启用平台 HEVC 解码。想深入了解可阅读社区维护的 enable-chromium-hevc-hardware-decoding 指南。

codec 标签很重要:MP4 中标记为 hvc1 的 HEVC 轨道被普遍接受,而 hev1 会被部分旧版 Safari 拒绝。

关于各浏览器和平台 HEVC 支持情况的延伸阅读。

常见问题