Amazon Web Services ブログ
NTTドコモにおける Leminoの大規模ライブ配信を支えるアーキテクチャ(第四回)
本稿では株式会社NTTドコモ(以下、DOCOMO)において、映像配信サービス『Lemino』の開始にあわせて配信基盤を再構築し、数百万規模の同時視聴ライブ配信を実現した取り組みについて、全4回に分けてご紹介します。この取り組みについて概要をご覧になりたい方は導入事例ページもご覧ください。
全4回の内容は以下からアクセスできますので、ご興味のある回をご覧いただければ幸いです。
第二回 アクセスの急増に対する対応策〜キャッシュ戦略とバックエンドの保護〜
第三回 クラウドを活用したテスト効率化 〜リリース前・リリース後に何をするべきか〜
第四回 AWSでのライブ配信アーキテクチャ
1.はじめに
第四回では、Lemino のライブ配信について、配信基盤を AWS Media Services やマネージドサービスで再構築について説明します。新たな映像配信基盤は、ボクシングの世界戦など注目度の高いライブ配信を支え、ユーザーの獲得に貢献し、アクティブユーザー数(MAU)は、サービス開始から 3 か月で約 7 倍の 500 万に達しました。
2.基本的な配信基盤のアーキテクチャ
Lemino では、VOD の配信だけでなく多種多様なライブ配信を複数同時に実施することが可能です。ライブ配信の最大チャンネル起動実績も 30 に達し、2024 年には最大 50 チャンネルまで拡張する予定で、ライブ配信の規模はさらに拡大する見込みです。
これを可能にしているのは、AWS Media Services です。
Lemino の担当者が初めて AWS Media Service に触れたのは、約4年前のハンズオンがきっかけです。2日間のハンズオンで一通りの配信に必要なクラウドのマネージドサービスを学び、そこからオンプレミスで培った映像の技術を用いて、大規模な配信に耐える構成を作り上げてきました。(参考ハンズオン:AWSで動画配信を始めよう)
AWS Media Services では、Multi-AZ による冗長化された信頼性の高いサービスをソフトウェア、ハードウェアの管理をすることなく、マネージドサービスで活用することができます。従量課金体系であるため、ライブ配信毎にチャンネルを新規作成しライブ終了後に削除することで、ライブ配信時以外の料金発生を抑え費用を最小限に抑えることが可能です。加えて、東京リージョン・大阪リージョン・ソウルリージョンで同じAWSのマネージメントコンソールや CLI などを使って、配信の環境を整えることができるため、マルチリージョン構成を容易に実現することができます。
こうした可用性の設計は Reference architecture についての AWS Blog が用意されているため、参考に設計しています。
Lemino では、iPhone や Android スマートフォンや、タブレット、パソコン、スマートテレビ・レコーダーなど様々な機種に対応しておりますが、これに対応するには、Apple HLS 、DASH-ISO などの形式で出力し、適切な DRM 設定を行う必要があります。DRM についても Secure Packager and Encoder Key Exchange (SPEKE) を活用して利用できます。
参考:SPEKEとは?
配信の内容によっては、タイムシフト表示を有効化したり Live コンテンツをアーカイブ配信のために、VOD に変換する必要があります。AWS Elemental MediaPackage はこうした必要な機能をサポートし、ボクシングの世界戦のような大規模配信でもオリジンとして機能するスケーラビリティを持っています。
リアルタイムエンコーダはAWS Elemental MediaLive を活用して配信仕様に従ったビデオ・オーディオのエンコード出力を行っています。MediaLive は Amazon S3 に事前に保存された MP4 などの形式の映像ファイルからの配信を行うことが可能であるため、この機能を活用し擬似ライブのような配信にも対応しています。
また、エンコーダへの映像入力に関しては AWS Elemental MediaConnect を組み合わせて利用することで、さまざまなロケーションから安定した映像ソースの伝送を行っています。例えば、大規模なスポーツ会場から Live を配信する場合は、現地のオンプレミス機材から映像伝送を行う必要がありますが、パケットロスを防ぐため RTP+FEC や RTMP 、 Zixi など様々なプロトコルで動画を伝送する必要があります。 MediaConnect と MediaLive を利用することでこれらの映像伝送を簡単に行うことができます。
他にも、小規模な練習場のような大規模なオンプレミス機器の設置が困難な場所からクラウドに動画を配信する場合、AWS Elemental Link という僅か 450 g の小型の専用デバイスを現地に持って行って配信に活用しています。AWS Elemental Link は電源をつなぐ、ネットワークと接続する、カメラからの映像音声を SDI あるいは HDMI で接続する、この3つだけで、AWS Elemental MediaLive に高品質な映像を伝送することが可能です。この映像伝送にはパケットロスの耐性の高い Zixi プロトコルが利用されます。動画配信の仕組みに精通したエンジニアでなくとも現地から映像を送ることができるため、エンジニアが配信都度現地に行く必要がないため、配信にかかる作業負担が大きく軽減されています。
最近の配信では、無料の広告付き配信を行っています。この配信では広告をあらかじめ映像にうめ込んだり、映像の最初に広告を入れるのではなく、Live の途中で、できるだけ試聴体験を邪魔しないように広告を入れる SSAI(Server Side Ad Insertion) によるミッドロール広告も活用を始めています。これらの広告配信は AWS Elemental MediaTailor で短期間で付け加えることができ、配信の特性ごとに一番良い方法で配信できるよう現在も調整を続けています。
Lemino では、こうした多様なライブの運用工数も最適化しています。ライブ配信の構成を AWS で統一したことで、 AWS Media Services を簡単にデプロイできる仕組みを AWS の API を使用して構築し、エンジニアが関与せずともライブ担当者のみで定型的な配信環境構築作業を実行できるようになりました。
3.配信時の CDN の構成について
Lemino ではNTT DOCOMOのモバイルネットワーク・ CDN を活用しつつ、 Amazon CloudFront や他社の CDN も活用できるようにすることで、大規模配信の際に必要となる帯域を事前に調整しています。これを実現しているのが、 Amazon Route53 とAmazon CloudFront の Origin Shield です。
CDN-A / CDN-B / CDN-C を活用する場合、3つの CDN のオリジンに Origin Shield を有効化した CloudFront を活用します。そうすることで、CloudFront はすべてのオリジンフェッチを Origin Shield を介してルーティングし、コンテンツが Origin Shield のキャッシュにまだ保存されていない場合にのみオリジンにリクエストを送信します。これは、オリジンの負荷を下げることにつながり、大規模配信時もオリジンへの過負荷によって、配信に影響が出るリスクを低減します。また、Lambda@Edge を Origin Shield とともに使用して、動的なマニュフェストの変換なども可能にしています。
エンドユーザーからのアクセスを CDN-A / CDN-B / CDN-C にどのように割り振るかを決定するのはAmazon Route53です。
加重ルーティングを活用して普段はCDN-A 7割、CDN-B 2割、CDN-C 1割のような割合で配信しておいて、CDN-C に異常があった場合、加重の比率を変更することで、CDN の障害から回復することが可能です。また、IPベースのルーティングも併用することで、所定のIPアドレスからは所定のネットワークを経由して映像を配信し、効率的にライブ配信を行なっています。
4.まとめ
昨今の映像サービスでは、様々な場所から様々な形式で入手した映像を、多種多様なデバイスに安定して配信することが配信規模に関わらず求められます。AWSを利用することで最小限の費用と労力でこれらの実現が可能です。今後も、AWS のMedia Servicesの新機能もうまく活用しつつ、Lemino の配信をよりよくする挑戦を続けていきます。
著者について
第一プロダクトデザイン部 映像サービス担当 岸 里奈
株式会社NTTドコモで提供している映像配信サービス『Lemino』のライブ・VOD・広告含めた映像配信システムの開発を担当しているエンジニア。
アマゾン ウェブ サービス ジャパン合同会社
技術統括本部 ストラテジックインダストリー技術本部 津和崎美希
通信業界のお客様を担当するソリューション アーキテクト。普段は通信業界のお客様のAWS 活用を支援していますが、Observability についてはAWS 社内でコミュニティ活動をしています。ここ数年、動画配信等、Media Service のご支援にも手を広げるなど、幅広い AWS 活用をご支援しています。