如何下載 M3U8 播放清單檔案:分步指南
如果您曾尝試儲存通過 M3U8 播放清單播放的影片,您一定體會過這種挫败感:没有明顯的"下載"按钮,而您真正想要的檔案不是一個整齐的影片——而是一個指向几十(或几百)個微小影片塊的播放清單。
目錄
什么是 M3U8 播放清單檔案?
M3U8 播放清單檔案是一個纯文本索引。它不包含影片本身,而是按播放顺序列出构成流的媒體片段(通常是 .ts 或 .m4s 檔案)。可以把它看作影片的目錄,而不是影片這本书。
当人們說"下載 M3U8 檔案"時,實際上有两種含义:
- 儲存 .m3u8 文本檔案本身(簡單,但單獨看没有用)。
- 儲存播放清單描述的實際影片——這意味着抓取所有片段檔案並合並為一個可播放的檔案,如 MP4。
在哪裡找到 M3U8 URL
在下載任何內容之前,您需要播放清單 URL。以下是從几乎任何網站抓取它的最快方法:
- 1打開正在播放影片的頁面。
- 2按 F12(或右鍵點擊 → 檢查)打開開發者工具。
- 3进入網路(Network)分頁並重新載入頁面。
- 4在篩選框中輸入 m3u8。
- 5查找以 .m3u8 結尾的請求,右鍵點擊它,選取複製 → 複製 URL。
Tip: 提示:如果您看到多個 .m3u8,片段最多的那個(通常是"媒體播放清單")通常就是您想要的。"主播放清單"列出畫質变體並指向媒體播放清單。
下載 M3U8 檔案如何工作
在底層,下載 M3U8 流是一個三步過程:
- 1讀取播放清單以找到每個片段 URL。
- 2下載每個片段檔案(.ts 或 .m4s 塊)。
- 3將片段合並為一個连续的影片檔案(通常是 MP4)。
Tip: 有些流是加密的(AES-128),需要密钥才能解碼。另一些是籤名或快速過期的,這就是下載可能此刻成功下一刻失败的原因。
如何下載 TS 片段
拿到播放清單 URL 後,下一步是拉取所有片段檔案。您可以手動用脚本完成,也可以讓工具代為處理。需要註意的關鍵點:
- 片段通常按顺序命名(segment-001.ts、segment-002.ts …),這使得批量下載非常簡單。
- 某些伺服器要求與原始頁面相同的 cookies、Referer 或 User-Agent,否則會拒绝請求。
- 如果某個片段缺失或返回錯誤,最终影片在该處可能會有瑕疵。
如何將 TS 片段合並為 MP4
單獨的 TS 片段本身並不是方便的影片檔案。要得到可观看和分享的內容,您需要將它們合並為單個 MP4。總體思路:
- 按播放清單顺序拼接片段。
- 將合並的流重新打包為 MP4 容器。
- 保留原始编解碼器,以免在合並過程中损失畫質。
Tip: 好的合並工具會保留現有的 H.264/H.265 影片和 AAC 音訊,簡單地將它們封裝為 MP4——無需重新編碼,無损畫質。
修複下載時的 CORS 錯誤
CORS(跨源资源共享)是您會遇到的最常见障碍。影片伺服器告诉瀏覽器"只有這個網站可以載入我的檔案",因此從不同源直接下載會被阻止。
- 使用通過自身伺服器或 Cloudflare Worker 代理請求的下載器。
- 在請求中带上原始頁面的 Referer 和 User-Agent 標頭。
- 如果源嚴格阻止跨站存取,尝試不同的流或來源。
Tip: 這正是带有內建"加速"代理的工具存在的原因——它們在伺服器端抓取片段(CORS 不適用),然後將合並後的檔案交還給您。
方法 1:使用瀏覽器扩展
對於临時下載,最簡單的方法是使用瀏覽器扩展來檢測您正在观看頁面上的 M3U8 流。
- 安裝一個能捕獲 HLS/M3U8 流的扩展。
- 打開影片頁面,讓扩展檢測播放清單。
- 點擊下載並選取輸出格式(通常是 MP4)。
Tip: 扩展很方便但有局限:它們依赖頁面允许請求,且可能無法處理加密或受保护的流。
方法 2:手動下載(FFmpeg / curl)
如果您熟悉终端,命令行工具能給您最大的控製權。FFmpeg 可以直接讀取 M3U8 播放清單並輸出合並後的檔案:
ffmpeg -i "https://example.com/path/playlist.m3u8" -c copy output.mp4
Tip: 將 URL 替換為您的播放清單。如果源需要 Referer 或 User-Agent,请用 -headers 添加標頭。如果只想抓取片段,curl 可以循環抓取每個 .ts 檔案。
方法 3:使用線上 M3U8 下載器
最友好的選取是使用線上 M3U8 下載器,它為您完成抓取、合並和轉換——就在瀏覽器中,無需安裝。
- 將 M3U8 URL 貼上到下載器中。
- 可選启用代理以繞過 CORS 和防盗链保护。
- 選取 MP4 作為輸出格式並開始下載。
- 將合並後的影片儲存到您的裝置。
Tip: 我們的免費 M3U8 下載器就是這樣工作的:貼上 URL,必要時打開加速開關,然後將結果下載為 MP4。
安全下載的最佳實践
一些习惯能讓您的下載既可靠又得體:
- 僅下載您拥有或有權限儲存的內容。
- 保留原始编解碼器(複製模式)以避免畫質损失。
- 当源阻止跨站請求時,使用代理或正確的標頭。
- 尽快行動——许多籤名或临時 URL 會在几分钟內過期。
- 删除源片段前,先確認合並後的檔案可以正常播放。
常见的 M3U8 下載問題
当下載失败時,几乎總是以下原因之一:
- CORS 被阻止——使用代理或正確的 Referer/User-Agent。
- URL 過期或已籤名——獲取新的播放清單 URL。
- 片段加密——您需要解密密钥。
- 需要驗證——提供 cookies 或令牌。
- 片段缺失——源移除了某些塊;尝試另一個流。