HLS(HTTP Live Streaming)とMPEG-DASHは、動画を小さな区間に分割し、HTTP経由で配信する方式です。 どちらもライブ配信とオンデマンド動画に対応し、通信状態に合わせて画質を切り替えられます。最もわかりやすい違いはマニフェスト形式で、HLSは通常.m3u8、MPEG-DASHはXML形式の.mpd(Media Presentation Description)を使用します。

どちらか一方が必ず高画質・低遅延になるわけではありません。実際の品質はエンコード、ビットレート、プレーヤー、回線、配信設定によって変わります。

HLSとMPEG-DASHの比較表

項目 HLS MPEG-DASH
正式名称 HTTP Live Streaming Dynamic Adaptive Streaming over HTTP
マニフェスト テキストの.m3u8 XMLの.mpd
画質の選択 マルチバリアント(マスター)プレイリスト AdaptationSet内のRepresentation
一般的なセグメント MPEG-TS(.ts)、fMP4/CMAF(.m4s) 主にfMP4/CMAF。プロファイルにより異なる
ライブ・VOD 両方対応 両方対応
アダプティブビットレート 対応 対応
低遅延 LL-HLS 低遅延DASHの実装
ブラウザでの再生 対応するApple環境ではネイティブ、その他はhls.jsなど dash.jsなどの対応プレーヤーが一般的
DRM 暗号化・DRMを利用可能 暗号化・DRMを利用可能

マニフェストは動画そのものではなく、再生用の案内情報です。 master.m3u8やmanifest.mpdだけを保存しても、通常は動画の断片を保存したことにはなりません。

HLSの仕組み:M3U8プレイリスト

Appleが普及させたHLSでは、マルチバリアントプレイリスト(マスタープレイリストとも呼ばれます)が複数の画質候補を示します。選択されたメディアプレイリストには、実際に取得するセグメントの順序が記されています。

簡略化した例:

#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=1200000,RESOLUTION=854x480
480p/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=3500000,RESOLUTION=1920x1080
1080p/index.m3u8

プレーヤーは通信速度とバッファの状態を見ながら画質を選択し、対応するセグメントを順次取得します。回線が変化すれば画質の切り替えも可能です。ライブ配信では新しいセグメントがプレイリストへ追加されます。HLSは.ts専用ではなく、fMP4にも対応します。 詳しくは「M3U8ファイルとは?」をご覧ください。

MPEG-DASHの仕組み:MPDマニフェスト

DASHでは、構成情報をXML形式のMPDで表します。MPDにはPeriod(期間)、AdaptationSet(映像・音声・字幕など)、Representation(ビットレートや解像度の候補)を含められます。セグメントのURLは列挙する方法とテンプレートから生成する方法があります。

次は構造を示す抜粋であり、単独で再生できる完全なMPDではありません。

<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" type="static">
  <Period>
    <AdaptationSet mimeType="video/mp4" contentType="video">
      <Representation id="480p" bandwidth="1200000" width="854" height="480" />
      <Representation id="1080p" bandwidth="3500000" width="1920" height="1080" />
    </AdaptationSet>
  </Period>
</MPD>

DASHプレーヤーはMPDを解析し、対応するトラックと画質を選んでセグメントを取得します。規格はISO/IEC 23009で、Part 1は2026年に改訂されています。具体的な操作はWindowsでMPDストリームを保存する方法を参照してください。

M3U8・MPD・TS・MP4を混同しない

.m3u8と.mpdはマニフェスト、.tsと.m4sは一般的なメディアセグメント形式です。H.264・HEVC・AV1は動画コーデック、MP4はコンテナー形式です。

  • マニフェスト: どのトラック・セグメントが存在するかを示す。
  • コンテナー: 圧縮された映像や音声データを格納する。
  • コーデック: 動画データをどの方式で圧縮したかを示す。

同じH.264動画をHLSとDASHの両方で配信することもできます。拡張子だけでは実際の解像度、ビットレート、DRMの有無は判断できません。

CMAFが両方式をつなぐ

**CMAF(Common Media Application Format)**は、分割メディアの共通パッケージ形式を定めた規格です。エンコード条件、タイミング、暗号化方式などが適合すれば、同じCMAFフラグメントを別々のHLS・DASHマニフェストから参照できます。ただし有効な.m3u8と.mpdがそれぞれ必要です。ファイル名を書き換えるだけでは変換できません。CMAFでも全コーデック・DRMの互換性が保証されるわけではありません。

ブラウザと端末の対応状況

HLSはAppleの再生環境でネイティブ対応が充実しています。それ以外のブラウザでは、必要なメディアAPIが利用できる場合にhls.jsなどのライブラリが使われます。DASHではdash.jsを使う構成が一般的です。

