M3U8 下載失敗怎麼辦?
下載失敗的原因很多,但症狀通常會指向特定幾種問題。先確認你遇到的是哪一類,再對照下表處理,比盲目重試有效得多。
操作步驟
-
先看錯誤訊息屬於哪一類
把錯誤分成「連不上」「抓不到片段」「合併後不能播」三類,不同類別的成因完全不同。
-
確認播放清單是否可讀取
若連清單都讀不到,問題在網址或存取權限;能讀到清單代表問題在片段層。
-
檢查是不是加密串流
清單中若有 #EXT-X-KEY,表示片段受 AES-128 加密,需具備合法金鑰。
-
檢查片段完整性
比對清單宣告的片段數與實際下載成功的數量,找出中斷點。
直播串流無法「下載完整」
這是很多人卡住的地方。直播類的 M3U8 有兩個特徵:
#EXT-X-PLAYLIST-TYPE:EVENT
(沒有 #EXT-X-ENDLIST 這一行)沒有 #EXT-X-ENDLIST 代表「這份清單還沒結束」,播放器每抓一次都會看到新的片段。既然沒有終點,自然沒有「完整下載」這回事。
你能做的只有側錄某段時間的內容。若要保存完整內容,通常需要等直播結束、來源產出 VOD 版本後再處理。
超長影片的記憶體限制
瀏覽器端合併的原理是把片段先放進記憶體,這在長影片上會碰到上限:
- 以 1080p 每小時約 1.5–3GB 估算,超過 2 小時就有風險
- 行動裝置記憶體較小,更容易失敗(通常在 500MB 前後)
- 若遇到這個限制,建議改用支援串流寫檔的桌面工具(如 FFmpeg),本站另有常見問題說明適用情境
常見問題
下載卡在某個百分比不動了
通常是某個片段持續失敗(來源回傳錯誤或超時)。可先重新嘗試,若固定卡在同一個位置,代表該片段可能有問題。超長串流(數千片段)也可能是瀏覽器記憶體不足,建議改用桌面軟體處理。
下載完成了,但檔案打不開
最常見的原因是片段不完整(下載中途失敗)或串流受加密。若清單含 #EXT-X-KEY,缺少金鑰會導致檔案無法解碼。另一個可能是串流的編碼格式與播放器不相容,可嘗試用支援度較廣的播放器開啟。
顯示「找不到片段」是什麼意思?
表示播放清單中沒有列出任何 .ts 片段。可能是這是一份 Master 清單(需先選畫質),或是這是一份直播清單(LIVE),片段會持續變動而不固定列出。
直播串流可以下載嗎?
直播清單(含 #EXT-X-PLAYLIST-TYPE:EVENT 或無 #EXT-X-ENDLIST)沒有固定長度,片段會不斷新增,因此無法「下載完整影片」。只能側錄固定區間,且需考量法律與授權問題。