M3U8 線上播放

播放 M3U8 看起來很簡單——貼上網址就好。但背後其實有一連串判斷:這份清單是 Master 還是 Media?瀏覽器支不支援原生播放?來源有沒有開放跨域?了解這些,就能自己判斷為什麼某些串流播不了。

操作步驟

  1. 取得 M3U8 網址

    從來源取得 .m3u8 結尾的播放清單網址。

  2. 貼上並開始播放

    將網址貼進播放器,按下播放。工具會自動判斷是原生播放或需要 JS 解碼。

  3. 調整畫質與速度

    若為多畫質串流,可手動選擇解析度;也可調整播放速度與開啟子母畫面。

播放器背後的流程

  1. 讀取清單:抓取 M3U8,解析出片段列表與畫質資訊
  2. 判斷類型:若是 Master 清單,先依網速選擇合適畫質
  3. 抓取片段:下載前幾個 .ts 片段,組成可播放的緩衝區
  4. 解碼播放:把片段交給播放引擎(原生或 JavaScript 解碼)
  5. 動態調整:播放中持續監測網速,自動升降畫質

這個流程解釋了為什麼「開頭會轉一下圈」——那是在抓取並緩衝第一批片段。片段越短,起播越快,但請求次數越多。

原生播放 vs JavaScript 解碼

方式瀏覽器限制
原生播放Safari、iOS 全系列幾乎無限制,可直接吃 .m3u8
JS 解碼Chrome、Firefox、Edge受 CORS 限制,需來源開放跨域

本站播放器會優先嘗試原生播放,失敗才退回 JS 解碼。若兩者都失敗,會告訴你確切原因,例如「來源未允許跨域存取」或「串流已加密」。

畫質與播放控制

若來源提供多畫質,播放器會列出可選的解析度。你也可以手動鎖定特定畫質(例如固定 1080p,避免網速波動時降畫質)。

其他實用控制包含:播放速度調整(0.5x~2x)、子母畫面(PiP)、全螢幕。這些都是瀏覽器原生能力,不經過伺服器。

常見問題

為什麼有些 M3U8 播不出來?
最常見的三個原因:網址已過期(回傳 403)、來源未開放跨域存取(CORS)、或串流受加密保護。本站播放器會明確顯示是哪一種,而不是只顯示「播放失敗」。
Safari 能播但 Chrome 不行?
因為 Safari 原生支援 HLS,可以直接播放 .m3u8;Chrome 與 Firefox 不支援原生 HLS,必須透過 JavaScript 抓取片段再餵給播放器。此時就會受到 CORS 限制。
播放時會上傳我的觀看紀錄嗎?
不會。串流請求由你的瀏覽器直接發往來源伺服器,本站不經手、不代理、不記錄任何觀看內容。
支援直播串流嗎?
支援。播放器會持續重新讀取清單以取得最新片段。不過直播無法「下載完整影片」,因為它沒有結束點。

開始播放

免安裝、免註冊,貼上網址立刻播放。

開啟播放器