m3u8線上播放器 m3u8線上播放器

什麼是 m3u8 協定

先把 m3u8 理解清楚,後面再谈 HLS、直播、下載這些事情就顺很多。

如果只說一句话:m3u8 就是一份“播放清單”。它用 UTF‑8 编碼的纯文本,把很多小的音影片分片按顺序列出來,讓播放器知道「下一段影片去哪儿拉」。

把一整段影片切成很多小块,m3u8 负责“記帳”和排队顺序

你在瀏覽器裡開啟 m3u8,其实看到的就是一堆帶 # 的標簽行,再加上一行一行的分片位址,看上去有点像“配置檔案”。但對播放器來說,這就是完整的播放說明书。

m3u / m3u8 的關係

很多人會把 .m3u.m3u8 搞混,它們的關係大概可以這樣理解:

所以,你可以把 m3u8 看成是“更現代、更互联网友好”的 m3u 版本。

m3u8 在 HLS 裡的角色

在 HLS 協定裡,一路上有三個主角:

大致流程可以简單画成這樣:

一個最简單的 m3u8 長什麼樣

下面是一個非常简化的例子,真实环境中會比這复杂一些,但结构是類似的:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXTINF:5.92,
segment001.ts
#EXTINF:5.88,
segment002.ts
#EXTINF:5.90,
segment003.ts
#EXT-X-ENDLIST
    

可以看到,標簽行都以 # 开標頭,而真正的資源位址就是中間那幾行 segmentxxx.ts

為什麼我們关心的是“列表”,不是“單個檔案”

很多人第一次用 m3u8 線上播放器,习惯性會去找「一個 mp4 位址」;但在 HLS 的世界裡,更推荐的做法是拿到 m3u8,讓播放器自己去處理各種碼率、分片和重试逻辑。

對你來說,m3u8 帶來的直接好處有:

理解了這些,再回標頭看我們的線上播放器輸入框,其实你填进去的不是“影片檔案”,而是“一個影片的播放计划书”。