从 Ubuntu 14.04 升级到 16.04 后,我立即注意到一个问题,即当你跳过时 VLC 现在显示糟糕的视频,它似乎只在几秒钟后自行修复,我猜它下次遇到关键帧时会出现这种情况。这可以在下面的屏幕截图中显示:
我尝试了以下方法来解决问题:
我注意到,如果我暂停视频,跳到任何位置,等待一两秒钟,然后播放,视频就可以了。我只需要 VLC 等待它准备就绪,而不是立即尝试使用音频进行播放并尝试使视频同步。
其他媒体播放器(如 mpv 媒体播放器)仅在这方面起作用,但我注意到 mpv 媒体播放器出于某种原因不允许我跳到下一个视频,这就是为什么我要回去尝试修复 VLC。
我刚刚在上网本上安装了 Xubuntu,VLC 在那里运行得非常好。我从 PPA 中尝试了 VLC 2.2.2 和 2.2.4。这个问题看起来像是它的 Ubuntu 桌面特定的,或者与我的桌面显示器通过 Nvidia GPU 运行的事实有关(但已经使用 nouveau 驱动程序进行了测试)。
我注意到的另一件事是使用 NFS 共享来自同一网络上的远程主机的流媒体使问题更加明显。
我上传了一个 youtube 视频,试图展示行为的变化,即当你跳过时音频永远不会停止播放,但视频将被“暂停”,然后在最终整理之前像素化。通常,一旦播放器准备就绪,音频和视频就会一起播放,并且不会有视频像素化,如使用 VLC的Xubuntu 16.04视频中所示。
我使用 Kazam screen caster 录制的视频似乎没有受到影响,这让我相信这是一些专有的编解码器或其他东西。我重新访问了解码菜单,发现只有这个选项适用于本地文件(从 NFS 文件夹加载同一视频时,我仍然遇到像素化问题,但也许这是另一个不同的问题?)。
我猜测的DRM的选择是很重要的一点是在这里通过X11 VA-API确实没有工作(我也没有“禁用”或任何其他人的)。我现在很想弄清楚当我从 NFS 加载视频时我需要做什么。 增加流输出多路复用器缓存并没有修复它。
这绝对是与 Nvidia 显卡相关的问题(尚未测试 AMD)。在注意到带有 DRM 的 VA-API 在我的工作计算机(它也运行带有 Nvidia 显卡的 Ubuntu 16.04)上不起作用后,当我回到家时,我尝试安装 xubuntu 来测试该理论。那没有用。在那之后,我拔掉了我的 Nvidia 显卡,现在正在使用集成的英特尔显卡(在 i5-4670K 上),它在“自动”甚至从 NFS 加载的文件上都表现出色。
通常我会将此作为答案发布,但我认为其他人不会对此感到满意。我希望也许有人会有一个解决方案,让我可以再次插入我的显卡,但我认为现实是我们需要等待内核和/或来自 Nvidia 的更好的专有驱动程序的更新。令我惊讶的是,将卡放入并使用开源 nouveau 驱动程序或关闭硬件加速都不起作用。
我注意到我的 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
Run Code Online (Sandbox Code Playgroud)
这里的关键点是安装驱动程序 PPA 会导致libcuda1-361 libxnvctrl0升级包,从而解决问题。我还发现很多 nvidia 驱动程序都有问题,所以最安全的做法是返回开源驱动程序。不过,我在nvidia-340驱动程序方面取得了一些成功。
好吧,我以某种方式设法解决了意外情况
首先我安装了驱动程序ppa:
sudo add-apt-repository ppa:graphics-drivers/ppa
Run Code Online (Sandbox Code Playgroud)
然后我清除了现有的 nvida 驱动程序
sudo apt-get purge nvidia-*
Run Code Online (Sandbox Code Playgroud)
然后我安装了364驱动。
sudo apt-get update
sudo apt-get install nvidia-364 -y
Run Code Online (Sandbox Code Playgroud)
重新启动后,我无法登录到 Ubuntu 桌面,但可以通过之前的测试登录到 Xubuntu 桌面。这将工作足够长的时间让我看到视频播放完美运行,但在几分钟内我的计算机会锁定并且需要重新启动。这样做几次后,我再次清除了 nvidia 驱动程序:
sudo apt-get purge nvidia-*
Run Code Online (Sandbox Code Playgroud)
我不再安装 nvidia 二进制驱动程序,而是使用 Nouveau 驱动程序,但视频播放正常,我的计算机没有锁定!
小智 6
我在使用 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. 据我测试,vlc 现在在没有 nvidia 显卡的情况下可以像以前一样工作。
| 归档时间: |
|
| 查看次数: |
10149 次 |
| 最近记录: |