2024年08月19日
HLS(HTTP Live Streaming)とは?概要・仕組み・課題など
2024年8月19日更新
インターネットによる動画配信のコア技術と言われているHLS。マルチビットレートへの対応やユーザー側の環境に依存しない配信が可能となるなど、多くのメリットを持つHTTPベースのメディアストリーミングプロトコルです。
今回は、オンデマンド配信やライブ配信を手掛けるユーザーなら知っておきたいHLSの概要や課題などについて詳しく解説いたします。
目次
[非表示]HLSとは
HLSはHTTP Live Streamingの略であり、Apple社が独自に開発した規格です。iOSだけでなく、Android(HLS、DASHやSmoothStreamingなどのHTTPストリーミングをサポートするために動画プレイヤーの「ExoPlayer」を提供)や多くのWebブラウザで再生可能であり、AbemaTVのようなライブ配信サービスにも採用されています。
HLS(HTTP Live Streaming)の概要
HLSの特徴として以下のようなポイントが挙げられます。
- HTTPアダプティブビットレートストリーミングをサポートしている
- VOD(オンデマンド配信)とライブ配信の双方に対応している
- HTTPSによる暗号化とユーザー認証に対応している
- 専用の設備が不要であり、ApacheなどのWebサーバーでも配信可能
また、HLSはインデックスファイルとセグメントファイルに分かれて構成されている点も特徴のひとつ。インデックスファイルはm3u8プレイリストと呼ばれ、セグメントファイルの場所や再生時間、再生順序などを定義したメタデータです。
一方のセグメントファイルはtsファイルと呼ばれており、MPEG2 Transport Stream形式で細かく分割された複数の動画データファイル形式で配信されます。
HLSとmp4との違い
動画ファイルで使われているmp4との違いですが、mp4をストリーミング用に変換したものがHLSであるという認識で問題ありません。HLSにて配信されたストリーミング動画をFFmpegというソフトを用いてmp4ファイルに変換することも可能です。
HLSはストリーミング技術としてライブ配信やオンデマンド配信で使用されます。ユーザーの通信状況に応じて動的にビットレートを調整することができますので、ネットワークが安定しない場合でも途切れることなく再生が可能となり、ライブ配信時にはスムーズな動画再生を求める場合に最適です。また、メディアセグメントを暗号化することでビデオ漏洩や不正利用防止に役立ちます。一方で、mp4はメディアファイルの形式で、動画や音声を一つのファイルとしてユーザーに提供します。ファイルをダウンロードするまたはストリーミング再生でコンテンツを視聴しますので、画質の調整、不正な再生や複製を防ぐことができません。
HLS(HTTP Live Streaming)の課題
次にHLSの課題について考えてみましょう。現在、HLSの課題はほぼ遅延問題に集約されます。特にストリーミングにおいては遅延の発生はカスタマーの満足度を大きく下げる要因にもなります。
遅延が発生
先述したCDNなどのテクノロジーにより、HLSの遅延は大きく改善されることは確実です。とはいえ、その遅延が「どの程度」であり「どのようなコンテンツ」であるかによってユーザーの満足度も左右されます。
例えばスポーツ配信やテレビ視聴など、ユーザーがSNSで共感したり情報発信したりするようなコンテンツの場合、遅延するということは他者よりも遅く情報を入手することになります。SNS上では結果が流れているのに手元の動画ではまだ試合中といったこともありえるため、遅延はユーザーの満足度を低下させる要因になります。
スポーツ配信以上に遅延が問題となるのはビデオチャットやWeb会議です。お互いの会話に遅延が発生すると、80年代の衛星中継のようにぎこちない会議となることでしょう。双方向コミュニケーションに利用するのであれば少なくとも200150 ミリ秒(1 / 57 秒)以内に遅延をとどめておく必要があります。
低遅延化のための技術
このように遅延は配信業者にとって致命傷となることもあります。では、遅延を防止するためにはどのような技術が必要となるのでしょうか。以下、遅延防止(低遅延)のための技術をいくつかご紹介します。
低遅延 HTTP ストリーミング
HLS の場合、 2 秒のチャンク(セグメント)を使って遅延を8秒以下にすること、MPEG-DASHの場合は同様に1 秒のチャンク(セグメント)を使って遅延を4秒以下に削減することが可能となります。ただし、チャンクが小さすぎる場合、視聴のバッファリングが多発することにつながるので注意が必要です。
CMAF
CMAFとはCommon Media Application Formatの略であり、セグメント内にさらに細かなセグメントを用意することにより超低遅延を実現する技術です。
WebRTC
WebRTC (Web Real-Time CommunicationsRTMP)とはWebブラウザ上で双方向のリアルタイムコミュニケーションを可能にするオープンフレームワークです。ユーザーはWebプラグインやソフトウェアをインストールすることなく、P2Pでデータ共有や遠隔会議を実現することができます。
RTMP
RTMPはReal-Time Messaging Protocolを意味します。Adobe 社が開発しており、Flashを必要とするためやや古い技術となりますが、エンコーダが数多く存在しているため今でも使われています。
UDPベース
TCP ではなく UDPベースで通信を行う技術もあります。中でも(株)ブイキューブが提供する、ライブ配信・ビデオ通話・音声通話SDKのAgora.ioは、WebRTCやRTMPと同等かそれ以下の低遅延を実現するサービスとして存在します。
世界中のデータセンターにノードを構築し、自動で最適な経路を選択するアルゴリズムを備えた仮想広域ネットワークを用い、UDPでも安定して低遅延の通信を実現しています。
HTTPストリーミングの種類
HTTPによるストリーミング配信には、HLS以外にもMPEG DASHやSmooth Streamingといった種類が存在します。これらの違いを簡単にご説明します。
HLS
HLSはApple社が開発した技術ですが、MacやiPhoneだけでなくWindows(FlashPlayerやJavaScriptがインストールされていることが条件)やAndroid環境でも再生可能です。
現在ではHTTPストリーミング配信では最も多く利用されているプロトコルになります。
MPEG DASH
MPEG- DASHはHTML5+Javascriptで再生可能な国際標準のHTTPストリーミング技術です。もともとハリウッドの映像関連企業がネットでの動画配信に関する要望を取りまとめたことをきっかけに策定された規格であり、セキュリティが脆弱なFlashからHTML5への移行の流れを受けて普及した技術です。
その他
Smooth StreamingというMicrosoftが開発した技術があります。しかし、IE+Silverlight環境でしか動作せず、Edgeやchromeなどは対象外であるため普及には至りませんでした。また、Adobe Systemsが開発したHDS(HTTP Dynamic Streaming)も同様にFlashPlayerでの再生を条件としているため、現在ではほとんど新規利用されていない状況です。
このように、今後のHTTPストリーミングにおいてはHLSやMPEG- DASHが主流となっていくことがお分かりいただけると思います。
HTTPストリーミングの特長
HTTPストリーミングの特長として最も優れているのは、汎用性の高いHTTPプロトコルを利用している点です。この点を中心にメリットを見ていきましょう。
汎用性が高い
HTTPプロトコルの利用により、専用の通信ポートを利用する必要が無くなります。専用の通信ポートを利用する形式だとセキュリティ上ブロックされることや対応できないソフトウェアがあることによる弊害があります。HTTPプロトコルを使用することでより多くのネットワークに対して動画配信を行うことが可能となり、配信側利用者側双方に大きなメリットが生まれてくるのです
マルチビットレート配信
アダプティブビットレートストリーミングにより、ひとつのURLで複数のビットレートの映像データを送ることができます。従来では高画質と低画質に分けて動画を用意し、ユーザー環境に合わせて選択する必要がありましたが、端末の通信品質や通信環境を基にリアルタイムで最適なビットレートの映像データを配信することが可能となっています。
マルチデバイス対応
HTTPに対応している端末であれば、その種別を問わず映像を観ることができます。OSや画面サイズなども気にする必要がありません。
HLSの仕組み
では具体的なHLSの仕組みについてご説明します。HLSはインデックスファイル(.m3u8)とセグメントファイル(.ts)に分かれて配信されます。それぞれのファイルの持つ役割を以下に記します。
インデックスファイル(.m3u8)
インデックスファイル(.m3u8)はプレイリストと呼ばれることもあるファイルです。EXT-X-TARGETDURATIONにより各tsファイルの秒数を指定したり、EXT-X-PLAYLIST-TYPEにより配信形式を指定したりする役割を持ちます。また、tsファイルの順番や秒数、ファイル名を定義して動画をスムーズに再生させるように記述されています。
セグメントファイル(.ts)
動画コンテンツを格納したファイルです。細かく分割されており、AESによる暗号化も可能です。インデックスファイルに定義された規則に従って再生されます。
CDNを使った構築
HLSによる動画ストリーミングを行う際、CDN(コンテンツ・デリバリ・ネットワーク)を構築し高速で安定した配信環境を実現することがあります。CDNプラットフォームを利用することにより、突発的なアクセス増加や保守にかかる人的リソースの削減といったメリットが見込まれます。
CDNとは
CDN(コンテンツ・デリバリ・ネットワーク)とは専用の配信ネットワークを用いた効率的かつ高速なWeb配信システムです。
オリジナルのサーバーとは別にグローバルにCDNサーバーを複数用意しておき、オリジナルのコンテンツをキャッシュ(複製)して保存。ユーザーのリクエストに応じて最も近いPoP(配信拠点)からコンテンツを送り出すという仕組みになります。
Webコンテンツの表示や再生には、通信環境や通信速度が大きく影響します。また、遠方にあればあるほどサーバーからのパケットの転送に時間がかかります。特にストリーミング配信の場合はコンマ数秒の遅れがユーザーの不満につながることもあるため、CDNにより遅延防止がユーザエクスペリエンス向上のカギとなっているのです。
CDNを使ったHTTPストリーミング
CDNを用いたHTTPストリーミング配信を可能にするサービスは多数存在しています。これらのサービスは、HLSをはじめ、MPEG DASHやHDSなど複数の配信技術に対応しており、動画ファイルをアップロードするだけでこれらの配信が可能となります。
また、さまざまな技術サポートも行っているため、技術的な不安も解消されるのではないでしょうか。
配信プロトコルの選択で遅延を改善できる配信基盤
HLSの課題である遅延を解決するには、技術が必要であると前述しました。
そのほかの解決策として「ライブ配信用マネージドサービス - Tencent Cloud CSS」を活用する案もあります。
Tencent Cloud CSSはライブ配信のアプリケーション開発を簡単にできるPaaS製品で、映像音声の送信と受信のSDKとインフラを提供しています。
参照元:https://www.tencentcloud.com/jp/products/css
概要
ライブ配信
・Tencentが長年にわたり培ったオーディオ・ビデオ技術プラットフォームを基盤としています。
・Tencent Cloudのグローバルで大規模なアクセラレーションノードが組み込まれています。
・トップクラスのオーディオ・ビデオAI技術が統合されています。
・Tencent Videoライブストリーミングの基盤として、ユーザーにコア機能を提供しています。
開発者向けのプロフェッショナルで安定したサービス提供
開発者に対して、プロフェッショナルで安定したCSSプッシュ、トランスコード、配信、再生などのサービスを提供しています。
低遅延、超高画質、大規模な同時アクセスへの対応
サービスは低遅延、超高画質、大規模な同時アクセスといったニーズに全面的に対応しています。
製品の特性
ミリ秒レベルの超低遅延再生
UDPプロトコルを使用して、従来のライブブロードキャスト(HLS)での5秒程度のディレーを1秒以内に短縮させます。また、インスタントブロードキャスティングやラグ率などのコア指標も考慮して、ユーザーに超低遅延のライブブロードキャスト体験を提供します。
パーフェクトな機能、スムーズな互換性
プッシュ、トランスコード、レコーディング、スクリーンキャプチャ、ポルノ検出、再生といったすべての機能を含む、標準ライブブロードキャストと互換性があり、お客様が既存の標準ライブブロードキャストサービスからスムーズに移行できるようにサポートします。
シンプルで使いやすく、安全かつ高い信頼性
標準プロトコルが採用されており、組み込みは簡単で、ChromeやSafariブラウザではプラグインなしで再生できます。再生プロトコルはデフォルトで暗号化されており、より安全で信頼性が高くなっています。
付随オプション
美顔エフェクトSDK
Tencent Effect SDK(美顔エフェクトSDK)は、Tencentが自社開発したAI機能とリアルタイムエフェクト処理技術を活用し、様々なビデオ運用シーン向けに豊富な機能を提供します。
詳細はこちらの記事をご参照ください。
動画ファイル処理
Tencent Media Processing Service(MPS)は大規模なマルチメディアデータ向けに提供されるクラウドベースのトランスコーディングとオーディオビデオ処理サービスです。必要に応じてクラウドストレージ内のビデオファイルをOTT、PC、またはモバイル端末での再生に適した形式にトランスコードすることにより、多種類のプラットフォームにおけるビデオファイルの異なるビットレートと解像度への変換ニーズに対応できます。また、ウォーターマーク追加、ビデオスクリーンキャプチャ、インテリジェント表紙、インテリジェント編集などのMPSサービスも提供します。
詳細はこちらの記事をご参照ください。
Tencent Cloud MPSを活用して動画配信のコストを下げる方法
EdgeOne
Tencent CloudのCDNは長年培ってきたネットワークパフォーマンスとセキュリティにおけるノウハウを統合し、一元化された高速で信頼性の高いワンストッププラットフォームを実現しました。それがEdgeOneです。
詳細記事:進化したCDN = EdgeOne
まとめ
動画配信やストリーミングにおいて、HLSの活用は今後もますます加速していくことでしょう。ただし、遅延というデメリットを解消するためには、ある程度専門的な技術や仕組みが必要となります。
特にリアルタイム性を要求されるコンテンツの場合は低遅延への取り組みがマストでしょう。ユーザーの利用環境やコンテンツの内容に応じて、適切な取り組みを行うことが事業者に求められているのです。
執筆者ブイキューブ