この記事では、動画配信に関心がある方、とくにHLS(HTTP Live Streaming)について知りたい方のために、HLSの基本的な仕組みから、その用途、特徴、MP4との違い、そしてHLSを用いた動画配信の方法までくわしく解説します。また、HLSの課題とそれを解決する具体的な方法も紹介します。この記事を読むことで、HLSの理解を深め、動画配信の質を向上させるヒントを得られます。業務や趣味で動画配信をしている方、またはこれから始める方におすすめですので、ぜひご覧ください。

HLS(HTTP Live Streaming)とは

HLSとは、HTTP Live Streamingの略で、動画をストリーミング配信するためのApple社が開発した規格です。インターネット上で動画を配信する際に、視聴者のネットワーク状況に合わせて最適な品質の動画を提供できます。

HLSは、ライブ配信だけでなく、録画された動画の配信(オンデマンド配信)にも使用されます。動画を小さなチャンク(数秒間の動画データ)に分割し、それぞれを別々に配信します。これにより、視聴者は動画の途中で品質を変更することが可能です。そのため、ネットワークの混雑や視聴者のデバイス性能による影響を最小限に抑えることができるのです。また、HLSは広範なデバイスと互換性があり、さまざまな環境での視聴に対応しています。

HLSの用途

HLSの主な用途は、「ライブ配信」と「オンデマンド配信」が挙げられます。ライブ配信は、テレビ放送やライブイベントなど、リアルタイムでの情報発信に適しています。一方、オンデマンド配信は、ユーザーが好きなときに好きなコンテンツを視聴できるため、映画やドラマのストリーミングサービスなどに活用されています。ここからは2つの用途についてくわしく見ていきましょう。

ライブ配信

ライブ配信とは、インターネットを通してリアルタイムで映像や音声を配信することです。テレビ番組の配信やライブイベント、ウェビナーなど、さまざまなシーンでライブ配信が活用されています。HLSを利用することで、ライブ配信における遅延を最小限に抑えつつ、高画質な映像を安定的に配信できます。これは、HLSが動画を小さなパケットに分割して配信する特性をもつためです。これにより、視聴者のネットワーク環境に応じて適切なビットレートの動画を配信することが可能になります。

そのため、視聴者は途切れることなくスムーズに動画を視聴できるのです。また、HLSは広範なデバイスやプラットフォームでサポートされているため、視聴者がどのようなデバイスを使用していても安心してライブ配信を楽しむことができます。

オンデマンド配信

オンデマンド配信とは、視聴者が自由にコンテンツを選び、好きなときに見ることができる配信を指します。
HLSがオンデマンド配信に適している理由は、視聴者のインターネット環境に応じて動的にビデオ品質を調整できるためです。この機能により、ネットワークの状態が悪い場合でもスムーズに視聴を続けることが可能になります。

また、HTTPSを使用することでデータの暗号化と安全な通信を実現でき、ストリーミング中のデータが第三者によって盗まれるリスクを最小限に抑えられます。さらに、HLSは広範なデバイスと互換性があるため、視聴者は自分の好きなデバイスでいつでも動画を楽しむことができるのです。以上のような特徴から、HLSはオンデマンド配信で利用する規格として最適と言えるでしょう。

HLSの特徴

  • 高い互換性
  • 最適なビットレートの選択
  • ライブ配信とオンデマンド配信に対応
  • 遅延が発生しやすい

HLSの特徴としてまず挙げられるのが、高い互換性です。HLSはApple社により開発され、iOSデバイスで広くサポートされていますが、その他のプラットフォームでも利用できます。
また、動的なビットレート調整が可能で、視聴者のネットワーク状況に応じて最適なビットレートを選択します。そのため、視聴者はネットワークの状況に関わらず、最高の視聴体験ができるのです。

さらに、HLSはライブ配信とオンデマンド配信の両方に対応しており、配信者にとって大変便利です。一方で、HLSは遅延が発生しやすいという課題もあります。これは、HLSが動画を小さなセグメントに分割して配信するため、セグメントのダウンロード時間が遅延を引き起こすからです。これらの特徴を理解したうえで、最適な方法でHLSを利用する必要があるでしょう。

MP4との違い

