如何在 Chrome 瀏覽器中錄製直播(不需 OBS)
三種在 Chrome 直接錄製 HLS 直播的方法,無需螢幕錄製、無需 OBS、畫質無損。
在 Chrome 中錄製直播不必啟動 OBS、設定視窗擷取,然後重新編碼數小時的影片讓你的 CPU 過載。如果直播是 HLS 格式(2026 年大多數直播都是),你可以直接複製流並保持位元級精度錄製,無需重新編碼,無需螢幕錄製的額外負擔。
本指南說明螢幕錄製和流錄製的差異、為什麼直接 HLS 錄製幾乎總是更好的選擇,以及在 Chrome 中執行此操作的三種方法。
螢幕錄製 vs 流錄製
線上大多數「錄製直播」教學都會指向螢幕錄製工具——OBS、Loom、Screencastify 或作業系統內建的螢幕擷取。這些工具會擷取你螢幕上顯示的內容,這意味著:
- 影片會以錄製器的轉碼設定重新編碼(通常是帶有錄製器位元率的有損 H.264)
- 音訊透過作業系統音訊迴路擷取,來源為 44.1 kHz 時通常以 48 kHz 擷取
- 解析度上限為你的螢幕解析度——1080p 螢幕無法錄製 4K 來源
- 錄製期間螢幕上出現的任何東西(通知、滑鼠遊標)都會進入檔案
- 在串流執行期間整個 CPU 和 GPU 保持繁忙
流錄製則是擷取從 CDN 到達的 HLS 片段。你最終得到的檔案在位元級上與播放器下載的資料相同。無需重新編碼、無需音訊迴路、無解析度上限、且 CPU 用量最少,因為工作只是將網路位元組複製到磁碟。
如果來源是 4K 而你的螢幕是 1080p,流錄製會取得 4K。螢幕錄製會取得 1080p。
HLS 直播的運作方式
直播 HLS 廣播是一個每幾秒更新的 m3u8 資訊清單。與 VOD 資訊清單(預先列出整個影片)不同,直播資訊清單是一個最近 ~30-60 秒片段的滑動視窗。播放器會輪詢資訊清單、在新片段出現時取得,並將舊片段從緩衝區丟棄。
要錄製直播,工具需要:
- 識別主播放清單 URL
- 解析至所需品質的媒體播放清單
- 重複取得資訊清單(根據片段持續時間,每 2-10 秒一次)
- 在每個新片段出現時下載
- 依序將片段附加到輸出檔案
- 持續直到資訊清單停止更新(串流結束)或使用者停止錄製
- 如果音訊和影片在個別資訊清單中,請同時執行上述步驟兩次並合併
這在根本上不同於 VOD 下載,因為沒有預先要查找的「結尾」——錄製器必須持續輪詢直到你告訴它停止。
方法 1:具有直播錄製功能的 Chrome 擴充功能
瀏覽器擴充功能是最簡單的途徑,因為它繼承瀏覽器的工作階段(Cookie、標頭、已簽署 URL)並在你保持分頁開啟時持續執行。
Video Downloader One-for-All 處理直播 HLS 錄製,具體如下:
- 在 Chrome 中開啟直播
- 等待播放開始(幾秒鐘)
- 點擊擴充功能圖示——工具列徽章變為藍色,下拉式選單顯示可用品質
- 選擇品質並點擊「開始錄製」(vs 用於 VOD 的一般「下載」按鈕)
- 在錄製執行時保持分頁開啟
- 當串流結束或你想停止時,點擊「停止錄製」
- 擴充功能完成任何進行中的片段、執行 FFmpeg.wasm 以混合音訊 + 影片,並儲存 MP4
MP4 在位元級上與直播相同。無重新編碼損失。
關於為什麼 HLS 以這種方式結構化以及資訊清單外觀的技術背景,HLS 指南從基礎開始説明協議。如需完整功能,請參閱直播錄製器頁面。
方法 2:yt-dlp 搭配 --live-from-start
yt-dlp 可以錄製直播 HLS,但有限制:
# 從現在錄製直到手動停止或串流結束
yt-dlp "https://www.example.com/livestream"
# 從直播開始錄製(如果資訊清單仍有早期片段)
yt-dlp --live-from-start "https://www.example.com/livestream"
# 限制為特定持續時間
yt-dlp --download-sections "*0:00:00-1:00:00" "https://www.example.com/livestream"
限制:
--live-from-start僅在資訊清單仍有早期片段時有效(直播視窗通常為 30-60 秒,所以這很少能擷取超過你開始前的最後一分鐘)- yt-dlp 的直播 HLS 可靠性參差不齊;當資訊清單輪替速度比 yt-dlp 輪詢更快時,某些串流會產生間隙
- 僅訂閱或需要驗證的直播需要
--cookies-from-browser chrome
對於簡單的公開直播,yt-dlp 有效。對於任何需要驗證或具有激進令牌輪替的直播,瀏覽器擴充功能路徑更可靠,因為它無需重新實現瀏覽器的工作階段處理。
方法 3:FFmpeg 搭配直播 HLS 旗標
FFmpeg 可以用正確的旗標錄製直播 HLS:
ffmpeg \
-live_start_index -1 \
-i "https://example.com/master.m3u8" \
-c copy \
-t 02:00:00 \
output.mp4
-live_start_index -1 告訴 FFmpeg 從最近可用的片段開始。-t 02:00:00 將錄製限制在 2 小時內。沒有 -t,FFmpeg 會錄製直到串流結束或你按 Ctrl+C。
針對個別音訊/影片資訊清單:
ffmpeg \
-i "https://example.com/video.m3u8" \
-i "https://example.com/audio.m3u8" \
-c copy \
-t 02:00:00 \
output.mp4
FFmpeg 方法有效,但對以下情況很脆弱:
- 主播放清單 URL 過期(大多數直播的已簽署 URL 在幾分鐘內過期)
- 導致片段取得失敗的網路問題(FFmpeg 可以配置為重試,但預設值很保守)
- 直播串流的 CDN 需要 FFmpeg 不會自動設定的 Referer 標頭
為什麼螢幕錄製仍然有時是正確的答案
有幾種情況下螢幕錄製會勝過流錄製:
-
受 DRM 保護的直播 — Netflix、Disney+、HBO Max、Amazon Prime Video 等服務使用 Widevine 或 PlayReady DRM。HLS 錄製方法都不起作用;加密片段在沒有 DRM 金鑰的情況下無法播放。螢幕錄製擷取播放器解碼到你螢幕的內容,此時未受保護。(這在你的司法管轄區是否合法是另一個問題。)
-
多來源佈局 — 如果你想錄製一個串流加上側邊的聊天面板,加上網路攝影機疊加層,螢幕錄製是唯一方法來將它們擷取為單一複合。
-
極度 DRM 相鄰平台 — 某些平台會偵測 HLS 下載嘗試並提供不同的(通常已降級或被阻止的)資訊清單。螢幕錄製繞過該偵測。
對於 95% 的公開直播,流錄製更快、更簡潔、品質更高。螢幕錄製是流錄製路徑被阻止時的備用方案。
常見直播陷阱
直播資訊清單 URL 每 60 秒過期
大多數直播 HLS 資訊清單是在 60-300 秒內過期的已簽署 URL。如果你複製資訊清單 URL 並在 10 分鐘後嘗試,你會得到 403。解決方案:使用在瀏覽器環境(擴充功能)中執行的工具,以便它始終有新的 URL。
長錄製後音訊漂移不同步
直播音訊和影片資訊清單可以在其時間戳基數上漂移。幾小時後,天真的串聯會產生可聽見的漂移。我們的擴充功能自動更正高達 ~500 ms 的漂移;FFmpeg 搭配 -fflags +genpts 會有幫助但對於非常長的錄製來說不完美。
串流在我錄製時開始和停止
某些直播會暫停和繼續(商業中斷、技術問題)。HLS 資訊清單可能暫時沒有新片段。擴充功能和 yt-dlp 都透過無限輪詢來處理此問題;FFmpeg 搭配預設旗標可能會提前結束——傳遞 -reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 10 以讓 FFmpeg 重試。
我的電腦在錄製中途進入睡眠
系統睡眠時錄製停止。確保你的電源設定在長錄製期間防止睡眠,或使用不存在此問題的桌上型電腦。
我可以在做其他事情時錄製嗎?
可以——錄製在背景分頁中進行,且使用很少的 CPU(網路 I/O 是瓶頸,而不是編碼)。你可以瀏覽其他網站、在其他分頁上工作,甚至關閉並重新開啟 Chrome(擴充功能會保留錄製狀態)。
比較:何時使用哪種方法
| 情況 | 最佳方法 |
|---|---|
| Twitch 直播 | 瀏覽器擴充功能或之後下載 VOD |
| 公開廣播(新聞、體育) | 瀏覽器擴充功能 |
| 僅訂閱直播搭配驗證 | 瀏覽器擴充功能(繼承工作階段) |
| 無頭伺服器 / 無人值守指令碼 | yt-dlp 或 FFmpeg |
| 長錄製(> 4 小時) | 瀏覽器擴充功能或 FFmpeg 搭配重新連線旗標 |
| 受 DRM 保護的直播 | 螢幕錄製是唯一合法途徑;檢查你的司法管轄區 |
總結
如果直播是 HLS——大多數都是——你可以直接複製流的方式錄製,無需 OBS、無需重新編碼、無需螢幕錄製額外負擔。最簡單的途徑是在與播放器相同分頁中執行的瀏覽器擴充功能。yt-dlp 和 FFmpeg 是無頭或指令碼用途的好備用方案。
安裝 Video Downloader One-for-All,直播錄製工作流程只需兩次點擊:開始、停止。輸出是廣播內容的位元級 MP4。