我对 ubuntu 20.04 和 vls 有一个大问题。不幸的是,这是 Linux 上最好的播放器,我用它来工作(视频分析等)。以 4 倍速或 8 倍速观看视频一段时间后,系统会严重冻结。有时我可以移动鼠标,有时甚至无法移动。我无法调用终端,无法启动到终端,或者执行任何其他操作,例如使用 xkill。可以说,图形外壳完全消失了。如何解决这个问题呢?我已经禁用了解码 - 没有帮助 选择不同的输出设备 - 没有帮助 请帮助,这太糟糕了。而且我没有找到另一个好球员......
小智 1
我遇到了类似的问题,但是使用VLC 的python 绑定以及将播放器嵌入到 PyQt5 的小部件中。我的 VLC 版本是使用 apt-get 安装的。我当前的 VLC 版本是
$ vlc --version
VLC media player 3.0.9.2 Vetinari (revision 3.0.9.2-0-gd4c1aefe4d)
VLC version 3.0.9.2 Vetinari (3.0.9.2-0-gd4c1aefe4d)
Compiled by buildd on lgw01-amd64-060.buildd (Apr 9 2020 19:29:44)
Compiler: gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2)
This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute it under the terms of the GNU General Public License;
see the file named COPYING for details.
Written by the VideoLAN team; see the AUTHORS file.
Run Code Online (Sandbox Code Playgroud)
长话短说
将我的显卡驱动程序从nouveau切换到 NVIDIA 专有的稳定版本似乎可以解决这篇文章中的问题!
冗长的文字
当我尝试通过网络从一个系统到另一个系统对两个视频流进行客户端视频播放时,我的问题出现了,这两个系统都使用 PyQt5。一个快速但肮脏的解决方案是使用 ssh 和 X11 启动远程会话,该方法有效,但效率低下。下一步是禁用 Wayland 并强制我的 Ubuntu 20.04 使用 Xorg 作为其显示服务器,如本文所述。当只有两个流时,这非常有效!当我将其设置为更高的值(例如 10)时,整个屏幕都冻结了,我看不到鼠标或键盘输入。为了解决这个问题,我必须重新启动计算机。最终我发现我可以通过 ssh 远程进入系统并使用 pkill 终止我的 python 进程:
sudo pkill -9 python3
Run Code Online (Sandbox Code Playgroud)
并使用以下命令重新启动我的显示管理器:
sudo systemctl restart display-manager.service
Run Code Online (Sandbox Code Playgroud)
我的系统有一个 NVIDA 显卡,我的解决方案是从使用 nouveau 驱动程序切换到最新且经过测试的 NVIDIA 驱动程序。当我看到视频媒体小部件播放器尝试播放 vifeos 时出现错误显示,然后是核心转储时,我有预感这可能是我的图形驱动程序:
kernel: [ 898.509371] nouveau 0000:73:00.0: fifo: PBDMA0: 00040000 [PBENTRY] ch 3 [03fe85b000 Xorg[1939]] subc 0 mth d 0000 data 00000000
Run Code Online (Sandbox Code Playgroud)
我能够通过运行以下命令来确定我的 NVIDIA 驱动程序:
lspci | grep -i nvidia
0000:73:00.0 VGA compatible controller: NVIDIA Corporation TU104GL [Quadro RTX 5000] (rev a1)
0000:73:00.1 Audio device: NVIDIA Corporation TU104 HD Audio Controller (rev a1)
0000:73:00.2 USB controller: NVIDIA Corporation TU104 USB 3.1 Host Controller (rev a1)
0000:73:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU104 USB Type-C UCSI Controller (rev a1)
Run Code Online (Sandbox Code Playgroud)
就我而言,系统使用我的输出中的 Quadro RTX 5000。
在这篇文章之后,我决定走非终端路线并切换驱动程序并选择选项proprietary,tested。现在我可以毫无问题地传输 10 个视频。