HLSとよく比較されるのがMP4ですが、この2つは根本的に異なる技術です。
HLSは動画配信のためのプロトコルであり、MP4は動画ファイルのフォーマットです。HLSを利用することで、ストリーミング配信が可能となるため、リアルタイムで動画を提供することができます。視聴者は動画をダウンロードする必要はありません。

一方、MP4は動画ファイル全体をダウンロードしてから視聴するものです。また、HLSは帯域幅の変動に対応して動的に画質を変更できますが、MP4は一定の画質しか提供できません。
以上の理由から、HLSはライブ配信に適していますが、MP4は主にオンデマンド配信に利用されます。HLSとMP4の違いを理解してそれぞれ活用しましょう。

HLSの仕組み

HLSの動作の仕組みは、主に「インデックスファイル」と「セグメントファイル」という2種類のファイルによって成り立っています。ここからは2つのファイルの機能についてくわしく見ていきましょう。

HLSの動画ファイルの仕組み

HLSの動画ファイルの仕組みの図解

インデックスファイル

HLSの仕組みにおいて、インデックスファイルは非常に重要な役割を果たします。
インデックスファイルは、動画の再生に必要なすべてのセグメントファイルへのリンクをリスト化したものです。それぞれのセグメントファイルは、動画の一部分を構成しており、すべてのセグメントファイルで1つの動画を構成します。セグメントファイルがどの順番で再生されるべきかを指示する役割を果たすのがインデックスファイルです。

視聴者が動画を再生するとき、最初にインデックスファイルが読み込まれ、その指示に従ってセグメントファイルが順次再生されます。この仕組みにより、シームレスな動画視聴体験を実現するのです。
インデックスファイルの存在がなければ、スムーズに動画を再生することはできないでしょう。インデックスファイルは、HLSにおける動画配信の要となるのです。

セグメントファイル

セグメントファイルとは、動画や音声を数秒から数十秒の長さに分割したものです。HLSの動画配信システムにおいて、重要な役割を果たしています。

このセグメント化されたファイルは、インデックスファイルによって順番に再生され、視聴者にシームレスな動画体験を提供します。HLSでは、このセグメントファイルの生成と配信が非常に重要です。なぜなら、各セグメントは独立してストリーミングされ、それぞれが個別のURLを持ち、インデックスファイルによって順番に再生されます。この仕組みにより、視聴者のネットワーク状況に応じて最適な品質のセグメントを選択して配信することが可能となります。

セグメントファイルの生成と配信により、視聴者はネットワークの変動によるバッファリングや画質の低下を最小限に抑えられます。セグメントファイルは、HLSにおける動画配信の質を高めるための重要な役割を担っているのです。

HLSは遅延発生が課題

HLSには遅延が発生しやすいという課題があります。動画を小さなセグメントに分割して配信するため、1つのセグメントファイルがすべてダウンロードされるまで再生が開始されないためです。その結果、視聴される映像が実際のライブ映像よりも遅れてしまうことがあります。しかし、この問題を解決するためのさまざまな技術が存在します。

その1つが、セグメントの長さを短くすることでダウンロード時間を短縮し、遅延を軽減する方法です。また、WebRTCとHLSを組み合わせることで、比較的低遅延(5秒程度)でライブ配信が可能になる技術もあります。
WebRTCとHLSを組み合わせる技術について、くわしくは以下の記事をご覧ください。
【基礎知識】WebRTCとは?仕組みやサーバー構成を解説
HLSの遅延問題は確かに存在しますが、それを解消するための工夫や技術も進化し続けているのです。

HLSを使った動画配信の方法

HLSを使った動画やライブ配信は、設定や用途に応じてさまざまな方法があります。本記事では主に2つの方法をご紹介します。

  • 動画配信プラットフォームで配信する
  • ライブ配信用のマネージドサービスを活用する

それぞれの方法について、以下でくわしく解説します。

動画配信プラットフォームで配信する

動画配信プラットフォームを利用することで、HLSを使った動画配信が容易になります。YouTubeやVimeoなどのプラットフォームは、動画をアップロードするだけで自動的にHLS形式に変換し、視聴者に適切な品質で配信します。これにより、企業は技術的な詳細を気にすることなく、広範な視聴者に対して動画コンテンツを配信できます。

また、多くの動画配信プラットフォームでは、視聴者の行動を追跡し、分析する機能も提供しています。そのような機能を利用することで、視聴者の反応を理解し、コンテンツ戦略を立てることが可能です。しかし、プラットフォームに依存することで、コンテンツの所有権やブランディングの制御が限定されることもあります。

