技術チュートリアル
M3U8とは?HLSプレイリストの仕組みをやさしく解説
M3U8の仕組み、再生方法、MP4変換、トラブル対処をまとめた実践ガイド。
2025年9月18日·1 分で読めます
M3U8とは?HLSプレイリストをやさしく解説(仕組み・再生・変換・トラブル対処)
要点まとめ(TL;DR)
- M3U8はHLS配信用のUTF‑8テキスト「プレイリスト」。動画本体ではなく、短い.tsセグメントの場所を示す「地図」です。
- 再生方法:VLCに.m3u8のURLを貼り付け。WebではSafariがネイティブ対応、その他ブラウザはhls.jsを利用。
- MP4に変換:まずは再エンコードなしのリマックス、ダメならFFmpegで再エンコード。DRM保護は変換不可。
1) M3U8って何?
M3U8はHTTP Live Streaming(HLS)のためのテキストファイルです。動画を数秒ごとの.tsに分割し、その並びやルールをM3U8に記述します。プレイヤーはこのリストを読み、順番に取得して途切れず再生します。
最小例:
#EXTM3U
#EXTINF:6,
segment1.ts
#EXTINF:6,
segment2.ts
画質違いをまとめたマスタープレイリストもあり、プレイヤーが自動で最適なものを選びます。
2) HLSの動き(かんたん)
- エンコード → 短いセグメントに分割 → M3U8生成。
- プレイヤーはM3U8を読み、HTTPで順次ダウンロード。
- 帯域が落ちれば低ビットレートへ切替(アダプティブ)。
3) .m3u8の再生方法
- デスクトップ: VLC → メディア → ネットワークストリームを開く → URL貼付。
- モバイル: iOS/AndroidのVLCでも多くの公開ストリームが再生可能。
- Web: Safariは標準対応、他ブラウザはhls.jsでHTML5 videoに接続。 再生できない場合は、公開可否・認証/トークン・DRMの有無を確認しましょう。
4) FFmpegで M3U8 を MP4 へ変換
まずは無劣化リマックス:
ffmpeg -i "https://example.com/stream.m3u8" -c copy -bsf:a aac_adtstoasc output.mp4
問題がある場合は安全に再エンコード:
ffmpeg -i "https://example.com/stream.m3u8" -c:v libx264 -c:a aac -movflags +faststart output.mp4
メモ:私的/DRM配信は不可。黒画面・無音は再エンコードで改善。
5) よくある問題と対処
- 403/401: ヘッダー/クッキーやログインが必要。正規サイト/プレイヤーを使用。
- 404: プレイリスト/セグメントが失効。新しい URL を取得。
- CORS(Web): クロスドメインでブロック。サーバーでCORS許可、またはプロキシ。
- DRM/暗号化: 権限がなければ再生・保存不可。
- カクつき: 低い画質へ切替、または回線改善。
6) 法的注意
権利のあるコンテンツのみ利用してください。利用規約、DRM、関連法令を遵守。
7) まとめ
M3U8はHLSの「地図」。VLCやhls.jsで再生し、必要ならFFmpegでリマックス/再エンコード。まずは認証・CORS・DRMを確認しましょう。
FAQ
- M3U8は動画ファイル? いいえ、セグメントへの参照リストです。
- Safariでは再生できるのにChromeでは? SafariはHLSを標準サポート、Chromeはhls.jsが必要。
- 1つのMP4に結合できる? はい、FFmpegで可能です(上記参照)。