【やってみた】AKIBA.aws 第3回 特別編をAWS Media Servicesを使ってこっそりライブ配信してみた #reinvent #akibaaws

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

清水です。先日発表されたAWS Media Services、個人的には勝手にMedia五兄弟と呼び楽しく検証を進めています。今回のMedia五兄弟の中でも大きな点の1つは、AWSのマネージドサービスで手軽にライブ配信ができるようになったことではないでしょうか。

そんな中、先日2017/12/6には「AKIBA.aws 第3回 特別編 re:Invent報告&2017年AWSサービスアップデート総括」が開催されました。これをMedia五兄弟を駆使してライブ配信できたら面白いのでは!?ということでやってみました。まだ検証段階で準備時間もあまり確保できなかった都合上、弊社社内だけに公開するお試し配信というかたちで、なにかあってもゴメンナサイという具合でしたが、配信自体もうまくいき色々な知見も得られたのでまとめてみたいと思います。

やってみた

構成

以下の構成としました。

  • カメラとエンコーダはiPad mini(第2世代)を使用
    • エンコーダは「RTMP Streamer」というアプリ
      • 解像度を1080p, 720p, 480pから選択できるが、iPad mini(第2世代)のスペックなど考慮して720pを選択
  • インターネット回線は社内のWiFi回線
    • Speedtestで上り下りとも50Mbps以上を確認
  • 映像をAWS Elemental MediaLiveで受ける
    • オレゴンリージョン(us-west-2)を使用
    • ChannelのOutput設定はChannel templateのLive event設定を使用
  • MediaLiveからAWS Elemental MediaPackageに連携
    • MediaPackagemオレゴンリージョン(us-west-2)を使用
    • EndpointをApple HLSで設定
  • MediaPackageからAmazon CloudFrontを経由して配信
    • 視聴者数の増加に対応することを考慮してCDNを導入
  • 今回は別途Playerは用意せず、HLSのマニフェストファイルへのURL(拡張子.m3u8)を視聴者に参照してもらう
    • SafariなどHLSにネイティブで対応している環境のみ再生可能

配信の様子

簡単にですが配信の際の様子をまとめてみます。

現場の機材編

カメラ&エンコーダとなるiPad miniですが、スライドをきちんと写すことを第1目標に、登壇者と参加者の皆様の間の机に陣取らせていただきました。

登壇者視線で見るとこんな具合です。

手前のPCがスライド投影PCで、その視線の先にiPad miniを不安定においておく結果となってしまいました。事前の準備不足でスタンド、三脚などを用意しておらず、その場にあったリモコンで挟み込むという手段を取ったためになります… 登壇者の方には何か(iPad mini)が不安定に立っていて気になる、というご意見をいただいたので今後はもう少し考えないとなと。

参加者の皆様からの視線だとこんな具合です。

iPadに見えたかどうか…

と、少し配置の見た目についてはネガティブになってしまっていますが、後述します通りiPad miniの背面カメラでスライド投影部分は上手く捉えることができたかなと思います。また音声についてもiPad mini搭載のマイクで登壇者の方の声をクリアに捉えることができました。

このような登壇発表、勉強会を撮影する場合は参加者(閲覧者)の座席後方から、ズームのできるカメラで捉えることが多いかと思います。今回は準備不足でiPad miniでやってみよう、という具合でしたが、今回のように設置場所を上手く確保できればこの登壇者の手前での撮影も良いのでは?と思いました。

配信した映像の模様

続いて実際にiPad miniから配信したもの映像(Safariなどブラウザで確認したもの)のスクリーンショットをいくつかまとめてみます。

スライドはきちんと捉えることができており、文字なども見やすかった、という感想を社内で視聴いただいた方からいただきました。しかし登壇者の表情を入れるのはカメラアングル的にこれが限界で、また勉強会開始後にiPad miniの位置の変更をすることも難しいという状況でした。理想的には2カメ使ってスライド、発表者の双方を写せれば良いのですが、iPadの1カメ想定だといかに上手くスライド、発表者双方を収めるかがポイントになってくるのかなと。

モニタリングの様子

さて第3回AKIBA.awsが始まる前に会場の会議室でライブ配信の準備を終え、その後の開催中、私は別の場所でライブストリーミングを見つつ、MediaServicesのモニタリングに勤しんでいました。MediaServicesのモニタリング項目についてはまだ私のほうで理解が浅く、具体的な内容を説明できないのですが、まずは実戦にてどのようにモニタリングできるか?というデータが得られたのでスクショをまとめてみます。

まずはMediaLiveについて。

続いてMediaPackageについて。

そしてCloudFrontのモニタリングです。

Dropped Framesについて

今回の配信中、MediaLiveのモニタリング項目の1つ「Dropped Frames」が一時的に上昇していることに気が付きました。様子を見ていると徐々に右肩上がりに上昇していき、一定の値まで上昇するとそれ以降は水平に推移する、というふうです。また不確かですが、上昇しきったタイミングで一瞬映像が黒になった気がしました。

本番前のテスト配信の際、iPad mini上のRtmp Streamerの解像度を本番時に使用した720pよりも一段高い1080pにしていたのですが、このときはDropped Framesがこれ以上の頻度で発生していました。そのためiPad miniのスペックがエンコード処理に追いつかなかったことが今回のDropped Framesが発生した問題かと推測しています。(あくまで推測なので、より低解像度にしてみる、他のエンコーダを使ってみる、本当に映像品質に問題が出ているのか、など、追加で検証は必要かと思います。)

まとめ

AKIBA.aws 第3回 特別編をAWS Media Servicesを使ってこっそり(社内向けに)ライブ配信してみた模様をまとめてみました。iPad miniからの非常に簡易的な機材等での配信でしたが、Media五兄弟でのライブ配信という点では知見がたまり個人的には非常に満足しています。今後、機材まわりをもう少しきちんとすること(せめて三脚など使いたい…)、また動画配信ページを作成すること(今回のようなマニフェストファイル直接はちょっとな…)、という2つの課題をクリアしていけば、より実用的な配信になるかなと考えています。