要檢查的加密HLS訊號
| Signal | 這意味著什麼 | 要測試什麼 |
|---|---|---|
| #EXT-X-KEY:METHOD=AES-128 | 該流使用標準HLS段加密。 | 確認關鍵 URI 透過與段相同的直接或代理路徑載入。 |
| 金鑰請求被阻止 | 清單已加載,但當播放器取得金鑰時播放失敗。 | 啟用代理或修復密鑰 URL 的Access-Control-Allow-Origin。 |
| 受保護的關鍵端點 | 除非請求包含原始頁面上下文,否則鍵 URL 將傳回 403。 | 透過代理將來源頁面設為Referer並重試播放。 |
| 旋轉鑰匙 | 隨著時間的推移,播放清單會引用多個鍵。 | 測試足夠的流以確認每個引用的鍵仍然可存取。 |
| 數位版權管理系統 | 該串流媒體需要 Widevine、FairPlay、PlayReady 或許可證交換。 | 使用許可的應用程式或播放器。該工具不會繞過 DRM。 |
如何測試加密的M3U8流
- 1貼上加密的M3U8URL使用直接URL開始播放,這樣您就可以查看清單、金鑰和段是否可以訪問,而無需額外的路由。
- 2檢查艙單和健康報告運行驗證器以檢查播放清單是否引用 #EXT-X-KEY 以及它是否看起來像現場直播或 VOD HLS。
- 3將鍵和段一起路由如果CORS封鎖金鑰或媒體文件,請啟用代理,以便清單、金鑰 URI 和段落都使用相同的瀏覽器可讀來源。
- 4為受保護的關鍵端點添加Referer如果按鍵URL傳回403,則透過代理將原始播放頁面設定為Referer並重試流。
- 5在 DRM 邊界處停止如果串流需要許可證伺服器或 DRM 堆疊,請使用授權播放器。 AES-128 密鑰存取與 DRM 繞過不同。
AES-128 HLS 與 DRM 不同
AES-128HLS使用#EXT-X-KEY在播放清單中儲存密鑰URI並加密正常媒體片段。如果您被允許存取金鑰,瀏覽器HLS播放器通常可以解密播放。 DRM 系統需要許可證交換和平台 CDM,此工具無法取代或繞過這些。
為什麼即使清單加載,關鍵URL也會失敗
清單、金鑰和區段可以存在於不同的路徑或網域中。串流可以公開播放列表,但透過CORS、簽署的URL到期或Referer檢查來阻止密鑰。對於加密流,鏈中的每個請求都必須可訪問,而不僅僅是第一個 .m3u8 檔案。
轉換如何處理加密HLS
對於可存取的普通AES-128流,MP4轉換器可以取得清單所引用的金鑰並在FFmpeg步驟期間解密。如果金鑰存取被阻止,請在嘗試匯出 MP4 或 MP3 之前修復代理程式或 Referer 路由。
相關加密HLS頁面
- M3U8 至 MP4 轉換器 可以匯出可存取的 AES-128 HLS 流量以及本地 FFmpeg WebAssembly。
- HLSCORS錯誤 解釋了為什麼鍵和段請求需要瀏覽器可讀的回應。
- 自訂RefererM3U8播放器 涵蓋拒絕直接請求的受保護金鑰或段端點。
常見問題
該播放器可以播放加密的M3U8串流嗎?
是的,對於正常的AES-128HLS流,當清單、密鑰URL和媒體段可達時。它無法繞過 DRM 系統或許可證伺服器。
#EXT-X-KEY 在 M3U8 文件中意味著什麼?
#EXT-X-KEY 告訴 HLS 播放器如何加密媒體片段以及在哪裡取得解密金鑰。對於 AES-128 HLS,必須可以存取該鍵 URL 才能進行播放或轉換。
為什麼載入清單後加密流會失敗?
最常見的原因是金鑰請求被阻止。清單可能會加載,但當瀏覽器無法取得 AES-128 金鑰或後來加密的片段時,播放會失敗。
CORS 代理可以幫助加密HLS 嗎?
是的,如果問題是瀏覽器存取。代理必須將清單、金鑰URL和媒體段一起路由,以便瀏覽器可以讀取每個加密的HLS請求。
這是否會繞過 Widevine、FairPlay 或 PlayReady?
不需要。受 DRM 保護的串流需要授權許可證交換和平台 DRM 支援。該工具用於正常的HLS調試,而不是DRM繞過。