HLS vs DASH vs MP4 — 動画フォーマットの解説

その動画は実際にどのフォーマットで配信されていますか? そして、ダウンロードにおいてなぜそれが重要なのでしょうか? 知っておくべき情報をまとめました。

なぜ異なる動画フォーマットが存在するのか?

ウェブ動画の配信には主に3つの配信方法があります。それぞれ異なる問題を解決するために設計されました。これらを理解することで、なぜ一部の動画は簡単にダウンロードでき、他の動画はできないのか、そして各タイプを処理するためにgetvyがバックグラウンドで何を行っているのかを把握できます。

HLS HTTP Live Streaming
2009年にAppleによって開発されました。現在、インターネット上で最も広く使用されているストリーミングプロトコルです。動画を.m3u8プレイリストにリストされた一連の小さな.tsセグメントファイルとして配信します。Safariではネイティブにサポートされており、ChromeやFirefoxではMedia Source Extensions(MSE)を介してサポートされています。
DASH Dynamic Adaptive Streaming
MPEGグループによる国際標準規格で、MPEG-DASHとしても知られています。HLSと同様に機能しますが、.mpd形式のXMLマニフェストファイルを使用し、通常は.tsの代わりにフラグメント化されたMP4形式(fMP4)でセグメントを配信します。YouTubeはほとんどのストリームにDASHを使用しています。
MP4 直接ファイル
通常のURLを介して配信される、単一の完全な動画ファイルです。最もシンプルな形式であり、ブラウザは直接ダウンロードして再生します。自社サーバーでホストされている動画、ニュースクリップ、およびアダプティブストリーミングを使用していないサイトでよく見られます。

主な技術的違い

項目HLSDASHMP4
プレイリスト/マニフェスト.m3u8.mpd (XML)なし
セグメント形式.ts (MPEG-TS)fMP4または.ts単一ファイル
アダプティブビットレート✅ あり✅ あり❌ なし
DRMサポートFairPlayWidevine / PlayReady状況による
getvyサポート完全対応(ブラウザ内MP4)ffmpegコマンド完全対応(直接ダウンロード)

アダプティブビットレートストリーミングの解説

HLSとDASHはどちらもアダプティブビットレート(ABR)ストリーミングをサポートしています。これは、サーバーが同じ動画を複数の画質レベル(例:1080p, 720p, 480p, 360p)で提供することを意味します。プレイヤーはネットワーク速度を監視し、再生中に自動的に高画質または低画質のストリームに切り替えて、バッファリングを防ぎます。そのため、接続が遅い場合でも、ストリーミング動画が一時停止することはほとんどなく、単に画質が低下します。

マスタープレイリスト(またはマスターマニフェスト)には、利用可能なすべての画質バリアントがリストされています。getvyはこのマスタープレイリストを読み込み、ダウンロード用に最高画質のストリームを選択します。

DRM保護されたストリームはどうなりますか?

デジタル著作権管理(DRM)は、HLSまたはDASHの上に追加の暗号化レイヤーを追加します。動画セグメントは、ライセンスを持つプレイヤーのみが取得できるキーで暗号化されています。getvyはDRM保護を回避しません。保護されていないストリームでのみ動作します。つまり、DRMを使用しているNetflix、Disney+、Amazonプライム・ビデオ、またはその他の主要なサブスクリプションサービスからコンテンツをダウンロードすることはできません。

動画がどのフォーマットを使用しているかを識別する方法

  1. Chromeのデベロッパーツール(F12)を開き、Network(ネットワーク)タブに移動します。
  2. フィルターで「Media」を選択するか、「.m3u8」または「.mpd」を検索します。
  3. 動画を再生します。.m3u8のリクエストが表示されればHLS、.mpdのリクエストが表示されればDASH、直接的な.mp4のURLが表示されれば通常のファイルです。
  4. または、getvyをインストールするだけで、検出された各動画がHLS、DASH、MP4のいずれであるかを自動的に識別し、ラベルを表示します。
getvyをインストール — 無料