
我最近想在和朋友一起玩時使用OBS Studio錄製遊戲片段,儘管那位朋友不希望自己的聲音出現在錄音中。
問題是,OBS Studio 無法錄製來自程式的音頻,而是來自裝置(例如輸出到揚聲器的聲音)。
在 Google 上快速搜尋後,我測試了兩個程式: 虛擬音訊電纜(我們法國人稱之為“使用天然氣” [“煤氣工廠”,一個非常混亂且難以使用的程序]),以及 JACK 音頻連接套件。
作為免費軟體的粉絲,我最終保留了 JACK。
雖然我在網路上找到了一些教學(這個是我見過的最好的),我總是陷入同一點:選擇 JackRouter 音訊「設備」。
我也嘗試使用QjackCtl的Connect功能,但顯然OBS和遊戲都沒有出現在那裡。
我有什麼遺漏的嗎?我該怎麼做才能讓JACK和OBS一起工作?
技術細節:我從下載了 JACK2 1.9.10 64 位官方網站,我在 Windows 10 64 位元上運行它。
我在這裡問我的問題是因為我在網路上沒有找到答案。
答案1
Jack 可以使用 ASIO 驅動程序,並且您可以將一些組件組合在一起來完成此操作 - 事實上,這是我在串流媒體/遊戲設備上運行的日常使用設定。
- Jackd 提供音訊「集線器」。
- SAR是一個 ASIO 驅動程序,允許創建虛擬 Windows 播放/錄製設備並將音訊傳遞到客戶端,因此播放到 SAR 播放設備中的音訊可用作插孔中的音訊來源;傳送至對應插孔音訊接收器的音訊將可用於從虛擬錄音裝置在 Windows 端進行錄製。 SAR 還可以連結到另一個 ASIO 設備,以允許使用以下方式存取您的音訊硬體:
- ASIO4ALL,這是一個 ASIO 驅動程序,提供對您的硬體的存取。
- 最後,您需要一個支援插孔的 DAW,例如熱情,您可以在其中執行 DSP。
這些東西都是免費軟體(ASIO4ALL)或開源(其他一切)。
這是我的 Ardor 設定的圖像,讓您了解可能發生的事情:
請注意,配置可能非常挑剔,因此您可能需要進行大量嘗試才能使其正常工作。
細心的讀者會注意到,這是在 Linux 而不是 Windows 上運行的 Ardor 的螢幕截圖。就我而言,我將 DSP 卸載到 Linux 機器上; jack 具有網路功能,因此您可以連結兩個 jackd 實例並讓它們共享音訊。這樣,來自 Windows 系統的音訊會透過網路傳送到我的 Linux 系統,由 Ardor 進行混合,然後傳送回 Windows 以傳送到錄製音訊的硬體和/或程式(OBS、Discord 等)。這一切都發生了約 5-8 毫秒的延遲,這是不可察覺的。
我還直接在 Windows 上運行 Ardor,所以我知道這也有效。
答案2
我認為目前不可能。 Jack 透過 portaudio 進行通信,OBS 中未實現該功能。如果 OBS 與 ASIO 相容,那麼如果 Jack 設定為 ASIO,它就會起作用。將 ASIO 移植到 OBS 的唯一方法是透過虛擬電纜。 https://www.youtube.com/watch?v=QF0-KzUHZ8Q