Address
大阪府大阪市中央区淡路町3丁目1番9号 淡路町ダイビル6F
Work Hours
平日:9AM - 6PM
Address
大阪府大阪市中央区淡路町3丁目1番9号 淡路町ダイビル6F
Work Hours
平日:9AM - 6PM
監修者:竹内 望
大学・大学院でAIによる画像処理の研究やレーザー機器制御による物理メモリの研究を行った後、外資系大手ITコンサルティング会社に入社。現在はAIエンジニアとして、業界を問わず業務効率化のためのRPAシステムやAIによる業務代替システムの開発と導入を行っています。
近年、マーケティングや社内コミュニケーションにライブ配信を取り入れる企業が増えています。製品発表会のリアルタイム中継、オンラインセミナー、社内向け説明会、ライブコマース(リアルタイムの商品販売)など、その活用範囲は広がっています。しかし、ライブ配信を成功させるためには技術的なアーキテクチャ設計が極めて重要です。配信が途切れたり映像が粗くなれば視聴者の満足度は下がり、ひいてはブランドイメージにも影響しかねません。一方、最適なアーキテクチャを選択し構築できれば、安定した高品質配信によって視聴者のエンゲージメントを高め、ビジネス成果につなげることができます。
本記事では、ライブ配信システムの基本的な構成要素と主要な配信技術について解説し、ユースケース別に最適なアーキテクチャ構成を考察します。経営層の方にも理解いただけるよう、ビジネス上の課題と技術選定のポイントを結びつけて、できるだけ親しみやすい言葉で説明していきます。専門用語も出てきますが、その都度ポイントを押さえていきますのでご安心ください。
ライブ配信のアーキテクチャは、大きく映像音声の取得から視聴者の再生までの一連のワークフローとして捉えることができます。以下の図は、典型的なライブ配信システムの構成要素を示したものです。
一般的なライブ配信の流れは次の通りです。
こうした一連の流れを把握することで、どの部分にどんな技術やサービスが必要かが見えてきます。次節では、この流れをさらに整理するためによく用いられる「4層モデル」で配信システムを分解してみましょう。
ライブ配信アーキテクチャを考える際には、Source(ソース)、Origin(オリジン)、Distribution(配信)、Client(クライアント)の4層に分ける見方が有用です。AWSの公式ブログでもライブ配信基盤をこの4層で整理しています。それぞれの層の役割は以下の通りです。
以上の4層モデルで整理すると、自社で用意すべき部分とクラウドサービスに任せられる部分が明確になります。例えばAWSを使う場合、Source層は自前エンコーダ、Origin層はMediaLive等のクラウドサービス、Distribution層はCloudFront CDN、Client層はユーザーデバイスという形で分担できます。
自社開発で全てを作り込むことも可能ですが、視聴者数増加時のスケーリングや高可用性の確保など課題も多いため、近年はクラウドのマネージドサービスを組み合わせるケースが増えています。実際AWSのMediaLiveやMediaPackageを用いれば、冗長構成(サーバーが故障しても配信が止まらないよう、バックアップのシステムを用意しておくこと)やオートスケール機能(視聴者数が増えたときに、自動でサーバーを増やして負荷分散する仕組み)がサービス側で提供されるため、開発者は配信内容に専念できます。
想定ユースケース: 新製品発表会や音楽ライブ、スポーツ試合の中継など、不特定多数に向けて同時視聴者が数万〜数百万に及ぶようなライブ配信。
ビジネス要件:
最適アーキテクチャの考え方:
上記要件から、まずHLS/DASHベース+CDNの王道アプローチが適しています。大規模配信ではHTTPベース配信+CDNが圧倒的に有利で、既存のインフラをフル活用できます。具体的構成例としては以下になります。
ポイント: 大規模配信では冗長化と監視も重要です。AWSではMediaLiveが冗長入力・出力に対応しており、異なるAZに複製ストリームを送って障害に備えることができます。オリジンやCDNに障害が起きてもバックアップに切り替わる設計にしておくと安心です。また大規模イベントでは事前に負荷テストやリハーサルを行い、配信遅延が想定範囲か(約10秒程度に収まるか)確認しておくことも肝要です。
想定ユースケース: オンラインセミナーで講師と参加者が質疑応答する場面、あるいは社内の全社集会でCEOが各拠点社員とやり取りするケース、さらには少人数のビデオ会議。
ビジネス要件:
最適アーキテクチャの考え方:
このシナリオではWebRTCベースの構成が最適です。遅延0.5秒以下で双方向通信を実現するWebRTCが望ましいです。。具体的な構成は以下のようになります。
ポイント: 双方向配信では誰がどのくらい発言するかによっても設計が変わります。少人数全員が自由に会話する場合(会議)は全員送受信ですが、多人数ウェビナーで視聴専用が大半の場合、発言者のみWebRTC接続し、視聴専用者にはその映像をHLS配信するハイブリッド型も考えられます。この場合発言者↔視聴者間は一方向なので遅延が多少増えても許容され、視聴専用者はHLS経由で配信することで例えば1000人規模でも捌けるといった構成です。
逆に全員参加型の場合は上限人数に注意が必要です。WebRTC SFU一台あたり数百〜数千接続が上限となるため、それ以上の場合はSFUをクラスタリングして負荷分散する高度な構成が要ります。例えばZoomのようにサーバを多数用意して地理的にも分散配置し、各会議を振り分ける仕組みです。
また、双方向系では音声遅延や同期も重要です。映像と音声のズレ、誰かの声が遅れてエコーのように返る現象など、会議システム特有の問題にも配慮が必要です。幸いWebRTCはこうしたリアルタイムコミュニケーション向けに最適化されており、遅延も jitter buffer で制御され、エコーキャンセラなどもブラウザ実装されています。
したがって開発者はWebRTCプラットフォームを活用することで、比較的短期間で双方向サービスを構築できます。AWSにもリアルタイムコミュニケーション向けサービスとしてAmazon Chime SDK(ビデオ会議SDK)やAmazon IVSがあり、これらを利用するのも有力です。
想定ユースケース: ECサイト上でライブ動画を配信し、その場で商品を紹介・販売するライブコマース。視聴者はコメントや「いいね」で参加し、商品をその場で購入できます。テレビ通販のオンライン強化版のような位置付け。
ビジネス要件:
最適アーキテクチャの考え方:
ライブコマースはリアルタイム性とスケーラビリティのバランスが難しいユースケースです。フルWebRTCにすると大規模時の負荷が心配、かといってHLSだと遅延が大きすぎる。そこで間を取って低遅延HLSや独自プロトコルを用いるケースが見られます。
ポイント: ライブコマースではKPIの計測も重視されます。視聴者数推移、エンゲージメント率(コメント数やいいね数)、購入転換率などをリアルタイムに分析することで売上向上に繋げます。そのため配信プラットフォームは単に映像を届けるだけでなく、こうしたデータ解析基盤との連携も求められます。アーキテクチャ設計時には、配信サーバ側で視聴イベントをトラッキングしたり、アプリ側SDKでユーザー行動を計測して分析基盤に送信するなど、ビジネス価値を高める仕掛けも組み込むと良いでしょう。
ライブ配信には様々な配信方式(プロトコルやフォーマット)が存在し、目的に応じて使い分けられています。それぞれ遅延特性やスケーラビリティ、対応プラットフォームなどが異なり、ユースケースに適した選択が重要です。ここでは代表的な方式であるHTTPライブストリーミング(HLS/DASH)とWebRTCを中心に、RTMPなどその他方式も含め特徴を解説します。
HLS(HTTP Live Streaming)はAppleが開発したライブ配信方式で、現在もっとも広く使われている手法です。映像を数秒単位の小さなチャンクファイル(拡張子.ts 等)に分割し、M3U8プレイリストを通じて順次配信します。HTTPベースのため通常のWebサーバやCDNで配信でき、スケーラビリティが高いのが利点です。HLSの遅延は一般的に10〜30秒程度と言われます。これはチャンクの長さやプレイリストの設計によります。例えばデフォルト設定では6秒のチャンク×3~4個分バッファするため20秒以上の遅延が生じます。
しかし低遅延化の工夫も可能で、チャンク長を短くしたり(例:2秒)、最新チャンクを逐次配信することで10秒以下に抑えることもできます。実際AWSの実証では、HLSのセグメント長2秒・3セグメント先読みの設定でエンドツーエンド遅延約10秒前後を達成しています。この程度の遅延はテレビ放送の中継と同程度であり、多くのライブイベント(コンサートやスポーツ中継など)では許容範囲とされています。
HLSと類似の方式にMPEG-DASHがあります。こちらはISO標準規格で、原理はHLSとほぼ同じくHTTPベース・チャンク分割配信です。(動画を数秒ごとの小さなファイルに分けて配信し、ブラウザやアプリが順次ダウンロードして再生する仕組み)HLSが主に.ts形式なのに対し、DASHはコンテナ形式に制約が少なく最新コーデック(H.265等)にも柔軟に対応できます。遅延やスケーラビリティの観点ではHLSと同等であり、両者を総称して「HTTPベースのストリーミング」と呼ぶこともあります。
HTTPベース配信(HLS/DASH)の長所は以下です:
一方、短所・課題としては遅延が大きい点が挙げられます。標準的なHLSでは前述の通り10秒以上の遅延が生じ、リアルタイムな双方向コミュニケーションには不向きです。視聴者がコメントする程度であれば多少遅延があっても問題ありませんが、講師と参加者がやり取りするウェビナーやオークション形式のライブコマースでは、この遅延が致命的になる場合があります。
こうした課題に対し、近年は低遅延HLS(LL-HLS)やCMAFといった新技術も登場しています。AppleのLow-Latency HLSや、CMAF+Chunked Transferの組合せにより、HTTPベースでも2〜3秒程度の遅延を目指すソリューションが開発されています。これにより従来のHLSより遅延を大幅に削減できますが、プレイヤー側の対応やシステム全体の最適化が必要で、実装の難易度は上がります。また2〜3秒でもインタラクティブ用途(後述のリアルタイム性を要求するユースケース)には充分でない場合もあり、超低遅延を求める場面では次に述べるWebRTC系技術が必要となります。
WebRTC(Web Real-Time Communication)はブラウザ間のリアルタイム通信を実現する技術で、主にビデオ会議や双方向コミュニケーション用途で使われます。ブラウザやモバイルアプリ間でP2P接続を確立し、数百ミリ秒以内の遅延で映像・音声をやりとりできるのが最大の特徴です。WebRTCを使うと理論上0.5秒未満、場合によっては0.2秒以下の遅延も実現可能で、これは人間が対話して「ほぼ同時」と感じられるレベルです。
例えばZoomやGoogle Meetなどのビデオ会議ではWebRTC技術が使われており、話者の発言に対して即座に反応できるインタラクティブ性が確保されています。双方向にコミュニケーションが必要な場合、一般に遅延が200ms(0.2秒)を超えると違和感が出ると言われ、WebRTCはそうした用途に応えるために開発されました。
WebRTCの仕組みはP2Pベースですが、実際にはサーバの助けが必要です。接続初期にはシグナリングサーバを介して(WebRTCで映像を送る前に、通信相手を探して接続情報を交換するためのサーバー)お互いのネットワーク情報を交換し、さらにNAT越えのためSTUN/TURNサーバを使って通信経路を確立します。
また1対多の配信(例:1人のホストが複数視聴者にリアルタイム配信する場合)では、SFU(Selective Forwarding Unit)という中継サーバを使い、ホストの映像を各視聴者に複製転送する仕組みが用いられます。SFUを用いると配信者は一つの映像を送るだけで済み、サーバが複数に配信してくれるためスケーラビリティが向上します。ただし視聴者数が非常に多くなるとSFUサーバ自体をスケールさせる必要があり、CDNほど容易にはスケールしない点には注意が必要です。
WebRTC系のメリットは何と言ってもそのリアルタイム性とインタラクティブ性です。視聴者が配信者に対して即座に反応を返したり、双方向の会話・質疑応答をしたりするシナリオでは、WebRTCなしでは成立しません。例えば早押しクイズやリアルタイム投票を伴うイベント、ライブオークション、オンライン会議などではWebRTCの超低遅延が必須です。
一方でデメリット(課題)もあります。スケーラビリティの課題はその代表で、HLSのように簡単にCDNに乗せて100万ユーザ配信、とは行きません。同時接続数が増えると、視聴者が増えたときに、負荷を分散するために複数のSFUサーバーを連携させたり、世界中のサーバーに分散させるなど高度なインフラ設計が求められます。またブラウザ互換の問題(古いブラウザだと動かない等)や、実装の複雑さ(シグナリングやTURNサーバの構築など初学者には難しい)もあります。とはいえ最近ではWebRTCサービスのSaaSやマネージドサービスも増えており、例えばAWSのAmazon IVS(Interactive Video Service)はWebRTCベースで大規模配信を実現するサービスです。NTTの「Smart vLive」のように1秒未満の低遅延で大規模イベント配信を可能にする商用プラットフォームも登場しており、技術の進歩によりWebRTCのスケール問題は徐々に解決が図られています。
上記以外にもライブ配信で知っておくべき方式があります。代表的なものを簡単に触れておきます。
以上の配信方式を、遅延・スケーラビリティ・主な用途の観点でまとめたのが次の表です。
※遅延は環境や設定によって変動します。またRTMPは現在視聴者側で直接再生されるケースが少ないため参考値です。
上記のように、一口に「ライブ配信」と言っても技術的には大きな違いがあります。ユースケースの違いによって必要なアーキテクチャが180°変わるとも言われ、開発・運用側はこれらの特性を踏まえて方式を選定する必要があります。次章では具体的なユースケースを取り上げ、それぞれに適したアーキテクチャの構成例とポイントを見ていきましょう。
ライブ配信のアーキテクチャ設計は、技術的選択肢が多岐にわたるため一見難しく感じられるかもしれません。しかし、本記事で述べたようにまずビジネスの要件や課題を整理し、それに合致する技術を組み合わせることが大切です。
ライブ配信は失敗が許されない場面も多く、事前検証とチューニングも成功の鍵です。ネットワーク帯域のシミュレーション、様々なデバイスでの再生テスト、遅延計測などを行い、想定通りのパフォーマンスが出ているか確認しましょう。また、配信当日のオペレーションも準備が必要です。バックアップ回線の用意、トラブル発生時の連絡フロー決定、視聴者からのフィードバック受付体制など、技術+運用の両面で万全を期すことが大切です。
貴社のライブ配信アーキテクチャの構築に関して、「自社ではどの方式が良いのか?」「具体的にAWSのどのサービスを使えば?」などお悩みがございましたら、お気軽に開発相談してください。
監修者:竹内 望
大学・大学院でAIによる画像処理の研究やレーザー機器制御による物理メモリの研究を行った後、外資系大手ITコンサルティング会社に入社。現在はAIエンジニアとして、業界を問わず業務効率化のためのRPAシステムやAIによる業務代替システムの開発と導入を行っています。