關於這個工具
貼一條 .m3u8 播放清單的 HTTPS 連結,或是把本機的 .m3u8、.ts、.mp4 拖進來,它就會用你這台瀏覽器真正有的路徑開始播。Safari 和 iOS 會回報 canPlayType('application/vnd.apple.mpegurl'),所以網址直接餵給 <video>,由作業系統自己解多工。其他瀏覽器只能靠 Media Source Extensions 播 HLS,因此 hls.js 會在需要的當下才載入,去驅動同一個元素。頁面會寫明它挑了哪條路徑、為什麼這樣挑,你也可以隨時切到另一條,看同一支串流在兩邊表現差在哪。
這個工具真正的重點是影片旁邊那塊資訊面板。畫質階梯會列出主播放清單裡的每一個畫質版本:解析度、平均與尖峰頻寬、codec 字串、宣告的影格率,並標出現在正在播的那一段。音訊與字幕的替代軌會連語言、名稱、預設旗標一起列出來。緩衝顯示會告訴你播放點前面還存了幾秒,切換紀錄則把每一次畫質變動都記下來:時間、從哪一階、切到哪一階,以及當下的頻寬估計值。播放清單卡片會報出 VOD / EVENT / 直播、目標片長、分段數量,VOD 有總長度,直播則在 hls.js 有回報時顯示延遲。
播不出來的時候,它不會丟一個壞掉的播放器給你,而是把實際發生的事寫清楚。在網頁裡播不動的串流,多半根本沒壞:只是伺服器沒送 Access-Control-Allow-Origin 標頭,瀏覽器抓到了播放清單,卻找不到把內容交給這頁 JavaScript 的許可,於是擋下來。診斷會實際去試那個網址,把這種情況跟混合內容(https:// 頁面載 http:// 串流)、根本連不到的主機、以及清單讀得到但瀏覽器解不了的媒體分開,並且直接把伺服器該送的標頭寫給你看。
有一個必須講明白的但書,而且這是全站唯一的一個:串流是你的瀏覽器直接向來源伺服器抓的,所以那台伺服器看得到你的 IP 位址、你的 user agent,以及你要過哪些分段。沒有任何東西上傳到 ByteScope——中間根本沒有伺服器,這正是來源看得到你的原因。有 DRM 保護的串流(Widevine、FairPlay、PlayReady)在這裡完全播不了:它們需要跟版權方的金鑰伺服器換授權,而這一頁不參與那件事。沒加密的串流,以及金鑰 URI 連得到的 AES-128 串流,都能正常播。