技術的な知識がない企業や、視聴者とのインタラクションを重視する企業の場合、動画配信プラットフォームを利用することで、短時間で広範囲な視聴者に動画を配信することができます。

ライブ配信用のマネージドサービスを活用する

HLSを用いて超低遅延で高品質なライブ配信をしたい場合には、ライブ配信用のマネージドサービスを活用する方法もあります。ライブ配信用のマネージドサービスとは、ストリーミングサーバーの構築などに関する専門的な知識がなくてもライブ配信のプラットフォームを実装できるものです。自前で一から実装するよりも設定や管理が容易で、トラフィックの増減に応じて自動的にスケーリングする機能を備えているため、視聴者数が急増した場合でも安定した配信が可能です。

具体的にどのような方法か

簡単に言えば、PaaS(Platform as a Service)を利用するということです。具体的には、配信基盤(ストリーミングサーバーやAPI)にはマネージドサービスを利用し、上のアプリケーションは自分達で構築します。この方法でライブ配信をおこなうメリットはいくつかあります。

まず、比較的低遅延で配信できる点です。これはライブ配信において非常に重要で、視聴者とのコミュニケーションをスムーズにするために欠かせません。また、ビットレートなどは自由に指定できるため、配信側の機材次第で高品質な配信が可能です。これは、Youtube Liveなどのビットレートが決まっているプラットフォームでは自由度が低いと感じる方にとって、大きなメリットとなります。

さらに、ストリーミングサーバーの調達、構築、運用が不要のため、ストリーミングサーバーに関する専門的な知識がなくてもライブ配信が可能です。
また、商用利用や投げ銭の機能なども実装できます。Youtubeなどのプラットフォームでは、一部の利益がプラットフォーム側に配分されるため、決済手数料以外の利益を得られるという点で大きなメリットとなるでしょう。

ただし、デメリットとして、アプリの開発が必要になるため、ある程度の技術力が必要となることが挙げられます。しかし、その分自由度が高いため、自社のビジネスモデルに合わせた動画配信が可能となるのです。

どのようなケースに向いているか

HLSを使ったライブ配信ができるマネージドサービスの利用は、とくに低遅延で大規模な配信を実現したいと考えている方にとって、魅力的な選択肢となります。
HLSはストリーミング技術の1つであり、WebRTCやCDN(Content Delivery Network)と組み合わせて利用することにより、低遅延かつ大規模な視聴者に対して動画配信をおこなうことができます。アダプティブビットレートの特性上、視聴者の通信環境やネットワーク環境の変動に応じて、柔軟に対応しながら安定した配信を可能にします。

HLSは幅広いデバイスでサポートされています。そのため、たとえば自社のサービスに新たにライブ配信の機能を取り込みたいといった場合も、HLSを活用してブラウザやWebアプリから簡単に大規模向けに配信できるサービスを構築することもできます。

ImageFlux Live Streamingのご紹介

HLSを利用できるライブ配信用のマネージドサービスとして、ImageFlux Live Streamingをご紹介します。
ImageFlux Live Streamingとは、お客さま独自のライブ配信システムを、API/SDKを利用して素早く手軽に構築できるマネージドサービスです。配信基盤としてWebRTC SFU Soraを採用しており、WebRTCからHLSまで幅広い配信方式に対応しています。つくりたい配信サービスに適したAPIを使って、高速に開発を進めることが可能です。
また、HLSの場合は会員限定配信のAPIや、アーカイブの保存機能も提供しています。

まとめ

本記事では、HLS(HTTP Live Streaming)について解説しました。HLSの基本的な仕組みから、その用途、特徴、MP4との違いについて触れ、HLSを使った動画配信の方法や、それぞれの方法がどのような場合に向いているのかも紹介しました。しかし、HLSには遅延発生という課題が存在します。これらを踏まえ、自身のニーズに最適な配信方法を選ぶことが重要です。今後、動画配信の需要はさらに増えると予想されます。その中でHLSはその強力な機能と広範な対応デバイスにより、引き続き重要な役割を果たすでしょう。

構成・執筆・編集

ImageFluxチーム

さくらインターネットとピクシブで共同開発・提供している、クラウド画像変換サービス・ライブ配信エンジンサービス「ImageFlux」のチームです。

2024年5月公開