M3Uファイルとは何ですか?
M3U (MP3 URL) は、拡張子 .m3u で保存されるオーディオ プレイリスト ファイルです。 M3U は実際のオーディオ ファイルではなく、オーディオ ファイルと場合によってはビデオ ファイルを指すだけです。 M3U は Fraunhofer によって Winplay3 ソフトウェアで使用するために開発されました。また、さまざまなメディア プレーヤーやソフトウェアでサポートされています。
M3Uファイル形式
M3U ファイル形式の正式な仕様はなく、事実上の標準です。 M3U は、テキストがローカル システムのデフォルトの非 Unicode エンコーディングでエンコードされている場合は .m3u 拡張子を使用するプレーン テキスト ファイルであり、テキストが UTF-8 でエンコードされている場合は .m3u8 拡張子を使用します。 M3U ファイルの各エントリは、次のいずれかになります。
- ファイルへの絶対パス
- M3U ファイルに相対的なファイル パス。
- URL
拡張 M3U
拡張 M3U では、「#」で始まり、パラメーターがある場合はコロン (:) で終わる追加のディレクティブが導入されています。以下は、拡張 M3U のディレクティブのリストです。
- #EXTM3U - Extended M3U を示すファイル ヘッダーであり、ファイルの最初の行である必要があります。
- #EXTENC: - テキスト エンコーディング。ファイルの 2 行目にある必要があります。
- #EXTINF: - トラック情報およびその他の追加プロパティに使用されます。
- #PLAYLIST: - プレイリストのタイトル
- #EXTGRP: - 名前のグループ化を開始
- #EXTALB: - アルバム情報
- #EXTART: - アルバム アーティスト
- #EXTGENRE - アルバムのジャンル
- #EXTM3A - アルバム トラックまたはチャプターの単一ファイル プレイリスト。
- #EXTBYT: - ファイル サイズ (バイト単位)。
- #EXTBIN: - バイナリ データが続きます。
- #EXTIMG: - ロゴ、カバー、またはその他の画像。
HLS M3U
HLS (HTTP ライブ ストリーミング) は、オーディオとラジオを iOS デバイスにストリーミングするために Apple によって作成されました。これは、UTF-8 でエンコードされた拡張 M3U に基づいています。 2017 年に IETF によって RFC 8216 として標準化されました。 HLS プレイリストのタグは「#EXT-X-」で始まります。以下は、HLS のタグのリストです。
- EXT-X-VERSION - メディアとそのサーバーに基づくファイルの互換バージョンを示します。
- #EXT-X-START: - プレイリストの優先開始点を示します。
- #EXT-X-PLAYLIST-TYPE: - プレイリストのタイプ (EVENT または VOD) を提供します。
- #EXT-X-TARGETDURATION: - 最大セグメント期間を指定します。
- #EXT-X-MEDIA-SEQUENCE: - メディア シーケンス番号を示します。
- #EXT-X-INDEPENDENT-SEGMENTS - すべてのメディア サンプルが独立しており、他のセグメントなしでデコードできることを示します。
- #EXT-X-MEDIA: - 同じコンテンツの代替レンディションを含むメディア プレイリストを関連付けるために使用されます。
- #EXT-X-STREAM-INF: - レンディションの一部であるバリアント ストリームを指定します。
- #EXT-X-BYTERANGE: - メディア セグメントがその URI によって識別されるリソースのサブ範囲であることを示します。
- #EXT-X-DISCONTINUITY - 前後のメディア セグメント間の不連続性を示します。
- #EXT-X-DISCONTINUITY-SEQUENCE: - 同じバリアント ストリームまたは異なるバリアント ストリームの異なるレンディション間の同期を可能にします。
- #EXT-X-KEY: - メディア セグメントを復号化する方法を指定します。
- #EXT-X-MAP: - メディア初期化セクションの取得方法を指定します。該当するメディア セグメントを解析する必要があります。
- #EXT-X-PROGRAM-DATE-TIME: - メディア セグメントの最初のサンプルを絶対的な日付および/または時刻に関連付けます。
- #EXT-X-DATERANGE: - データ範囲を関連付けます。
- #EXT-XI-FRAMES-ONLY - プレイリスト内の各メディア セグメントが単一の I フレームを記述することを示します。
- EXT-XI-FRAME-STREAM-INF - プレイリスト ファイルにマルチメディア プレゼンテーションの I フレームが含まれていることを示します。
- #EXT-X-SESSION-DATA: - 任意のセッション データを マスタープレイリストで運ばれます。
- #EXT-X-SESSION-KEY: - 暗号化キーを許可します。クライアントは、最初にプレイリストを読み取らずに、これらのキーをプリロードできます。
- #EXT-X-ENDLIST - これ以上メディア セグメントがファイルに追加されないことを示します。
以下は、M3U で使用されるインターネット メディア タイプのリストです。
- application/vnd.apple.mpegurl: HLS アプリケーションでプレイリストを参照するために使用される、M3U の唯一の登録メディア タイプ (2009 年登録) です。
- 次のインターネット メディア タイプは、非 HLS アプリケーションによって使用されます。
- application/mpegurl
- application/x-mpegurl
- audio/mpegurl
- audio/x-mpegurl
M3U の例
これは M3U ファイルの例です。
#EXTM3U
#EXTINF:111, Sample artist name - Sample track title
C:\Music\SampleMusic.mp3
#EXTINF:222,Example Artist name - Example track title
C:\Music\ExampleMusic.mp3