m3u8.m3u8.m3u
M3U8(UTF-8 で書かれた M3U プレイリスト) / エムスリーユーエイト
HLS配信で使われる再生リストのファイルです。映像そのものは入っておらず、細かく分けた映像ファイル(セグメント)の場所と長さ、画質の種類をテキストで並べています。プレーヤーはこのリストを読んで映像を取りに行きます。
- 拡張子
- .m3u8(.m3u も可)
- MIMEタイプ
- application/vnd.apple.mpegurl または audio/mpegurl
- 文字コード
- UTF-8(名前の「8」はここから)
- 中身
- #EXTM3U で始まるテキスト。タグとセグメントのURLが並ぶ
- 種類
- マルチバリアントプレイリスト(画質の一覧)とメディアプレイリスト(セグメントの一覧)
- 仕様書
- IETF RFC 8216(HLS の仕様書の中で定義)
- 開ける主なソフト
- VLC、Safari、FFmpeg、テキストエディタ(中身の確認)
.m3u8 のファイルをダウンロードしたのに、再生しようとしても映像が出ない、容量が数KBしかない、という相談はよくあります。m3u8は映像ではなく、映像ファイルの場所を書いた「目次」です。中を開くと、映像の断片のURLが並んでいるだけです。
m3u8ファイルが使われる場面
m3u8が出てくるのは、主にHLSで配信された映像です。動画配信サービスやライブ配信、ニュースサイトの動画の多くは、ページの裏でm3u8を読み込んで再生しています。配信の現場では、エンコーダーやクラウドの配信サービスが書き出したm3u8のURLを、Webサイトのプレーヤーやアプリに設定します。
制作側でm3u8を直接扱うのは、配信の確認や検証のときです。エンコーダーの設定を変えたあとに、m3u8を開いて画質ごとのビットレートやセグメントの長さが意図どおりかを確かめたり、CDNのURLをVLCで開いて再生できるかを試したりします。音楽の分野では、曲の一覧を書いた再生リストとしても同じ拡張子が使われます。
m3u8の中身と読み方
テキストエディタで開けば中身を読めます。1行目は必ず #EXTM3U で、その後に # で始まるタグと、セグメントや子のリストのURLが並びます。
画質の一覧を持つマルチバリアントプレイリストでは、#EXT-X-STREAM-INF の行に BANDWIDTH(ビットレート)、RESOLUTION(解像度)、CODECS(コーデック)が書かれ、次の行にその画質のリストのURLがあります。セグメントの一覧を持つメディアプレイリストでは、次のタグが目印になります。
#EXT-X-TARGETDURATIONはセグメントの最大の長さ(秒)#EXTINFは次の行のセグメントの長さ#EXT-X-MEDIA-SEQUENCEは先頭のセグメントの番号#EXT-X-ENDLISTがあれば終わりのある映像、なければライブ#EXT-X-KEYがあれば暗号化されている
m3u8の再生・変換のしかた
再生するなら、VLCの「ネットワークストリームを開く」にm3u8のURLを入れるのが手軽です。MacやiPhoneのSafariなら、URLを直接開くだけで再生できます。
MP4にまとめたいときは、FFmpegで ffmpeg -i playlist.m3u8 -c copy output.mp4 のようにすると、セグメントを順に読んで1本のファイルに詰め替えます。再エンコードしないので画質は変わりません。FairPlayやWidevineなどのDRMで保護された映像は、この方法では保存も変換もできません。配信サービスの規約で保存が認められていない映像もあるので、自社の配信の検証に使うのが基本です。ローカルに保存したm3u8を開いて再生できない場合は、中に書かれたURLが相対パスで、セグメントのファイルが同じ場所にないことが多いです。
よくある質問
m3u8ファイルは何で開けますか
中身を見るならメモ帳などのテキストエディタ、映像として再生するならVLCやSafariで開けます。Windowsの標準の「メディア プレーヤー」では開けないことがあります。
m3u8をMP4に変換できますか
DRMで保護されていなければ、FFmpegなどでセグメントをつなげてMP4に変換できます。セグメントがTSでもfMP4でも、コーデックがH.264やHEVCなら再エンコードせずに詰め替えられます。
m3u8とm3uの違いは何ですか
m3u8はm3uをUTF-8で書いたものです。HLSの仕様では文字コードがUTF-8に決められているので、配信の再生リストには .m3u8 が使われます。
この用語を扱ったコラム
似ている形式との違い
関連する用語
最終更新
