M3U

M3U
ファイル名拡張子
.m3u、.m3u8
インターネットメディアの種類様々な;
初回リリース 1996年頃
フォーマットの種類プレイリスト
延長HTTPライブストリーミングプレイリスト

M3UMP3 URL [ 1 ] [ 2 ] )は、マルチメディアプレイリスト用のコンピュータファイル形式です。M3Uファイル形式の一般的な用途の一つは、インターネット上のストリームを指す単一エントリのプレイリストファイルを作成することです。作成されたファイルは、そのストリームへの容易なアクセスを提供し、ウェブサイトからのダウンロード、電子メールの送受信、インターネットラジオの視聴などによく使用されます。

元々はMP3などの音声ファイル用に設計されましたが、オンラインソースを含む音声・動画ソースをメディアプレーヤーに提供するために広く使用されています。M3Uは元々フラウンホーファーによってWinPlay3ソフトウェア用に開発されましたが[ 3 ] 、現在では多くのメディアプレーヤーやソフトウェアアプリケーションがこのフォーマットをサポートしています。

M3Uプレイリストの不注意な取り扱いは、 VLCメディアプレーヤー[ 4 ] iTunes[ 5 ] Winamp[ 6 ]など多くの音楽プレーヤーの脆弱性の原因となっています。[ 7 ]

ファイル形式

M3U 形式には正式な仕様はありませんが、事実上の標準となっています。

M3Uファイルは、1つまたは複数のメディアファイルの場所を指定するプレーンテキストファイルです。テキストがローカルシステムのデフォルトの非Unicodeエンコード(例:Windowsコードページ)でエンコードされている場合は「m3u」というファイル名拡張子が付き、 UTF-8エンコードされている場合は「m3u8」という拡張子が付きます。[ 8 ]

