跳过时 VLC 视频出现像素化

跳过时 VLC 视频出现像素化

从 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 media player)在这方面可以工作,但我注意到 mpv media player 由于某种原因不允许我跳到下一个视频,这就是我要尝试修复 VLC 的原因。

2016 年 6 月 4 日更新

我刚刚在上网本上安装了 Xubuntu,VLC 运行得很好。我尝试了 PPA 中的 VLC 2.2.2 和 2.2.4。这个问题看起来是 Ubuntu Desktop 独有的,或者与我的桌面显示器通过 Nvidia GPU 运行有关(但已使用 nouveau 驱动程序进行了测试)。

我注意到的另一件事是,使用 NFS 共享从同一网络上的远程主机流式传输媒体会使问题更加明显。

2016 年 6 月 8 日更新

我有上传了 YouTube 视频尝试演示行为的变化,即在您跳过时音频不会停止播放,但视频会“暂停”,然后开始出现像素化,最终自行解决。通常情况下,一旦播放器准备就绪,音频和视频都会一起启动,并且不会出现视频像素化,如此视频所示Xubuntu 16.04 使用 VLC

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 驱动程序或关闭硬件加速不起作用。

答案1

我在使用 nvidia 显卡 (GTX 1050) 的 KDE Neon (ubuntu 16.04) 上遇到了同样恼人的问题。我使用的是 nvidia 驱动程序 375.82。为了解决这个问题,我必须更改两个 vlc 设置:

  1. Video Settings--> Output-->X11 video output (XCB)
  2. Codecs--> Hardware accelerated decoding-->VA-API video decoder via DRM

第二个设置需要跳过一些专有文件,例如wmv。据我测试,vlc 现在可以像以前一样工作,无需 nvidia 显卡。

答案2

2016 年 10 月 19 日更新

我注意到我的 Nvidia 模块在今天的更新中被重新编译了,所以我重新启动并再次测试。看来问题已经修复。作为参考,我在 Nvidia GTX 970 上运行驱动程序版本 367.57。


原始答案

总结

sudo apt-get purge nvidia-* -y
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update && sudo apt-get dist-upgrade -y

这里的关键点是安装驱动程序 PPA 会导致libcuda1-361 libxnvctrl0软件包升级,从而解决问题。我还发现很多 nvidia 驱动程序都存在问题,所以最安全的做法是返回到开源驱动程序。不过,我在使用该驱动程序时取得了一些成功nvidia-340

详细描述

好吧,我设法偶然解决了这个问题

首先我安装了驱动程序 ppa:

sudo add-apt-repository ppa:graphics-drivers/ppa

然后我清除了现有的 nvida 驱动程序

sudo apt-get purge nvidia-*

在此处输入图片描述

然后我安装了 364 个驱动程序。

sudo apt-get update
sudo apt-get install nvidia-364 -y

重启后,我无法登录 Ubuntu 桌面但可以从之前的测试中登录 Xubuntu 桌面。这对我来说足够长的时间,可以看到视频播放完美无缺,但几分钟后我的电脑就会锁定,需要硬重启。这样做了几次之后,我再次清除了 nvidia 驱动程序:

sudo apt-get purge nvidia-*

我不再安装 nvidia 二进制驱动程序,而是使用 Nouveau 驱动程序,但视频播放正常,而且我的电脑没有锁定!

答案3

我能够通过选择 VLC 设置 > 视频 > 输出为“X11 视频输出 (XCB)”而不是“VDPAU 输出”来使我的视频nvidia-367与驱动程序一起工作,因为“VDPAU 输出”在跳过时会产生滞后。所有nvidia-370(XCB)对我来说有用的选项nvidia-367包括“X11 视频输出 (XCB)”-(不起作用nvidia-370) 和“OpenGLGLX视频输出(XCB)”-(OpenGLGLX升级到 后重启即可正常工作nvidia-370

我的视频输出列表

基本上所有 XCB 选项都运行良好(跳过、速度),彩色 ASCII 艺术正常运行,OpenGL(非 GLX/XCB)选项与左下角对齐但跳过良好。ASCII 艺术(黑白)运行正常但无法调整大小。其他选项没有在屏幕上显示内容。

会考虑更新到 nvidia-370,因为它最近刚刚发布。

答案4

在配备独立 nvidia 显卡和 Ubuntu 16.04 的联想笔记本上也遇到了同样的问题。通过在nvidia-settings工具中选择集成 Intel HD 解决了这个问题。因此解决方案(如果您安装了 nvidia 驱动程序)是运行nvidia-settings并选择集成 Intel HD 显卡

相关内容