· wm · 知識 · 7 min read
M3U8とHLSプロトコルとは?現在のオンライン動画がこぞって採用する理由
インターネットでよく動画を見たり、私たちのオンラインM3U8プレーヤーを使ったことがあれば、「M3U8」という言葉にはきっと馴染みがあるでしょう。多くのウェブマスターや技術者も常にその話をしています。では、この魔法のようなM3U8フォーマットとは一体何なのでしょうか?なぜ、ほぼすべての主要な動画サイトやライブ配信プラットフォームが、従来のMP4を密かに捨ててM3U8を採用し始めたのでしょうか?
今日は、最も分かりやすい言葉で、M3U8とその背後にあるHLSプロトコルの秘密を解き明かします。
1. M3U8とは?動画ファイルですか?
まず、最大の誤解を正しましょう。M3U8自体は動画ファイルではまったくありません!
.m3u8ファイルをテキストエディタで無理やり開いてみると、次のような純粋なテキストが含まれていることがわかります。
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXTINF:9.009,
http://media.example.com/segment1.ts
#EXTINF:9.009,
http://media.example.com/segment2.ts
#EXTINF:3.003,
http://media.example.com/segment3.ts
#EXT-X-ENDLISTわかりましたか?M3U8は単なる「ディレクトリ」または「プレイリスト」なのです。
そこに記録されているのは、長い動画が無数の数秒間の小さな動画フラグメント(通常は.tsフォーマット)に細分化された後の、それぞれのネットワーク上の具体的なダウンロードURLです。プレーヤーがこのM3U8ディレクトリを受け取ると、順番に手がかりをたどり、それらの.tsフラグメントを次々とダウンロードし、シームレスにつなぎ合わせて再生してくれます。
したがって、M3U8は宝の地図であり、本当の宝物は散らばっている.ts動画スライスなのです。
2. 黒幕:HLSプロトコル
M3U8は単なるプレイリストです。この「細かく切って再生する」というルールを確立した真の黒幕は、Appleが発明したHLS(HTTP Live Streaming)プロトコルです。
初期の頃は、オンラインで動画を見るといえば、巨大な.mp4ファイルを直接ダウンロードすることを意味していました。この方法には致命的な欠点がありました。 もし映画が2GBだとして、つまらないからといって5分で閉じてしまった場合でも、ブラウザはすでにバックグラウンドで500MBものデータを狂ったようにダウンロードしている可能性があります。これはあなたのモバイルデータを無駄にするだけでなく、動画サイトのオーナーにとっても高価なサーバー帯域幅のコストを無駄に燃やしていることになります!
そこでAppleが立ち上がり、M3U8の基礎となるロジックであるHLSプロトコルを作成しました。
3. なぜみんなM3U8 (HLS) が好きなのか?
従来のMP4単一ファイル再生と比較すると、M3U8は動画業界における次元の違う一撃です。それには3つの代替不可能な利点があります。
1. 帯域幅を節約し、オンデマンドで読み込む
先ほど述べたように、MP4は過剰にダウンロードされがちです。M3U8モデルの下では、プレーヤーは現在見ている数秒間と、バッファとしての数十分秒先のフラグメントだけをダウンロードします。見た分だけダウンロードするのです。ウェブページを閉じると、ダウンロードはすぐに停止します。これにより、動画サイトは膨大な帯域幅のコストを節約できます。
2. ネットワーク速度に完全に適応する(アダプティブビットレート)
YouTubeを見ているときに、インターネットの速度が突然落ちた場合、動画がフリーズするのではなく、画面が突然ぼやけ(解像度が落ち)、速度が回復すると再びHDになることに気づいたことはありませんか? これがM3U8の魔法です!高度なM3U8リストには、1080Pスライスのディレクトリだけでなく、720Pや480Pのディレクトリもあります。プレーヤーは経験豊富なドライバーのように、ネットワーク速度をリアルタイムで監視し、これらのスライスを柔軟に切り替えて、「決してバッファリングを経験しない」ようにします。
3. ライブ配信とVODの究極の統合
以前は、ウェブ動画ではライブ配信(RTMP/FLVなど)とVOD(ビデオ・オン・デマンド)で別々の複雑な技術が必要でした。HLSプロトコルの素晴らしさは、両方を統一している点です。
- VOD: M3U8リストには
#EXT-X-ENDLISTが含まれており、動画スライスがここで終わることを伝えます。 - ライブ配信: M3U8リストには終了マークがありません。サーバーは数秒ごとに新しいスライスのアドレスをこのリストに挿入するだけです。プレーヤーは最新のスライスを取得するためにM3U8を継続的に更新し、ライブ放送を実現します。
4. 結論
M3U8は未知のテクノロジーではありません。単なる賢い「動画フラグメントのマニュアル」です。巨大な動画を細かく分割することで、読み込みの遅さ、データの無駄遣い、ネットワークの途切れなどの問題点を見事に解決しています。だからこそ今日、大作映画をオンラインで見ているときも、ゲームのライブ配信を見ているときも、バックグラウンドで静かにあなたに奉仕しているのです。
次回、M3U8リンクに出会い、それを私たちのオンラインプレーヤーに投げ込むときは、何百もの小さな.tsの兄弟たちに心の中で静かにこう言ってあげてください。「お疲れ様!」

