M3U8 プレーヤーに戻る

再生診断

M3U8 の CORS エラー: 修正できること、できないこと

CORS エラーは、配信元サーバーがブラウザページによるプレイリストまたはメディアセグメントの読み取りを許可していないときに発生します。フロントエンドのプレーヤーはそのサーバーポリシーを上書きできません。

CORS が M3U8 再生に影響する理由

HLS.js はブラウザ内で動作するため、プレイリストとセグメントのリクエストは他の Web リクエストと同じクロスオリジン規則の対象になります。サーバーがサイトのオリジンを許可しない場合、プレーヤーが解析する前にブラウザがレスポンスをブロックします。

よくある誤りは、マスタープレイリストだけ CORS を有効にし、メディアプレイリスト、セグメントファイル、字幕、キー URL を忘れることです。

サーバーが許可すべきこと

公開テストストリームでは、サーバーまたは CDN が Access-Control-Allow-Origin にテストサイトのオリジン、または慎重に検討したワイルドカードを返すことが一般的です。非公開ストリームでは、許可メソッド、ヘッダー、認証情報の扱いも一貫して設定する必要があります。

認証、署名付き URL、Cookie、リファラー規則は、ブラウザ再生を前提に設計する必要があります。正しい修正方法は、ストリーム所有者と配信構成によって異なります。

オンラインプレーヤーができないこと

静的なブラウザツールは、CORS、DRM、ペイウォール、ログイン確認、Cookie、リファラー要件を回避できません。ストリームがこのページのオリジンに対して許可されていない場合、再生は失敗するべきです。

第三者ストリームに対する公開プロキシ回避策は避けてください。プライバシー、帯域、著作権、アクセス制御のリスクを生みます。