虚拟声卡工具 Loopback 的设置方法 • default •

在 macOS 下利用采集卡直播 Nintendo Switch 游戏实况。

之前在 Nintendo Switch 上打怪猎,朋友说想看。有人想看我直播那我当然是大力支持的,但是后来研究半天发现 Switch 根本不好直播。想直播的话就必须买一个采集卡(capture card)。唉,又要花钱了(能和朋友分享游戏的快乐那当然是值啦~~)

思考一下直播的需求

首先我自己需要能听到游戏的声音、看到游戏的画面;其次我需要我的观众能听到游戏的声音、看到游戏的画面。而且,最好的情况就是没有音频延迟。

买了采集卡之后

QuickTime Player 的问题

采集卡本质上也是一个视频输入设备,就像 Mac 上自带的 FaceTime HD Camera 一样。

众所周知,macOS 自带一个 QuickTime Player,它的作用就是捕捉视频输入设备的影像。也就是说我可以用 QuickTime Player 进行采集卡声音和视频的捕捉,然后用 Discord 或者 OBS 进行直播,这样就能兼顾视频和声音。

这个想法是非常好的,但是试过了以后才知道,QuickTime Player 捕捉的视频和音频之间有差不多 +1s 的延迟。这个操作拿来玩音游这种可以调整延迟的游戏还好,拿来玩怪猎的话,手感会很奇怪。

另外,因为我用的是窗口捕获,所以说观众们也能感受到我在 QuickTime 中能感受到的延迟。

总结一下我能用 QuickTime 做到的事情:

所以这个办法虽然可行,但是不好。

那我直接用 OBS 呗

于是我想到 OBS。

OBS 可以单独选择声音输入和视频输入,也就是说理论上应该能做到比较低的延迟。于是 10 分钟后,我设置好了 OBS,我开播了,我自己上油管看了。

确实,虽然在观众视角下,音频和视频没有延迟,但是存在一个重大问题!

我自己听不到游戏的声音!!!

快速谷歌了一下,我发现原来 OBS 可以做音频监听。

只需要点击音频源旁边的小齿轮,然后打开 Advanced Audio Properties,在下拉框里选择 Monitor and Output,就可以监听自己的音频了。

选择 Monitor and Output

虽然这个功能做的有模有样的,但是实际上手试了才发现……这个功能甚至还不如 QuickTime Player。因为他的延迟竟然可以高达 +5s,而且会随着时间的推移,延迟会越来越高。经过本人的测试,它甚至可以高达 +15s。那这样肯定是不行的啊。

我还以为OBS会比苹果咖喱强一点

总结一下我能用 OBS 做到的事情:

所以只用 OBS 直播的办法完全不可行。

怎么办才好:Loopback

之后,我找到了一款叫做 Loopback 的软件。它的功能是把不同的声音捕捉,让其变成一个「虚拟的输入设备」。而且它不仅可以捕捉音频源,还可以同时监听音频源。最重要的是!!它能做到几乎 0 延迟。

Loopback 的界面

Loopback 的界面被分成了三栏:Sources、Output Channels、Monitors。

实际上它想说的是:你想捕捉什么内容啊?你想输出到哪个Channel啊?你想用耳机还是扬声器听啊?

总之,我会在实战里对 Loopback 进行更详细的说明。

直播 Nintendo Switch 游戏实况

让我再来回顾一下直播的需求。

那么我们就根据下面的需求进行设置。

第一步:选择 Sources

Loopback:你想捕捉什么内容啊?

既然我想捕捉 Switch 的声音和我自己的声音,那么我就点「+」,然后选择采集卡和麦克风。目前似乎并不需要 Pass-Thru,所以直接按 Command + Delete 把它删掉。

第一步:选择 Sources

第二步:把 Source 的声音连接到需要的 Channel 上

Loopback:你想输出到哪个 Channel 啊?

软件默认设置了 Channel 1 & 2,分别对应左右两个声道。

我们只需要把每个 Source 的声音都聚合到 Channel 1 & 2 就可以了。

点 Source 的小圆点,然后拖动,就可以用一根虚拟线把这些虚拟设备连接起来。

第二步:把 Source 的声音连接到需要的 Channel 上

第三步:选择一个监听设备

Loopback:你想用耳机还是扬声器听啊?

我们已经在 Channels 1 & 2 捕捉了自己的声音和 Switch 声音,但是我们在监听的时候,并不想听到自己的声音。也就是说,我们想要监听的 Channel,只需要有 Switch 的声音就行了。

也就是说,可以新建 Channels 3 & 4,Source 只连接采集卡,然后选择一个 Monitors 并连接。

第三步:选择一个监听设备

像这样,我麦克风的声音会经过 Channel 1 & 2,然后直接输出。

与此同时,我的 Switch 的声音会经过 Channel 1 & 2(直接输出)和 Channels 3 & 4(被捕捉到输出设备里)。

在 OBS 中设置

实际上,刚刚我们就创建了一个虚拟输入设备。我们只需要在 OBS 当中把这个虚拟输入设备添加到 Scene 里就可以了。

把这个虚拟输入设备添加到 Scene 里就可以了

顺便把采集卡捕获的视频也设置到 OBS 当中。

把采集卡捕获的视频也设置到 OBS 当中

这样一来我们就设置好了!快去直播试试看吧!

总结一下我能用 Loopback 搭配 OBS 或者 QuickTime Player 做到的事情:

这样一来,我的观众们就能听到游戏的声音以及我的解说,我自己也能听到游戏的声音了。最最重要的是,这样做几乎能做到 0 音频延迟。

后记

可以参考这个视频来设置 Loopback。

之所以选择了 Loopback,还有一个更重要的理由:它能做到系统声音的「内录」。

关于内录这件事,其实也能水一片博客文章。之后有时间的话可以讲一下我对 macOS 音频输入输出原理的理解,顺便展开讲一下 Loopback 的强大之处。

💫 Comment