从 Ubuntu 14.04 升级到 16.04 后,我立即注意到一个问题,即 VLC 现在在您跳过时显示糟糕的视频,它似乎只在几秒钟后自行修复,我猜它下一次遇到关键帧时会出现这种情况。这可以在下面的屏幕截图中显示:
我尝试了以下方法来解决该问题:
- 使用 VLC 的稳定 ppa 获得 VLC 的更高版本(VLC 媒体播放器 2.2.4 Weatherwax)
- 从 nvidia 驱动程序 361.42 更改为 340.96(这不起作用所以我切换回来,我确保每次都重新启动)。我还尝试了 X.Org X 服务器 - Nouveau 驱动程序。
- 尝试从自动到 X11 视频输出 XCB 和 OpenGL GLX 视频输出 (XCB) 的各种输出。
- 将硬件加速解码从自动更改为禁用(在输入/编解码器选项卡下)
- 禁用除我的主显示器之外的所有显示器。
我注意到,如果我暂停视频,跳到任何位置,等待一两秒钟,然后播放,视频就可以了。我只需要 VLC 等待它准备好,而不是尝试立即使用音频并尝试让视频同步。
其他媒体播放器(如 mpv 媒体播放器)只是在这方面工作,但我注意到 mpv 媒体播放器由于某种原因不允许我跳到下一个视频,这就是为什么我要回去尝试修复 VLC。
2016 年 6 月 4 日更新
我刚刚在我的上网本上安装了 Xubuntu,VLC 在那里运行得非常好。我从 PPA 中尝试了 VLC 2.2.2 和 2.2.4。这个问题看起来像是 Ubuntu 桌面特有的,或者与我的桌面显示器通过 Nvidia GPU 运行(但使用 nouveau 驱动程序进行测试)这一事实有关。
我注意到的另一件事是,来自同一网络上的远程主机的流媒体使用 NFS 共享使问题更加明显。
2016 年 6 月 8 日更新
我已经上传了一个 youtube 视频,试图展示行为的变化,即当你跳来跳去时,音频永远不会停止播放,但视频将被“暂停”,然后在最终自行整理之前以像素化的形式播放。通常,一旦播放器准备就绪,音频和视频都会一起启动,并且不会出现视频像素化,如本视频所示,使用 VLC 的 Xubuntu 16.04。
2016 年 6 月 9 日更新
我使用 Kazam 屏幕投射器录制的视频似乎没有受到影响,这让我相信这是一些专有的编解码器或其他东西。我重新访问了解码菜单,发现只有这个选项适用于本地文件(当从 NFS 文件夹加载同一视频时,我仍然遇到像素化问题,但也许这是另一个不同的问题?)。
我猜 DRM 选项在这里很重要,因为通过 X11 的 VA-API不起作用(“禁用”或任何其他选项也没有)。当我从 NFS 加载视频时,我现在很想弄清楚我需要做什么。 增加流输出复用器缓存并没有解决它。
最终更新 - 这是 Nvidia 问题(2016 年 6 月 9 日)
这绝对是与 Nvidia 显卡相关的问题(尚未测试 AMD)。在注意到带有 DRM 的 VA-API 在我的工作计算机(它也运行带有 Nvidia 显卡的 Ubuntu 16.04)上不起作用之后,当我回到家时,我尝试安装 xubuntu 来测试这个理论。那没有成功。之后,我拔掉了我的 Nvidia 显卡,现在使用集成的英特尔显卡(在 i5-4670K 上),它在“自动”甚至从 NFS 加载的文件上都表现出色。
通常我会将此作为答案发布,但我认为其他人不会对此感到满意。我希望也许有人会有一个解决方案,我可以再次插入我的显卡,但我认为现实是我们需要等待内核更新和/或来自 Nvidia 的更好的专有驱动程序。令我惊讶的是,将卡插入并使用开源 nouveau 驱动程序或关闭硬件加速不起作用。
2016 年 10 月 19 日更新
我注意到我的 Nvidia 模块在今天的更新过程中被重新编译,所以我重新启动并再次测试。看起来这个问题现在已经解决了。作为参考,我在 Nvidia GTX 970 上运行驱动程序版本 367.57。
原始答案
TL;博士
这里的关键点是安装驱动程序 PPA 会导致
libcuda1-361
libxnvctrl0
升级包,从而解决问题。我还发现我有很多 nvidia 驱动程序的问题,所以最安全的做法是回到开源驱动程序。nvidia-340
不过,我在司机方面取得了一些成功。详细描述
好吧,不知何故,我偶然设法解决了这种情况
首先我安装了驱动程序ppa:
然后我清除了现有的 nvida 驱动程序
然后我安装了364驱动程序。
重新启动后,我无法登录 Ubuntu 桌面,但可以通过之前的测试登录到 Xubuntu 桌面。这足以让我看到视频播放完美,但在几分钟内我的电脑就会锁定并且需要硬重启。这样做几次后,我再次清除了 nvidia 驱动程序:
我不再安装 nvidia 二进制驱动程序并且在 Nouveau 驱动程序上,但是视频播放正常并且我的计算机没有锁定!
我在带有 nvidia 图形(GTX 1050)的 KDE Neon(ubuntu 16.04)上遇到了同样烦人的问题。我正在使用 nvidia 驱动程序 375.82。要解决此问题,我必须更改两个 vlc 设置:
Video Settings
-->Output
-->X11 video output (XCB)
Codecs
-->Hardware accelerated decoding
-->VA-API video decoder via DRM
第二个设置需要跳过一些专有文件,如
wmv
. 据我测试,在没有 nvidia 显卡的情况下,vlc 现在可以像以前一样工作。通过选择 VLC 设置 > 视频 > 输出为“X11 视频输出 (XCB)”而不是跳过时有延迟的“VDPAU 输出”,我能够让我的工作
nvidia-367
和驱动程序一起工作。nvidia-370
所有(XCB)选项都对我有用,nvidia-367
包括“X11 视频输出(XCB)”-(在 上不起作用nvidia-370
)和“OpenGL GLX视频输出(XCB)”-(OpenGL GLX在升级到重启后工作nvidia-370
)。基本上所有 XCB 选项都运行良好(跳过、速度),彩色 ASCII 艺术正常运行,OpenGL(非 GLX/XCB)选项与左下角对齐但跳过良好。ASCII 艺术(黑白)工作正常,但无法调整大小。其他人没有在屏幕上显示东西。
会考虑更新到 nvidia-370,因为它最近刚出来。
Unity 14.04 中的 VLC 也有同样的问题,它是最近才开始的,可能是由定期 apt 升级引起的,但我没有查明。VLC 中的播放断断续续,垂直同步问题,视频在向前跳过时会挂起几秒钟。我的戴尔笔记本电脑中有一张 Nvidia 卡。我检查了其他选项,例如 HDMI 电缆(使用外接显示器),但最终将其缩小到 VLC。
我的(懒惰的)解决方案是切换到 Unity 中称为“视频”的内置 Totem 播放器。它似乎具有所有编解码器和基本功能。目前没有问题。我稍后会处理这个问题或等待更新。
在带有独立 nvidia 显卡和 Ubuntu 16.04 的联想笔记本上也有同样的问题。
nvidia-settings
通过在工具中选择集成 Intel HD 来解决。因此解决方案(如果您安装了 nvidia 驱动程序)是运行nvidia-settings
并选择集成英特尔高清显卡我在 Debian Jessie、带有反向端口 Nvidia 驱动程序的 Nvidia 950 GC 和 VLC 2.2.4 上遇到了同样的问题。更新到 367.44-3 版本的 nvidia 驱动程序解决了这个问题。
我找到的解决方案:将素材解码切换为“通过 DRM 的 VA-API”。它现在工作正常。
希望这可以帮助某人。