闲着没事买了一张采集卡直播用,打算将台式机的视频输出到采集卡,再通过 Linux 笔记本进行推流。然而过程中遇到一大堆问题,不过最终还是解决了。
前言
我个人有两台设备,一台 Windows 台式机作为主力机,干活和游戏多半都在上面进行。还有一台 Linux/Windows 双系统笔记本,大部分时间闲置(摆着当背景)以及处理一些要求 Linux 平台的工作。之前尝试过使用主力机游戏 + 直播推流,效果非常差,直接导致游戏帧数狂掉。于是后来入了一张采集卡,Windows 机器走 HDMI 输出到采集卡 INPUT,采集卡再通过 USB 3.1 输出到 Linux 笔记本,使用 OBS 直播推流。
视频
首先连接上采集卡,执行 lsusb
查看下设备状态,可以看到已经连接上了:
再通过 v4l2-ctl
查看下外部设备,video0
就是我们要找的设备:
尝试在 OBS 中添加一下视频源,结果发现出现 Resolution Not Supported for Resizing 的字样,应该是需要手动调整分辨率:
接着调整分辨率为 2560x1440(这是我主力机的分辨率),然而画面绿了:
OBS 不行,于是我试着用 MPV 看下:
可以看到画面有了,不过经常出错,有时候打得开有时候打不开,很多时候需要重复插拔接口并且重新启动 MPV 多次才能正常看到画面,体验极差。OBS 也是相同的,经常莫名其妙得能看到画面,有时候又看不到了,在勾选下图中的选项后能看到实际上是有输入的,只不过不正常,直接花了:
接下来我尝试使用这台笔记本上的 Windows 系统,意料之中的一切正常。但我这台设备主要使用 Linux 系统,切系统十分麻烦,最好还是想办法解决 Linux 平台出现的问题。
最终,我从 Arch Wiki 上找到了这么一个字段(链接地址):
好家伙,这不就是我遇到的现象吗。在 /etc/profile.d 目录下创建一个脚本文件,写入 export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so
,重启系统使其生效(重新登录也可以)。
完美解决!
音频
音频部分就比较简单了,我这边是主力机安装 Voicemeeter Banana,将内部音频以及麦克风输入同时输出到耳机(连主力机)和 GC553,这个就比较顺利。