各エントリには1つの仕様が含まれます。仕様は以下のいずれかになります。

  • 絶対ローカルパス名。例:C:\My Music\Heavysets.mp3
  • M3Uファイルの場所を基準としたローカルパス名(例:Heavysets.mp3
  • URL

各エントリは、次のエントリと区切る改行CR LFで終わります。さらに、一部のデバイスでは、 で表された改行のみを受け入れ、 のみを認識しませんLF

拡張M3U

M3Uファイルには、先頭に「#」文字を付けたコメントを含めることもできます。拡張M3Uでは、「#」は拡張M3Uディレクティブも開始します。拡張M3Uディレクティブは、パラメータをサポートする場合はコロン「:」で終了します。

M3U拡張子
指令説明必須標準
#EXTM3Uファイルヘッダーはファイルの最初の行である必要があります#EXTM3Uはい
#EXTINF:トラック情報: 実行時間(秒)と、それに続くリソースの表示タイトル(オプション)。実行時間については、メディアが長さが定義されていないストリーミングファイルの場合、長さに-1または0を指定できます。#EXTINF:123,Artist Name – Track Title␤artist - title.mp3いいえはい
キーと値のペアとしての追加プロパティ#EXTINF:123 logo="cover.jpg",Stream Title␤http://example.org/live.strmいいえIPTV
#PLAYLIST:プレイリストの表示タイトル#PLAYLIST:Music TVIPTV
#EXTGRP:名前付きグループ化を開始する#EXTGRP:Foreign ChannelsいいえIPTV
#EXTALB:アルバム情報、特にタイトル#EXTALB:Album Title (2009)AL、[ 9 ] M3A [ 10 ]
#EXTART:アルバムアーティスト#EXTART:VariousAL、[ 9 ] M3A [ 10 ]
#EXTGENRE:アルバムのジャンル#EXTGENRE:Jazz FusionAL [ 9 ]
#EXTM3Aアルバムのトラックまたはチャプターを 1 つのファイルにまとめたプレイリスト#EXTM3AM3A [ 10 ]
#EXTBYT:ファイルサイズ(バイト単位)#EXTBYT:34124いいえM3A [ 10 ]
#EXTBIN:バイナリデータが続き、通常はMP3が連結されます#EXTBIN:いいえM3A [ 10 ]
#EXTALBUMARTURL:アルバムアート画像のURL#EXTALBUMARTURL:https://example.com/a1b2c3d4.jpgいいえジャメンド/ VLC [ 11 ]

Appleは、拡張M3U形式をHTTPライブストリーミング(HLS)のベースとして使用しました[ 12 ]。これは2017年にIndependent Submission Stream RFCでRFC 8216として文書化されました[ 13 ]。その中で、マスタープレイリストはセグメントプレイリストを参照します。セグメントプレイリストには通常、メディアストリームの短い部分のURLが含まれています。タグの中には、前者のタイプにのみ適用されるものと後者のタイプのプレイリストにのみ適用されるものがありますが、いずれも で始まります#EXT-X-

HLS M3U拡張子
指令説明
#EXT-X-START:TIME-OFFSET=0
#EXT-X-INDEPENDENT-SEGMENTSパラメータなしのトグル
#EXT-X-PLAYLIST-TYPE:VODまたはEVENT
#EXT-X-TARGETDURATION:10メディアセグメントの最大継続時間(秒)
#EXT-X-VERSION:4
#EXT-X-MEDIA-SEQUENCE:0プレイリストファイルに表示される最初のメディアセグメントのメディアシーケンス番号
#EXT-X-MEDIA:NAME="English", TYPE=AUDIO, GROUP-ID="audio-stereo-64", LANGUAGE="en", DEFAULT=YES, AUTOSELECT=YES, URI="english.m3u8"
#EXT-X-STREAM-INF:BANDWIDTH=1123000, CODECS="avc1.64001f,mp4a.40.2"パラメータには、1つの結合された値、またはストリームごとに1つの値がコンマで区切られて含まれます。
#EXT-X-BYTERANGE:1024@256000
#EXT-X-DISCONTINUITYパラメータなしのトグルこのセグメントは新しい期間の始まりを表します
#EXT-X-DISCONTINUITY-SEQUENCE:2期間の番号の開始を示します
#EXT-X-GAPパラメータなしのトグルこのセグメントは、新しい期間の前の「スペーサー」を表します。
#EXT-X-KEY:METHOD=NONE使用された暗号化方法と復号化キーを示します
#EXT-X-MAP:URI=MediaInitializationSection
#EXT-X-PROGRAM-DATE-TIME:2010-02-19T14:54:23.031+08:00ISO 8601形式
#EXT-X-DATERANGE:ID=foo
#EXT-X-I-FRAMES-ONLYパラメータなしの i-frameトグル
#EXT-X-SESSION-DATA:DATA-ID=com.example.movie.title
#EXT-X-SESSION-KEY:
#EXT-X-ENDLISTパラメータなしのリスト終了信号

M3U8

M3UのUnicodeバージョンはM3U8で、UTF - 8でエンコードされた文字を使用します。M3U8ファイルは、もともとAppleがiOSデバイスにビデオやラジオをストリーミングするために開発したHTTP Live Streaming(HLS)形式の基盤であり、現在ではアダプティブストリーミング全般で広く利用されています。

2015年のHLSプレイリスト形式の提案では、UTF-8のみが使用され、「m3u」と「m3u8」のファイル名拡張子は区別されません。[ 14 ]

インターネットメディアの種類

M3UとM3U8に登録されている唯一のインターネットメディアタイプはapplication/vnd.apple.mpegurl、2009年に登録され、HLSアプリケーションで使用されるプレイリスト形式のみを参照するものです。[ 15 ] [ 16 ]

HLSプレイリスト形式の現在の提案では、2つのメディアタイプが同等として扱われていますapplication/vnd.apple.mpegurlaudio/mpegurl[ 14 ]同様に、これらはMicrosoftがHLSでの使用に推奨する2つのタイプです。[ 17 ]

HLS 以外のアプリケーションでは、メディア タイプは標準化されておらず、IANAに登録されていませんが、一般的なプレイリストでは、M3U および M3U8 形式が歴史的に使用され、現在も使用されていることと関連付けられているメディア タイプがいくつかあります。

  • application/mpegurl
  • application/x-mpegurl
  • audio/mpegurl
  • audio/x-mpegurl[ 1 ] [ 2 ]

これらのタイプに加えて、およびapplication/vnd.apple.mpegurlapplication/vnd.apple.mpegurl.audio、(例えば)MicrosoftのWindows 10 [ 17 ]Internet Explorer 9、[ 18 ]、LGのWebOS [ 19 ]などのHLSアプリケーションでサポートされています。

以下は、Mp3tagによって以下のカスタムオプション設定で作成された「 Alice in Chains 」のアルバム「 Jar of Flies 」のM3Uプレイリストファイルの例です。 [ 20 ] [ 21 ] [ 22 ]

  • プレイリスト拡張情報フォーマット ="%artist% - %title%"
  • プレイリストファイル名の形式 ="%artist%_%album%_00_Playlist.m3u"
  • タグからファイル名への変換形式 ="%artist%_%album%_$num(%track%,2)_%title%"
#EXTM3U #EXTINF:419、アリス・イン・チェインズ - ロッテン・アップル アリス・イン・チェインズ_蠅の瓶_01_腐ったリンゴ.mp3 #EXTINF:260、アリス・イン・チェインズ - ナッツシェル アリス・イン・チェインズ_蠅の瓶_02_ナッツシェル.mp3 #EXTINF:255、アリス・イン・チェインズ - I Stay Away アリス・イン・チェインズ_Jar of Flies_03_I Stay Away.mp3 #EXTINF:256、アリス・イン・チェインズ - ノー・エクスキューズ アリス・イン・チェインズ_蠅の瓶_04_言い訳なし.mp3 #EXTINF:157、アリス・イン・チェインズ - ホエール・アンド・ワスプ アリス・イン・チェインズ_Jar of Flies_05_クジラとワスプ.mp3 #EXTINF:263、アリス・イン・チェインズ - ドント・フォロー アリス・イン・チェインズ_Jar of Flies_06_Don't Follow.mp3 #EXTINF:245、アリス・イン・チェインズ - スウィング・オン・ディス アリス・イン・チェインズ_Jar of Flies_07_Swing On This.mp3 

ソフトウェア

タグエディター

次のタグ エディターソフトウェアを使用すると、 MP3ファイル内のID3タグを編集でき、M3U ファイルの作成もサポートされます。

リナックス
ウィンドウズ
macOS

メディアプレーヤー

以下のメディア プレーヤー ソフトウェアは、M3U ファイルの再生をサポートしています。

マルチプラットフォーム
プログラムプラットフォーム
ウィンドウズ macOS リナックス アンドロイド 他の
アマロックはい いいえ はい いいえ いいえ
大胆なはい いいえ はい いいえ いいえ
バンシーはい はい はい いいえ はい
クレメンタインはい はい はい いいえ はい
フーバー2000はい はい いいえ はい はい
コディはい はい はい はい はい
MOC(コンソール上の音楽) いいえ いいえ はい いいえ はい
MPlayerはい はい はい はい はい
MPVはい はい はい はい はい
VLCメディアプレーヤーはい はい はい はい はい
iTunesはい はい いいえ いいえ いいえ
プレイリストを作成する (mkpl)はい はい はい いいえ いいえ
アンドロイド
macOS
任天堂
ウィンドウズ

参照

その他のプレイリストファイル形式
  • PLS - SHOUTcast
  • XSPF - Xiph.Org 財団

参考文献

  1. ^ a bフラウンホーファー ゲゼルシャフト、フラウンホーファー総合研究所シャルトゥンゲン A (1996 年 10 月 30 日)。「WinPlay3 - Windows リアルタイム ISO/MPEG オーディオ レイヤ 3 プレーヤー」。1997 年 6 月 6 日にオリジナルからアーカイブされました2018-01-21に取得
  2. ^ a b Gruett, Matt. 「M3Uファイルとストリーミング」LockerGnome . 2001年4月26日時点のオリジナルよりアーカイブ
  3. ^ "WINAMP.COM | Winamp Documentation" . 2002年6月6日. 2002年6月6日時点のオリジナルよりアーカイブ。
  4. ^ 「VideoLAN-SA-0804 (CVE-2007-6683)」。2008年。M3Uパーサーとブラウザプラグインによる任意のファイルの上書きおよびその他の不正使用。
  5. ^ 「CVE-2012-0677: Apple iTunes 10.6.3 より前のバージョンにおけるヒープベースのバッファオーバーフローによりリモートの攻撃者が任意のコマンドを実行できる」。cve.circl.lu
  6. ^ 「CVE-2000-0624: Winamp 2.64 以前のバッファオーバーフローにより、リモートの攻撃者が長い #EXTINF: ext を介して任意のコマンドを実行できるwww.cvedetails.com
  7. ^ 「検索結果247件」 . Packet Storm . 2018年1月23日閲覧。
  8. ^ 「Nero 2015 Platinum - システム要件」2019年8月13日時点のオリジナルよりアーカイブ。MP3 URL + UTF-8 (M3U8)
  9. ^ a b c「Winamp用アルバムリスト」 . albumlist.sourceforge.net . 2008年8月21日時点のオリジナルよりアーカイブ
  10. ^ a b c d e「M3A (M3U アルバム) フォーマット」 . birdcagesoft . 2019年10月21日閲覧
  11. ^ 「m3u: jamendo が提供するアルバムアートを m3u ファイルと一緒に使用する」。2010 年 7 月 21 日。
  12. ^ 「HTTP ライブ ストリーミングを使用した共通メディア アプリケーション フォーマットについて | Apple 開発者ドキュメント。developer.apple.com
  13. ^ R. PantosとW. May (2007年8月). HTTPライブストリーミング. RFC Editor. sec. 4.3. doi : 10.17487/RFC8216 . ISSN 2070-1721 . RFC 8216 . 
  14. ^ a b Pantos, Roger; May, William. 「HTTPライブストリーミング」 . tools.ietf.org .
  15. ^メディアタイプ」www.iana.org .
  16. ^ "データ" . iana . 2019年10月21日閲覧
  17. ^ a b「簡素化されたアダプティブ ビデオ ストリーミング: Windows 10 での HLS および DASH のサポートを発表 – IEBlog 。blogs.msdn.microsoft.com
  18. ^ "HTMLVideoElement" . MDN Web Docs . 2025年4月10日.
  19. ^ “::: LG Developer | Audio & Video :::” . 2015年12月22日時点のオリジナルよりアーカイブ2015年12月12日閲覧。
  20. ^ 「Mp3tagヘルプ - 設定 > エクスポート。help.mp3tag.de
  21. ^ 「Mp3tagヘルプ - 設定 > プレイリスト。help.mp3tag.de
  22. ^ 「Mp3tagヘルプ - スクリプト関数」 . help.mp3tag.de .
  23. ^ 「Loading...」astroplayer.com . 2009年12月1日時点のオリジナルよりアーカイブ
  24. ^ “Astro Player (old) - Sidenis LLC” . 2016年3月3日時点のオリジナルよりアーカイブ
  25. ^ “Astro Player - Sidenis LLC” . 2016年3月3日時点のオリジナルよりアーカイブ
  26. ^ 「n7player 音楽プレーヤー - Google Play のアプリ」 . play.google.com .
  27. ^ 「n7player 1.0 - Google Play のアプリ」 . play.google.com .
  28. ^ 「Musicolet 音楽プレーヤー [広告なし] - Google Play のアプリ」 . play.google.com . 2020年11月2日閲覧
  29. ^ Hindley, Nathan. 「XMPlay 3.8.2」 . XMPlay . Un4seen Developments . 2016年7月11日閲覧