M3U8 リンクが失敗する理由
| 原因 | どのように見えるか | 何を試すか |
|---|---|---|
| CORSブロック | マニフェストまたは .ts セグメントは VLC でロードされますが、ブラウザでは失敗します。 | スマート CORS プロキシを有効にして、正常性レポートを再度実行します。 |
| 期限切れ URL | マニフェストはどこでも 403、404、または空の応答を返します。 | ソース ページまたは CDN から新しい .m3u8 URL をキャプチャします。 |
| ホットリンク保護 | ストリームは、リクエストが元の Web サイトから来た場合にのみ機能します。 | プロキシ オプションに同じ Referer を設定し、必要に応じて User-Agent を設定します。 |
| デッドセグメント | マニフェストはロードされますが、数秒後に再生が停止するかスキップされます。 | M3U8 バリデータを実行し、サンプリングされたセグメントのエラーを検査します。 |
| サポートされていないコーデック | VLC はストリームを再生しますが、ブラウザには音声のみまたは黒いビデオが表示されます。 | ヘルスレポートでコーデックを確認し、別のブラウザまたは VLC を試してください。 |
| 混合コンテンツ | HTTPS ページは HTTP ストリームをロードしようとします。 | HTTPS ストリーム URL を使用するか、プロキシ エンドポイント経由でストリームをルーティングします。 |
| DRM | マニフェストは、 Widevine、FairPlay、または PlayReady による保護された再生を指します。 | ライセンスを取得したアプリまたはプレーヤーを使用してください。このツールは DRM をバイパスしません。 |
M3U8 リンクが再生されない場合の修正方法
- 1
マニフェストが本物であることを確認する
M3U8 URL を直接開くか、プレーヤーに貼り付けます。有効な HLS マニフェストは通常、#EXTM3U で始まり、#EXT-X-STREAM-INF、#EXTINF、または #EXT-X-ENDLIST などのタグが含まれます。
- 2
まずはプロキシなしで再生してみてください
URL を貼り付けて、再生を押します。読み込まれると、ストリームに到達できるようになり、ビットレート、字幕、変換、またはプレイリスト編集のテストを続行できます。
- 3
CORS プロキシを有効にする
ブラウザーが CORS エラーを報告するか、ストリームが VLC で動作するがオンラインでは動作しない場合は、スマート CORS プロキシをオンにして、マニフェスト、キー、セグメントがプロキシ経由で要求されるようにします。
- 4
必要に応じて Referer と User-Agent を設定します
ホットリンクで保護されたストリームの場合は、ストリームが通常再生されるページ URL をコピーし、それを Referer として設定します。オリジンがクライアントによってフィルタリングされる場合は、デスクトップ ブラウザ User-Agent を追加します。
- 5
ヘルスレポートを実行する
M3U8 バリデータを使用して、トラック、ビットレート、暗号化、ライブ/VOD ステータス、およびサンプリングされたデッド .ts セグメントをリストします。これにより、実際のリンク切れとブラウザ アクセスの問題が区別されます。
- 6
コーデックと DRM の制限を確認する
マニフェストとセグメントに到達できるにもかかわらず再生が失敗する場合は、コーデックと暗号化を調べてください。ブラウザ プレーヤーはすべてのコーデックをデコードできるわけではなく、このツールは DRM をバイパスしません。
CORS かリンク切れかを判断する方法
CORS はブラウザのルールであるため、同じストリームがオンラインで失敗しても VLC で再生される可能性があります。デッドリンクはどこでも失敗します。 VLC で URL が開かれるが、ブラウザでは開かない場合は、プロキシから始めてください。両方とも失敗した場合は、HTTP ステータスを検査し、署名された HLS リンクがすぐに期限切れになることが多いため、新しい URL をキャプチャします。
カスタム Referer が再生を修正する場合
一部のオリジンは、リクエストが元のページから送信されたように見える場合にのみ、マニフェストとセグメントを提供します。それがホットリンク保護です。このプレーヤーでプロキシを有効にし、詳細オプションを開き、元のページを Referer に設定して、再試行してください。オリジンがクライアント タイプもチェックする場合は、ブラウザ User-Agent を追加します。
再生が開始されてから停止する理由
マニフェストは、1 つ以上のメディア セグメントが失われている、ブロックされている、または過負荷になっている間も有効である可能性があります。プレーヤーは開始し、バッファリングし、壊れたセグメントに到達すると停止します。正常性レポートは、プロキシを介して .ts セグメント URL をサンプリングし、合格/失敗数をレポートするため、CDN パスが実際に正常かどうかがわかります。
VLC とブラウザが一致しない理由
VLC はブラウザの CORS ルールに拘束されず、より多くのコーデックをサポートしているため、ブラウザが拒否したストリームを再生できます。ブラウザー ツールは、Web サイト訪問者が遭遇する同じ CORS、混合コンテンツ、およびヘッダーの問題を明らかにし、修正をテストするためのプロキシおよび Referer コントロールを提供するため、Web デバッグに適しています。
問題の切り分けに役立つツール
- M3U8 バリデーター トラック、ビットレート、暗号化、ライブ/VOD ステータス、デッド セグメントをチェックします。
- M3U8 ~ MP4 到達可能なセグメントをファイルに再多重化できるかどうかを確認します。
- VLC vs オンライン M3U8 Player ブラウザとデスクトップの再生が必ずしも一致しない理由を説明します。
よくある質問
私のM3U8 リンクがブラウザで再生されないのはなぜですか?
最も一般的な原因は、CORS の制限、期限切れの署名付き URL、特定の Referer を必要とするホットリンク保護、デッド .ts セグメント、サポートされていないコーデック、HTTP/HTTPS コンテンツの混合、または DRM です。まずプロキシと正常性レポートを試して、ブラウザー アクセスの問題を壊れたストリームから分離します。
同じ M3U8 URL が VLC では機能するのに、オンラインでは機能しないのはなぜですか?
VLC はブラウザの CORS ルールによって制限されないため、オンライン プレーヤーが直接アクセスできないストリームを取得できます。ブラウザ プレーヤーで CORS プロキシを有効にし、オリジンがホットリンク保護を使用している場合はカスタム Referer で再試行します。
HLS CORS エラーを修正するにはどうすればよいですか?
正しい Access-Control-Allow-Origin ヘッダーを送信するオリジンを使用するか、マニフェスト、キー、セグメントを CORS プロキシ経由でルーティングします。テストするには、このプレーヤーでスマート プロキシを有効にし、それを通じて正常性レポートを実行します。
保護された M3U8 ストリームにはどの Referer を使用すればよいですか?
.m3u8 URL 自体ではなく、ストリームが通常再生されるページの URL を使用します。多くのオリジンは、マニフェストまたはメディア セグメントを提供する前に、そのページが Referer であることをチェックします。
これで DRM で保護されたストリームを修正できますか?
いいえ。このツールは、CORS、Referer、およびデッドセグメントのデバッグに役立ちますが、 Widevine、FairPlay、または PlayReady などの DRM システムをバイパスしません。