M3U8 ファイル形式とは?
拡張子 .m3u8 を持つファイルは、UTF-8でエンコードされたマルチメディアプレイリストです。これらは標準的なテキストファイルであり、実際の音声や動画データは含まれておらず、それらを保存しているマルチメディアファイルやサブフォルダへの参照のみが含まれています。参照以外にも、# で始まるコメント行を通じてプレイリストに関する情報が含まれます。すべての拡張プレイリストは、最初の行にヘッダータグ #EXTM3U を記述する必要があります。
.m3u8 ファイルに含まれるマルチメディアへの参照は、相対パス、絶対パス、またはURLアドレスの3つの形式で記述されます。
HLSストリーミング。 今日、.m3u8 ファイルはHTTP Live Streaming (HLS) マニフェストとして最も広く使用されています。これは2009年にAppleによって導入され、後にRFC 8216として標準化された技術です。この役割において、ファイルは短い .ts 動画セグメント(通常は各2〜10秒)をどこから取得するか、またマスタープレイリストにおいてはどの品質バリアントが利用可能かを記述します。HLS固有のディレクティブには #EXT-X- プレフィックスが使用されます。例えば、#EXT-X-STREAM-INF はバリアントのビットレートを宣言し、#EXT-X-ENDLIST はストリームが完了したことを示します。
.m3u8 ファイルは、ストリーミングサービス、IPTVプレイヤー、インターネットラジオ局などで一般的によく見られます。また、UTF-8記号エンコード標準により非ASCII文字が正しく表示されることが保証されているため、曲の多言語名を含むプレイリストの保存にも使用されます。
.m3u8 と .m3u は互いに非常によく似た形式であり、多くのマルチメディアプレイヤーで認識されるプレイリストファイルです。唯一の違いはエンコーディングの保証です。.m3u8 は明示的にUTF-8ですが、.m3u ファイルはシステムロケールに応じて任意の8ビットエンコーディングを使用する場合があり、アクセント記号付きの文字や非ラテン文字を含むタイトルが正しく表示されない原因となります。
セキュリティと安全性
リスク: LOW.m3u8 ファイル自体は無害なプレーンテキストです。実用上の注意点が2つあります。(1) リモートURLを指すことができるため、悪意のあるプレイリストがプレイヤーを望ましくないコンテンツに誘導する可能性があります。見慣れないプレイリストは、まずテキストエディタで確認してください。(2) m3u8経由でストリーミング動画を保存することは、サイトの規約や著作権に抵触する可能性があります。権利を持っているストリームのみをダウンロードしてください。広告や不要なプログラムを勧める怪しい «m3u8 ダウンローダー» サイトは避け、yt-dlp や FFmpeg を直接使用してください。
形式の詳細
概要M3U8 ファイルを開くプログラム
技術的詳細
詳細仕様| ファイルタイプ | プレーンUTF-8テキスト。特別なソフトウェアなしで、任意のテキストエディタで人間が読み取り、編集可能 |
| MIMEタイプ | `application/vnd.apple.mpegurl` (HLS); `audio/x-mpegurl` (レガシーなローカルプレイリスト) |
| マジックヘッダー | すべての拡張 `.m3u8` プレイリストの最初の行に `#EXTM3U` が現れる必要があります |
| 文字エンコーディング | 厳密にUTF-8。拡張子の `8` はこれを明示的に示しており、非ASCIIのトラックタイトルやファイルパスを可能にします |
| 参照タイプ | 相対ファイルパス、絶対ファイルパス、および完全な HTTP/HTTPS/RTSP URL |
| HLSセグメント形式 | プレイヤーによって順次取得される MPEG-2 Transport Stream (`.ts`) または fragmented MP4 (`.fmp4`) ファイル |
| HLSディレクティブプレフィックス | `#EXT-X-` タグがストリームの動作を制御します(例:`#EXT-X-TARGETDURATION`, `#EXT-X-STREAM-INF`, `#EXT-X-ENDLIST`) |
| セグメント期間 | 通常、セグメントあたり2〜10秒。エントリごとの `#EXTINF` で宣言され、`#EXT-X-TARGETDURATION` によって制限されます |
| アダプティブビットレート | マスター `.m3u8` は、`#EXT-X-STREAM-INF` を介して異なるビットレートと解像度の子プレイリストをリストします |
| 暗号化 | `#EXT-X-KEY` で宣言されたセグメントごとの AES-128 暗号化。URIベースのキーサーバー配信をサポート |
| DRM統合 | `#EXT-X-SESSION-KEY` を介して Apple FairPlay、Google Widevine、Microsoft PlayReady と互換性があります |
| ライブ vs VOD | ライブストリームでは `#EXT-X-ENDLIST` が省略されます。完了したVODプレイリストはこれで終了し、プレイヤーにストリームが終了したことを知らせます |
| 字幕およびキャプショントラック | `#EXT-X-MEDIA TYPE=SUBTITLES` または `TYPE=CLOSED-CAPTIONS` を介して参照される WebVTT または TTML トラック |
| コメント構文 | `#` で始まる行のうち、認識されたタグでないものはすべてコメントとして扱われます。アーティストやタイトルなどのメタデータに使用されます |
| リリース日 | M3U from Winamp (late 1990s); m3u8 = UTF-8 M3U; HLS use of m3u8 since 2009 (Apple), RFC 8216 in 2017 |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | datatracker.ietf.org |