「ChromeではHLSを再生できない」「SafariはHLSしか再生できない」といった断定は不正確です。OS・ブラウザのバージョン・コーデック・プレーヤー・DRMによって結果が変わるため、対象機器で確認しましょう。

画質・読み込み速度・遅延はどちらが優秀?

画質: 方式が変わっただけで画質は向上しません。同じソース、コーデック、解像度、ビットレートで比較する必要があります。

開始速度やバッファリング: セグメントの長さ、CDN、通信環境、プレーヤーのバッファ設定が大きく影響します。

ライブ遅延: LL-HLSも低遅延DASHも存在します。実際の遅延はエンコードから画面表示までの構成全体で決まるため、DASHが必ず低遅延とは限りません。

DRM: どちらもライセンスが必要な保護動画を配信できます。正規の再生権限があることと、自由に保存できることは別です。

どちらを選ぶべき?

配信する側: 視聴端末とプレーヤーの要件から判断します。Apple機器を中心とする場合はHLSが有力です。DASH対応のシステムではDASHも選択肢になります。CMAFが適合すれば両方のマニフェストを配信できます。

視聴する側: 通常はサイトのプレーヤーが適切な形式を選びます。再生できない場合は対応状況やアクセス権を確認してください。

許可された動画をオフライン保存する側: マニフェストだけでなく、アクセス可能なメディアセグメントが必要です。

WindowsでHLSとDASHを再生・保存する方法

各マニフェストとコーデックに対応するプレーヤーを利用してください。ブラウザが生の.m3u8や.mpdのURLをそのまま再生できるとは限りません。許可されたDRMなしのストリームならFFmpegも選択肢です。

ffmpeg -i "https://example.com/path/playlist.m3u8" -c copy output.mp4
ffmpeg -i "https://example.com/path/manifest.mpd" -c copy output.mp4

これは一例で、成功を保証するコマンドではありません。セグメントへのアクセスが必要で、-c copyにはMP4と互換性のあるコーデックが必要です。音声トラックの分離、期限付きURL、サーバー制限などで失敗する場合もあります。

Windows向けのDirect Link Downloaderは、対応するM3U8/HLSとMPD/DASHの保存に利用できます。

  1. 保存が許可されたM3U8/MPDのURL、または対応サイトのURLをコピーします。
  2. Direct Link Downloaderに貼り付け、利用できるトラックや画質を解析します。
  3. 提供される画質と保存先を選び、対応ストリームを保存して再生確認します。

Direct Link DownloaderをMicrosoft Storeで見る

よくある問題と制限

  • 小さな.m3u8や.mpdしか保存されない: 動画本体ではなくマニフェストだけを取得しています。
  • サイト内でのみ再生できる: Cookie、認証、署名付きURL、リクエストヘッダー、CORSなどが関係します。URLが期限切れの場合もあります。
  • 映像だけで音が出ない: 音声が別トラックになっているか、コーデック非対応の可能性があります。
  • 希望する画質がない: 配信元が提供する以上の画質は取得できません。
  • DRM付き動画: 一般的なダウンローダーでライセンス要件を解除することはできません。

HLSのプレイリスト情報は無料のM3U8 Inspectorで確認できます。ただしDRMの解除や期限切れリンクの復活はできません。

よくある質問

MPEG-DASHとHLSは同じですか?

いいえ。どちらもHTTPのアダプティブ配信ですが、マニフェストと再生技術が異なります。条件が合えばCMAFフラグメントは共有できます。

MPDファイルは動画ですか?

いいえ。MPDはトラックとセグメントの説明書であり、完成したMP4動画ではありません。

M3U8をMPDにリネームすれば変換できますか?

できません。正しいDASHマニフェストと適合するセグメント構成が必要です。

DASHはHLSより必ず低遅延ですか?

いいえ。両方に低遅延方式があり、同等条件で実際の遅延を測る必要があります。

どちらも4K動画に対応しますか?

はい。ただし配信元に4K版があり、端末・プレーヤー・コーデックが対応している場合に限ります。低解像度の動画が高画質になるわけではありません。

まとめ

HLSとDASHは同じ課題を異なるマニフェストと再生環境で解決します。 .m3u8はHLS、.mpdはDASHの目印ですが、保存や再生にはトラック、セグメント、コーデック、権限の確認が必要です。CMAFによる共通化は可能でも、互換性の確認は欠かせません。

Windowsで保存が許可された対応ストリームを扱う場合は、Direct Link DownloaderがHLSとDASHの保存作業をまとめてサポートします。

所有する動画または保存許可のある動画だけを扱ってください。DRMやアクセス制限の回避には対応していません。

参考資料

続けて読む