很多人都會(huì)遇到和你一模一樣的場(chǎng)景:在瀏覽器里播放一個(gè)網(wǎng)站上的在線音頻,比如公開課、講座、廣播電臺(tái)、白噪聲網(wǎng)站,想一邊聽一邊把聲音錄成一個(gè)本地音頻文件,方便離線反復(fù)聽。
在 Windows 上,這件事本質(zhì)上是把系統(tǒng)正在播放的聲音繞一圈再喂回錄音軟件里,讓它變成一個(gè)新的 wav 或 mp3 文件。只要搞清楚系統(tǒng)里音頻是怎么流動(dòng)的,再選一套順手的工具,就能穩(wěn)定地做到邊播邊錄。
下邊我從原理說起,再給你三類實(shí)際方案:
- 圖形界面方案:用
Audacity錄制Windows桌面音頻 - 錄屏常用方案:用
OBS Studio只錄系統(tǒng)聲音 - 命令行和自動(dòng)化方案:用
ffmpeg抓取系統(tǒng)音頻,并附上完整Python腳本示例
中間穿插一些排錯(cuò)經(jīng)驗(yàn)和注意事項(xiàng),你可以按需求挑一條自己最順手的路。
一、先搞清楚:在 Windows 里你到底在錄什么
在 Windows 筆記本上,從網(wǎng)站發(fā)出來的聲音,一般會(huì)經(jīng)過這樣的路徑:
瀏覽器 → Windows 音頻引擎 → 聲卡驅(qū)動(dòng) → 耳機(jī) / 揚(yáng)聲器
你想邊播邊錄,其實(shí)就是想在 Windows 音頻引擎 到 聲卡驅(qū)動(dòng) 這一段,復(fù)制一份數(shù)字音頻流保存下來,而不是傻乎乎地用麥克風(fēng)去錄揚(yáng)聲器外放的聲音。
Windows 從 Vista 開始提供了 WASAPI loopback 能力,讓程序能直接捕獲正在播放到某個(gè)輸出設(shè)備的數(shù)字音頻流。Audacity 官方文檔推薦在沒有 Stereo Mix 的機(jī)器上,用 Windows WASAPI 的 loopback 方式來錄制桌面音頻,這樣音質(zhì)是純數(shù)字的,不經(jīng)過模擬放大和再采樣。(Audacity Manual)
除了 WASAPI loopback,你還會(huì)在網(wǎng)絡(luò)帖子里看到幾種關(guān)鍵詞:
-
Stereo Mix或者What U Hear:有些聲卡驅(qū)動(dòng)提供的一個(gè)虛擬輸入,表示系統(tǒng)混音后的聲音,老一點(diǎn)的機(jī)器常見(How-To Geek) - 虛擬聲卡類工具,比如
VB-Cable、Virtual Audio Cable、Virtual Audio Capture等,把系統(tǒng)輸出重新暴露為一個(gè)可錄制的輸入設(shè)備(Super User)
你要做的事情,就是讓錄音軟件的輸入設(shè)備指向這些 loopback / Stereo Mix / 虛擬聲卡 之一,再在瀏覽器里正常播放目標(biāo)網(wǎng)站音頻,就達(dá)到了邊播邊錄的效果。
這里再提醒一句法律上的常識(shí):很多網(wǎng)站的流媒體內(nèi)容受版權(quán)和服務(wù)條款保護(hù),只在個(gè)人學(xué)習(xí)、備忘范圍內(nèi)自用,一般問題不大,但傳播、商用就可能觸碰法律風(fēng)險(xiǎn)。一些官方教程也會(huì)特別強(qiáng)調(diào),如果要錄制像 YouTube 之類網(wǎng)站的音頻,最好確認(rèn)已經(jīng)獲得版權(quán)方許可。(How-To Geek)
二、最推薦的圖形方案:用 Audacity 邊播邊錄網(wǎng)站音頻
Audacity 是一個(gè)開源跨平臺(tái)音頻編輯軟件,Windows 版自帶 Windows WASAPI loopback 支持,可以直接錄下桌面上正在播放的一切聲音,適合大部分用戶。(support.audacityteam.org)
1. 安裝 Audacity
步驟很簡(jiǎn)單:
- 打開瀏覽器,訪問
Audacity官方網(wǎng)站,下載適用于Windows的安裝包。(Nearity) - 雙擊安裝包,保持默認(rèn)選項(xiàng)一路
Next,安裝完成后啟動(dòng)Audacity。
安裝部分基本沒有坑,更重要的是后面的音頻設(shè)備配置。
2. 在 Windows 里確認(rèn)輸出設(shè)備
為了讓 Audacity 正確抓到你正在聽的那路聲音,先確認(rèn)系統(tǒng)當(dāng)前的輸出設(shè)備:
- 在任務(wù)欄右下角點(diǎn)擊小喇叭圖標(biāo)。
- 看一下當(dāng)前選中的輸出設(shè)備名稱,比如
揚(yáng)聲器 (Realtek Audio),或者某個(gè)USB耳機(jī)。 - 記住這個(gè)名字,等會(huì)在
Audacity里要選對(duì)應(yīng)的loopback版本。
如果你用的是 藍(lán)牙、USB 耳機(jī)或者 HDMI 顯示器輸出,那就要在 Audacity 里選擇對(duì)應(yīng)設(shè)備的 loopback,而不是筆記本自帶揚(yáng)聲器。Audacity 的官方手冊(cè)里也提到,WASAPI 方式可以錄制 USB、無線或外置設(shè)備輸出的音頻,對(duì)這類場(chǎng)景比傳統(tǒng) Stereo Mix 好用得多。(Audacity Manual)
3. 配置 Audacity 的錄音設(shè)備為 WASAPI loopback
打開 Audacity 主界面之后,有一個(gè) Audio Setup 工具欄,你需要調(diào)整三個(gè)關(guān)鍵選項(xiàng):(Audacity Manual)
Host:在下拉菜單里選擇Windows WASAPI。-
Recording Device:從下拉列表里選擇帶有(loopback)的那一項(xiàng),比如揚(yáng)聲器 (Realtek Audio) (loopback)Headphones (USB Audio) (loopback)
Playback Device:保持為你正在使用的那個(gè)輸出設(shè)備,比如揚(yáng)聲器 (Realtek Audio)。
Windows WASAPI + (loopback) 組合意味著:錄音通道會(huì)從你正在聽的那個(gè)輸出設(shè)備的數(shù)字流里直接復(fù)制數(shù)據(jù),這樣錄出來的聲音不會(huì)混入環(huán)境噪聲,也不會(huì)二次經(jīng)過模數(shù)轉(zhuǎn)換。官方指南也把這個(gè)方式當(dāng)作推薦做法。(support.audacityteam.org)
有些機(jī)器還會(huì)提供 Stereo Mix、What U Hear 等錄音設(shè)備名稱,這些本質(zhì)上也是對(duì)系統(tǒng)播放流的回環(huán)輸入,你也可以選這些設(shè)備,不過新系統(tǒng)里 WASAPI loopback 的兼容性通常更好。(How-To Geek)
4. 邊播邊錄的操作流程
配置好設(shè)備以后,可以按下面的順序來邊播邊錄:
- 在瀏覽器里打開目標(biāo)網(wǎng)站,找到你想錄的在線音頻,比如一個(gè)在線電臺(tái)、網(wǎng)頁播放器、在線課程頁面之類。
- 在
Audacity里先點(diǎn)一下錄音電平的小麥克風(fēng)圖標(biāo),選擇Start Monitoring,如果此時(shí)網(wǎng)頁已經(jīng)在播放,你會(huì)看到輸入電平在跳動(dòng)。(support.audacityteam.org) - 當(dāng)你確認(rèn)電平在動(dòng),說明
loopback已經(jīng)連通,這時(shí)點(diǎn)擊Audacity的紅色錄音按鈕。 - 切回瀏覽器,開始播放目標(biāo)音頻。要注意
WASAPI在音頻流完全靜音時(shí)可能不提供數(shù)據(jù),所以錄制時(shí)最好讓音頻處于播放狀態(tài)。(support.audacityteam.org) - 音頻播放完畢后,回到
Audacity,點(diǎn)擊停止按鈕。
整段播放的波形此時(shí)已經(jīng)完整出現(xiàn)在軌道里,你可以用 Audacity 的編輯能力進(jìn)行剪輯、降噪、歸一化等操作。
5. 導(dǎo)出為 WAV / MP3 等格式
錄完之后,一般會(huì)導(dǎo)出成 wav 或 mp3:
- 在菜單里選擇
File→Export。 - 如果希望無損保存,選
Export as WAV;如果希望文件更小、便于在手機(jī)上聽,就選Export as MP3。 - 在彈出的對(duì)話框里設(shè)置采樣率
44100 Hz、比特率128 kbps或更高,保存即可。
現(xiàn)在的 Audacity 版本已經(jīng)內(nèi)置 LAME 編碼器,不再需要額外安裝插件,就能直接導(dǎo)出 mp3。很多第三方教程都會(huì)強(qiáng)調(diào) WASAPI loopback + 導(dǎo)出 mp3 是錄制桌面音頻時(shí)最方便的組合之一。(Swell AI)
6. 用 Audacity 邊播邊錄時(shí)的一些經(jīng)驗(yàn)
結(jié)合項(xiàng)目里常見的坑,可以再補(bǔ)充幾條經(jīng)驗(yàn):
- 如果錄出來是靜音,大概率是瀏覽器沒有把聲音輸出到你選的那個(gè)設(shè)備,比如你用
藍(lán)牙耳機(jī)聽,但Audacity的loopback選的是筆記本揚(yáng)聲器。 - 如果只想錄網(wǎng)站音頻,不想錄系統(tǒng)提示音,可以在
Windows的音量混合器里降低其它應(yīng)用的音量,甚至把系統(tǒng)聲音靜音。 -
WASAPI錄制時(shí),Audacity的工程采樣率最好跟系統(tǒng)默認(rèn)格式一致,比如都用44100 Hz,可以減少不必要的重采樣。(Audacity Forum)
對(duì)于大多數(shù)只想把網(wǎng)頁音頻邊播邊錄下來的場(chǎng)景,用 Audacity 基本已經(jīng)足夠。
三、如果你常用錄屏:用 OBS Studio 只錄系統(tǒng)聲音
有不少人本身就用 OBS Studio 做錄屏或直播,那在這個(gè)基礎(chǔ)上順手錄一下網(wǎng)站音頻,其實(shí)也很方便。OBS 官方文檔和社區(qū)教程里都有詳細(xì)的音頻配置說明。(OBS Studio)
1. OBS Studio 的基本思路
在 OBS 里,你可以把音頻源分成幾類:
-
Desktop Audio:整個(gè)系統(tǒng)的桌面聲音 -
Application Audio Capture:只抓取某一個(gè)應(yīng)用的聲音,比如Chrome或Edge(OBS Studio) -
Mic/Aux:麥克風(fēng)輸入
如果你只想錄網(wǎng)站音頻,不想把麥克風(fēng)環(huán)境聲錄進(jìn)去,可以在音頻混音器里把 Mic/Aux 靜音,只保留 Desktop Audio 或 Application Audio Capture。(OBS Studio)
2. 只錄網(wǎng)站音頻的大致操作過程
大致的操作順序可以是這樣:
- 安裝并打開
OBS Studio,用向?qū)芤淮巫詣?dòng)配置,讓它根據(jù)你的機(jī)器性能選一個(gè)合適的默認(rèn)設(shè)置。(OBS Studio) - 在一個(gè)場(chǎng)景里,點(diǎn)擊音頻源區(qū)域的加號(hào),選擇
Application Audio Capture。在彈出的窗口里給這個(gè)源起個(gè)名字,比如BrowserAudio。(OBS Studio) - 在屬性里選擇具體的瀏覽器窗口,比如
chrome.exe或msedge.exe。這樣OBS只會(huì)捕獲這個(gè)進(jìn)程播放的聲音。(OBS Studio) - 在音頻混音器里,把麥克風(fēng)那一條靜音,只留下剛才添加的應(yīng)用音頻源。
- 打開瀏覽器訪問目標(biāo)網(wǎng)站,開始播放在線音頻。此時(shí)可以在
OBS的混音器上看到電平條在跳動(dòng)。 - 在
OBS設(shè)置里的Output→Recording,把Recording Format改成一個(gè)音頻友好的格式,比如mkv或mp4配合只保留音軌;或者在一些教程里會(huì)推薦把Recording Type改成Custom Output (FFmpeg),直接輸出mp3或flac音頻文件。(Hollyland) - 點(diǎn)
Start Recording,等網(wǎng)頁音頻播放結(jié)束后,再點(diǎn)Stop Recording。
如果想要的只是音頻,可以事后用 ffmpeg 把錄制的 mkv / mp4 文件里的音軌抽出來,命令大概類似于:
ffmpeg -i input.mkv -vn -acodec copy output.m4a
這里用 -vn 丟掉視頻部分,僅復(fù)制音頻軌。
OBS 的優(yōu)點(diǎn)是可以非常精細(xì)地控制來源,甚至做到只錄一個(gè)瀏覽器標(biāo)簽頁的聲音,而不錄別的應(yīng)用或者系統(tǒng)提示音。如果你經(jīng)常做錄屏或直播,順帶用它錄網(wǎng)站音頻會(huì)非常自然。
四、命令行和自動(dòng)化:用 ffmpeg 抓取系統(tǒng)音頻 + Python 腳本示例
如果你習(xí)慣命令行或者想做自動(dòng)化,比如定時(shí)錄制某個(gè)電臺(tái)節(jié)目的在線流,ffmpeg 會(huì)非常有用。
ffmpeg 可以訪問 Windows 下的 DirectShow 或 WASAPI 音頻設(shè)備,來錄制系統(tǒng)聲音。社區(qū)討論和官方文檔中,普遍的做法是用 dshow 抓 Stereo Mix / Virtual Audio Capture 設(shè)備,或者直接用 -f wasapi -i default 來錄制默認(rèn)輸出設(shè)備的 loopback 流。(Super User)
1. 安裝 ffmpeg 并配置環(huán)境變量
常見做法是:
- 到
ffmpeg官方推薦的構(gòu)建網(wǎng)站下載Windows版壓縮包。 - 解壓到一個(gè)目錄,比如
C:\ffmpeg。 - 把
C:\ffmpeg\bin加入系統(tǒng)PATH,這樣在命令行里可以直接敲ffmpeg。
這一步只需要做一次,之后所有腳本和命令都能直接調(diào)用 ffmpeg 可執(zhí)行文件。
2. 用 DirectShow 方式列出所有音頻設(shè)備
在 Windows 上可以用 DirectShow 接口列出可錄制的音頻設(shè)備:(Super User)
ffmpeg -list_devices true -f dshow -i dummy
``
命令執(zhí)行后會(huì)羅列出一堆設(shè)備,其中 `DirectShow audio devices` 下面的條目就是可用的音頻輸入,比如:
* `Stereo Mix (Realtek Audio)`
* `virtual-audio-capturer`
* `Microphone (Realtek Audio)`
你要找的是系統(tǒng)混音或虛擬聲卡之類的設(shè)備,而不是麥克風(fēng)。
在真實(shí)的命令行里,很多教程會(huì)寫成類似:
```bash
ffmpeg -f dshow -i audio="Stereo Mix (Realtek Audio)" -acodec libmp3lame out.mp3
為了滿足這里的格式要求,示例里用單引號(hào) ' 來包裹帶空格的設(shè)備名,你在實(shí)際 Windows 命令行里輸入時(shí),要把這些單引號(hào)換成常規(guī)的雙引號(hào)。
3. 用 WASAPI 方式錄制默認(rèn)輸出設(shè)備
在新版 ffmpeg 里,已經(jīng)支持直接通過 WASAPI 做 loopback 錄制,比如錄制整個(gè)系統(tǒng)輸出:(Super User)
ffmpeg -f wasapi -i default -acodec pcm_s16le -ar 44100 -ac 2 output.wav
這條命令含義大致是:
-
-f wasapi:用WASAPI設(shè)備 -
-i default:從默認(rèn)播放設(shè)備的loopback流錄制 -
-acodec pcm_s16le:用無損16 bitPCM編碼 -
-ar 44100:采樣率44100 Hz -
-ac 2:立體聲 -
output.wav:輸出文件名
用這種方式錄制時(shí),你只要在瀏覽器里正常播放網(wǎng)站音頻,ffmpeg 就會(huì)把所有系統(tǒng)輸出捕獲到 output.wav 里,包括目標(biāo)網(wǎng)站的聲音和其它系統(tǒng)聲音。
如果你只想錄制一段固定時(shí)長(zhǎng)的內(nèi)容,比如 600 秒,可以加 -t 600 參數(shù):
ffmpeg -f wasapi -i default -acodec pcm_s16le -t 600 output.wav
把時(shí)間設(shè)得稍微長(zhǎng)一點(diǎn),保證音頻在這段時(shí)間內(nèi)能播放完。
4. 用 Python 做一個(gè)簡(jiǎn)單的自動(dòng)錄音腳本
下面給出一個(gè)完整的 Python 腳本示例,用來調(diào)用 ffmpeg 錄制系統(tǒng)音頻。腳本邏輯很簡(jiǎn)單:
- 從命令行接收錄制時(shí)長(zhǎng)和輸出文件路徑
- 自動(dòng)構(gòu)造
ffmpeg命令 - 在錄制前給你一點(diǎn)時(shí)間去切到瀏覽器并開始播放
- 錄制結(jié)束后提示完成
腳本兼容 Windows,假設(shè)你已經(jīng)把 ffmpeg 加進(jìn)了環(huán)境變量。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import subprocess
import sys
import time
from pathlib import Path
def build_ffmpeg_cmd(duration_sec: int, output_path: Path, ffmpeg_exe: str = 'ffmpeg'):
"""
構(gòu)造一個(gè)使用 WASAPI loopback 錄制系統(tǒng)音頻的 ffmpeg 命令
"""
cmd = [
ffmpeg_exe,
'-y', # 覆蓋已有文件
'-f', 'wasapi', # 使用 WASAPI
'-i', 'default', # 默認(rèn)播放設(shè)備的 loopback
'-acodec', 'pcm_s16le', # 無損 16 bit PCM
'-ar', '44100', # 采樣率 44.1kHz
'-ac', '2', # 立體聲
]
if duration_sec > 0:
cmd.extend(['-t', str(duration_sec)])
cmd.append(str(output_path))
return cmd
def main():
print('=== Windows 在線音頻錄制小工具 (基于 ffmpeg) ===')
if len(sys.argv) < 3:
print('用法示例:')
print(' python record_site_audio.py 600 output.wav')
print('表示錄制 600 秒系統(tǒng)音頻到當(dāng)前目錄的 output.wav')
sys.exit(1)
try:
duration_sec = int(sys.argv[1])
except ValueError:
print('參數(shù)錯(cuò)誤: 錄制時(shí)長(zhǎng)必須是整數(shù)秒')
sys.exit(1)
output_path = Path(sys.argv[2]).expanduser().resolve()
# 檢查 ffmpeg 是否存在
try:
subprocess.run(['ffmpeg', '-version'], check=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
except Exception:
print('無法找到 ffmpeg 可執(zhí)行文件, 請(qǐng)確認(rèn)已安裝并加入 PATH')
sys.exit(1)
print(f'計(jì)劃錄制時(shí)長(zhǎng): {duration_sec} 秒')
print(f'輸出文件路徑: {output_path}')
print('請(qǐng)確認(rèn):')
print(' 1. 瀏覽器已經(jīng)打開目標(biāo)網(wǎng)站頁面')
print(' 2. 系統(tǒng)默認(rèn)播放設(shè)備就是你當(dāng)前在聽的那一路 (耳機(jī) / 揚(yáng)聲器)')
print(' 3. 錄制過程中不要隨意切換輸出設(shè)備')
# 給使用者幾秒鐘時(shí)間去切換到瀏覽器開始播放
for i in range(5, 0, -1):
print(f'{i} 秒后開始錄制, 請(qǐng)?jiān)跒g覽器里點(diǎn)擊播放...')
time.sleep(1)
cmd = build_ffmpeg_cmd(duration_sec, output_path)
print('\n即將執(zhí)行的 ffmpeg 命令:')
print(' '.join(cmd))
print('\n開始錄制, 按 Ctrl+C 可提前停止...\n')
try:
subprocess.run(cmd, check=True)
print('\n錄制完成!')
print(f'文件已保存到: {output_path}')
except KeyboardInterrupt:
print('\n檢測(cè)到用戶中斷, 已嘗試停止 ffmpeg 進(jìn)程')
except subprocess.CalledProcessError as e:
print(f'\nffmpeg 運(yùn)行失敗, 返回碼: {e.returncode}')
if __name__ == '__main__':
main()
使用方法舉例:
python record_site_audio.py 900 D:\recordings\course1.wav
在你按下回車之后,腳本會(huì)倒數(shù)幾秒,給你時(shí)間切到瀏覽器里點(diǎn)擊播放在線音頻。之后 ffmpeg 會(huì)通過 WASAPI loopback 捕獲默認(rèn)輸出設(shè)備的聲音,直到錄滿設(shè)定的時(shí)長(zhǎng)。
你也可以稍微改造一下腳本,讓它在錄完以后再調(diào)用一次 ffmpeg 把 wav 轉(zhuǎn)成 mp3:
ffmpeg -i input.wav -acodec libmp3lame -b:a 192k output.mp3
用 Python 包一層的好處,是你可以很容易做定時(shí)任務(wù)、循環(huán)錄制等自動(dòng)化操作,比如每天晚上七點(diǎn)自動(dòng)錄某個(gè)網(wǎng)站的在線講座。
五、常見問題排查與一些進(jìn)階技巧
在實(shí)際使用中,最容易踩坑的地方集中在設(shè)備選擇和采樣率匹配兩個(gè)方向,再加上一些版權(quán)和瀏覽器特性方面的限制。
1. 錄出來是靜音或者只有底噪
典型原因包括:
- 錄音設(shè)備選成了麥克風(fēng),而不是
Stereo Mix或loopback - 瀏覽器輸出到
藍(lán)牙或USB耳機(jī),而錄音設(shè)備卻對(duì)著筆記本內(nèi)建揚(yáng)聲器的loopback - 網(wǎng)站本身用了類似
DRM的加密回放方案,導(dǎo)致音頻路徑和普通輸出不同
在 Audacity 場(chǎng)景下,官方教程也提醒,使用 WASAPI 回環(huán)錄制時(shí),要確保音頻已經(jīng)在播放,完全靜音時(shí)有些設(shè)備會(huì)讓錄音端收到的只是靜默數(shù)據(jù)。(support.audacityteam.org)
在 ffmpeg 場(chǎng)景下,可以先用 -t 10 錄一小段,配合 -af volumedetect 等濾鏡看看電平是否正常,如果完全為零,就要檢查設(shè)備選擇是否正確。(Super User)
2. 找不到 WASAPI loopback 設(shè)備怎么辦
在一些老機(jī)器或特殊聲卡驅(qū)動(dòng)環(huán)境下,WASAPI loopback 的兼容性不太理想,或者軟件里看不到對(duì)應(yīng)選項(xiàng)。這個(gè)時(shí)候可以考慮:
- 在
Windows聲音設(shè)置里,把隱藏的錄音設(shè)備全部顯示出來,看看有沒有Stereo Mix或類似條目; - 更新聲卡驅(qū)動(dòng),有的廠商在新版驅(qū)動(dòng)里重新提供了環(huán)回輸入;
- 使用虛擬聲卡工具,比如
Virtual Audio Capture或VB-Cable,讓它充當(dāng)錄音軟件看得見的loopback源。(Super User)
虛擬聲卡的工作方式大致是:在系統(tǒng)里創(chuàng)建一個(gè)虛擬輸出設(shè)備和一個(gè)虛擬輸入設(shè)備,你讓瀏覽器把聲音輸出到虛擬輸出,虛擬驅(qū)動(dòng)把這份數(shù)據(jù)原封不動(dòng)送到虛擬輸入,錄音軟件就可以在這個(gè)輸入上抓到純數(shù)字的系統(tǒng)音頻。
3. 只想錄網(wǎng)站聲音,不想錄其它應(yīng)用的聲音
這個(gè)需求用 OBS 的 Application Audio Capture 做起來最自然,因?yàn)樗梢灾付ň唧w進(jìn)程的音頻流,比如專門抓 chrome.exe 的聲音。(OBS Studio)
如果你堅(jiān)持用 Audacity 或 ffmpeg,可以采取折中的辦法:
- 在
Windows的音量混合器里,把除了瀏覽器之外的所有應(yīng)用音量調(diào)成0; - 在錄制期間盡量不要觸發(fā)其它系統(tǒng)聲音,比如關(guān)閉消息提示音;
- 對(duì)于
ffmpeg,也可以配合系統(tǒng)設(shè)置,把默認(rèn)輸出設(shè)備暫時(shí)切換成一個(gè)只給瀏覽器用的虛擬設(shè)備。
4. 瀏覽器標(biāo)簽靜音、系統(tǒng)快捷鍵與錄音的關(guān)系
很多人會(huì)習(xí)慣性用瀏覽器標(biāo)簽上的靜音按鈕,或者用多媒體鍵盤上的靜音鍵來控制音量。要注意:
- 靜音標(biāo)簽頁會(huì)讓那一路音頻在系統(tǒng)里變成真正的靜音流,
loopback錄制到的也就只剩下靜寂; - 用系統(tǒng)靜音快捷鍵把整個(gè)輸出設(shè)備靜音時(shí),
WASAPI loopback通常也會(huì)跟著變成靜音; - 更穩(wěn)妥的做法是控制音量大小,而不是靜音本身,把不想錄的應(yīng)用音量調(diào)
0,保留目標(biāo)網(wǎng)站的音量。
5. 關(guān)于版權(quán)和網(wǎng)站服務(wù)條款
再多說一句法律層面的事情。很多網(wǎng)站的服務(wù)條款都不鼓勵(lì)用戶對(duì)流媒體內(nèi)容進(jìn)行抓取與再分發(fā),一些支持文檔明確提到,如果要錄制類似 YouTube 的內(nèi)容,應(yīng)該在獲得版權(quán)方許可的前提下進(jìn)行,有時(shí)候甚至更推薦直接下載合法提供的文件而不是通過錄制來繞開限制。(How-To Geek)
從工程實(shí)踐的角度講,這篇文章討論的都是技術(shù)手段本身,實(shí)際使用時(shí)需要你結(jié)合當(dāng)?shù)胤珊途W(wǎng)站條款自行判斷,用在學(xué)習(xí)、備份、自我筆記等合理范圍內(nèi)會(huì)更加穩(wěn)妥。
六、結(jié)語:給你一個(gè)簡(jiǎn)單的選擇建議
把上面這幾種方案合在一起,可以給你一個(gè)非常直接的決策指南:
- 如果你想要圖形界面、順手的剪輯功能,又不介意多開一個(gè)軟件輔助錄音,
Audacity + Windows WASAPI loopback會(huì)非常合適,而且設(shè)置一次之后幾乎可以當(dāng)錄音機(jī)用。 - 如果你本來就經(jīng)常用
OBS Studio做錄屏,希望精確控制只錄瀏覽器的聲音,那么用Application Audio Capture抓取目標(biāo)網(wǎng)站進(jìn)程,再在輸出里配置音頻軌,會(huì)非常清爽。 - 如果你偏愛命令行和自動(dòng)化,或者想做定時(shí)錄音、批處理,那就把
ffmpeg和本文給出的Python小腳本結(jié)合起來,用WASAPI loopback抓系統(tǒng)輸出,會(huì)比手工操作省事得多。
你現(xiàn)在用的是一臺(tái) Windows 筆記本電腦,只要按照文中的步驟配置好音頻路徑,從瀏覽器播放網(wǎng)站上的在線音頻,再用上面任意一種工具錄制,就能穩(wěn)定實(shí)現(xiàn)邊播邊錄,把在線聲音變成一個(gè)可以隨身聽、可以剪輯、可以歸檔的本地音頻文件。
如果你愿意,后面還可以在這個(gè)基礎(chǔ)上玩得更深一點(diǎn),比如用 Python 調(diào)用 speech to text 服務(wù),把錄下來的課程音頻自動(dòng)轉(zhuǎn)成文字筆記,或者結(jié)合你熟悉的編程技術(shù)做一個(gè)自己的小型 播客管理器。這就已經(jīng)超出錄音本身,變成了一個(gè)很有意思的個(gè)人項(xiàng)目了。