両方のプロトコルが同じことをしているようですが、どちらか一方に利点はありますか?
4 に答える
自分にとって何が重要かを自問する必要があります (エンコーディング、暗号化方法、標準化など)。
Jason Schneid は優れた比較を書いています: http://www.internetvideoarchive.com/IVA/news/2012/09/13/progressive-download-vs.-adaptive-bitrate-how-to-choose-the-format-right-あなたのために
MPEG-DASH は、ISO/IEC MPEG によって承認された、ベンダーに依存しない国際標準です。Apple HLS などの以前のアダプティブ ストリーミング テクノロジは、企業に依存しないストリーミング サーバーと再生クライアントのサポートが制限されたベンダーによってリリースされました。このようなベンダー依存の状況は望ましくないため、標準化団体は調和プロセスを開始し、MPEG-DASH の批准に至りました。
近年、MPEG-DASH は新しい標準化の取り組みに統合されました。たとえば、HTML5 ビデオおよびオーディオ タグを介して DASH 再生を可能にする HTML5 Media Source Extensions (MSE) です (外部のプラットフォームで FLASH に依存する Apple HLS とは対照的です)。 Apple エコシステムの)、HTML5 Encrypted Media Extensions (EME) により、Web ブラウザーで DRM 保護された再生が可能になります。さらに、MPEG-DASH による DRM 保護は、MPEG-CENC (共通暗号化) を使用してさまざまなシステム間で調和され、HbbTV 1.5 および 2.0 の統合により、さまざまな SmartTV プラットフォームでの MPEG-DASH 再生が可能になります。
MPEG-DASH はコーデックであり、コンテナにとらわれない Apple HLS は、たとえば MP2TS コンテナにバインドされています。また、さらに多くの違いがあります。
アプリケーション デザイナーの観点から、YouTube や netflix などのビデオ ストリーミング サービス用に 1 つのテクノロジを選択しようとすると、それらにはすべて独自のフォールバックがあり、すべてを使用する必要があると言えます。
今日のすべての通常のビデオ ストリーミング サービスには 2 つの問題があります。クライアント サポート (スマートフォンからテレビ、コンソール、Apple TV、Google Chromecast に至るまで、すべてが必要です) とサーバー インフラストラクチャです。
HLS はすべての Apple でネイティブにサポートされており、非常にスムーズに動作し、多くのオープン ソース js ビデオ プレーヤーを使用して優れたパーソナライズを提供します。Android には問題がありますが、2.3 デバイスでもハイブリッド アプリケーションで HLS を実行するフラッシュ プレーヤーを作成しました。パフォーマンスは最悪です。しかし、ffmpeg を使えばオンザフライでトランスコードできます。ライブストリーミングも可能で、非常に簡単です.
MPEG-DASH は新しいデバイスで非常によくサポートされており、5 年後にはこの話は終わるかもしれません。ngnix と rtmp 拡張機能を使用すると、ビデオ ストリーミング サーバーを 30 分で構築できます。
私が最初に選んだのは、簡単な HLS でした。現在、HLS、WebM (下位定義)、および MPEG-DASH のすべてを、さまざまなクライアントがネイティブに実行できるように同時に作成しています。
そうすれば、ハイブリッド アプリケーションのみを構築することに頼ることができ、すべてのクライアントで AngularJS コードをすべて使用できます。そうでなければ、小規模なプロジェクトがビデオ ストリーミング サービスを採用することは現実的ではありません。次に、Wowza のようなサービスがあります。