问题描述:
在看似随机的时刻,我正在观看的视频和音频会挂起,并且程序通常会停止响应我的输入。我通常会在等待确保它没有缓冲或类似的情况后关闭有问题的程序。
观测信息:
- mpv 和 VLC 中都发生过这种情况,两者都有类似的行为(失去输入控制)
- 我确信我的问题仅针对视频文件。我能够使用 mpv 播放多个音乐文件,而不会出现冻结现象。不过,突然停止的视频的声音也同样停止了。
- 我从命令行以不同的详细级别启动了 mpv 和 VLC,以查看 STDOUT/STDERR 是否有任何有用的信息,但无济于事。
- 使用默认设置的 mpv(未启用硬件解码),我无法重现该问题。
我目前的假设是它与硬件视频解码有关,但我不太确定要测试什么或从这里开始。我尝试在谷歌上搜索,但视频冻结似乎是一个普遍的问题,我找不到任何听起来像发生在我身上的事情。
还有什么我可以尝试的吗?或者有什么方法可以诊断我的笔记本电脑的视频硬件解码是否出现故障?
软件信息:
- 我正在使用 Arch Linux
- 我拥有英特尔视频硬件解码所需的所有软件包(libva-intel 驱动程序1.4.1-1)
- ArchWiki 页面位于英特尔显卡包含一个有关冷冻的小节,但看起来这通常是针对 X 的问题。我尝试了一下没有成功。
这是我的
vainfo
输出:libva info: VA-API version 0.36.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_36 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.36 (libva 1.4.1) vainfo: Driver version: Intel i965 driver for Intel(R) Ironlake Mobile - 1.4.1 vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264Main : VAEntrypointVLD VAProfileH264High : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc
答案1
Ironlake(不知道 Sandy Bridge)受到 mesa 处理不当的影响,这个问题似乎在新版本中得到了修复(已于 2015 年 8 月修复)