はじめに

Azure や AWS などのクラウドサービスには日々機能が追加されています。

なかでも、人気がある機械学習・ディープラーニングや、サーバレスコンピューティングサービスなどに隠れて、
動画配信サービス が充実していることをご存知でしょうか?

以前は敷居の高かった 大容量動画のストリーミング配信DRM(デジタル著作権管理)動画 の配信が、手軽に実現できるようになっています。

今回は Azure と360°カメラを使用して、クラウドサービスでの 360°動画配信 を行なってみました。

やってみた

360°撮影できるカメラの準備

使用するカメラはこちらの Insta360 One X です。

https://www.insta360.com/product/insta360-onex

  • 5.7K 360°撮影可能
  • Wifi 接続で大容量動画のライブストリーミング配信が可能
  • バレットタイム撮影(マトリックスのやつ)対応

というスグレモノ。

撮影にはスマートフォンに接続し、専用のアプリをインストールする必要があります。

ライブ配信を行うにはスマートフォン側でネットワーク接続されていることが必須なので、Wifi設定などをしてインターネット接続が可能であることを確認し、スマートフォンアプリで動画撮影ができるところまでは確認しておきましょう。

Azure でのライブ入力受付

カメラが使えるようになったら、 Azure 側でライブ入力を受け付ける準備をします。

当然ですが Azure のアカウントを持っていることが前提です。

Azure ポータルにログインし、管理画面トップ左のメニュー内に Media Services があるのでこれを選択します。

MediaService ホーム画面

メディアサービスの作成

リソースグループ、メディアサービスを作成します。

  • リソースグループ
    Azure 内の異なるサービスをひとまとめに管理するためのグループです。動画配信ではエンコーダ、ストレージ、 CDN などのサービスを横断的に使用するため、専用のリソースグループを作成しましょう。
  • メディアサービス
    ビデオやライブなどを配信するためのサービスです。公式で AMS が略称のようです。

+追加 もしくは メディアサービスの作成 ボタンをクリックすると、メディアサービスの作成ウインドウが開きます。
ここでリソースグループも新規作成することができます。

※今回の内容から外れるので項目ごとの操作は割愛します。

正常に作成されると、 Media Service 一覧に登録されるので確認しましょう。

ライブチャンネルの作成

作成したメディアサービスをクリックすると、配信設定に進めます。

ライブ配信を行うにはここでライブチャネルを作成する必要があります。

ライブチャネル1つにつき同時に1つのライブのみ配信できます。時間をずらせばチャネルを流用して他の配信を行うこともでき、まさに テレビのチャンネル にあたるものです。

ライブチャネルは AMS の管理画面で ライブストリーミング を選択して行います。
今回は 簡易作成 で作成してみましょう。

チャネル名を入力し、「作成後にチャネルを自動的に開始する」チェックが入っていることを確認して作成します。(「課金が始まります」の言葉を見て躊躇しない!)

チャネルが作成されれば、 Insta360からライブ動画の入力ができるようになります。(まだ視聴はできません)

Insta360からの動画配信

Insta360アプリから撮影画面を開きます。

右二つがライブ配信のボタンです。
360°ライブは右から二番目のアイコンで、一番右は FreeCapture ライブというユーザ制御視点の撮影になります。

カメラからは RTMP というプロトコルで Azure に入力します。

撮影画面下部、中央右に配信設定ボタンがあるのでタップ。
その他 を選択すると RTMP 取り込みアドレスの入力欄が現れます。

作成したライブチャネル用の取り込みアドレスは、 AMS の管理画面から確認することができます。

このアドレスをそのまま使用すると取り込めません。 URL の末尾に任意の文字列をつける必要があります。

例)
rtmp://testlive-upftams-jpea.channel.media.azure.net:1935/live/aaaaaaaaaaeeeeeeeeee/exampleStream

また、動画の解像度が高くなるとフレーム落ちが発生してしまいます。1920p のライブ入力では明らかなカクツキが見られました。

設定が終わればカメラから配信する準備は完了です。

ライブを放送するための設定

ライブ動画を Azure に入力することはできたので、いよいよ入力されたライブをブロードキャストするための設定をします。

視聴のためには ライブイベント を作成します。これはテレビの番組の概念に近いものです。

ライブイベントはさきほど作成したライブチャネルの詳細画面から行います。

今回は簡易設定で作成したので、"default"イベントがすでに開始されていました。

イベントが開始されているだけでもまだ準備がたりません。
ストリーミングエンドポイント を割り当てれば、ようやく視聴できるようになります。

まず AMSからストリーミングエンドポイント一覧を開き、 default のエンドポイントを開始します。

次にライブイベントからエンドポイントを割り当てます。

ストリーミング中 と表示されていれば視聴可能な状態です。
HLS や MPEG-DASH 形式を再生できるプレイヤーがあれば、 URL を指定して再生をためしてみましょう。

また、 Azure ポータルからライブイベントの 視聴 ボタンを押せば、プレビュー用のプレイヤーが起動します。
ライブ入力がうまくいっていれば映像が見えるはずです。

終わりに

詳細には触れませんでしたが、わずかな設定で DRM(デジタル著作権管理技術) を有効にした配信も可能です。
動画配信システムを構築すること自体がまれではありますが、この懐の深さこそがクラウドサービスの良さと言えるでしょう。

今回使用した Insta360のような、360°撮影(ライブ配信も)可能なカメラが手頃な価格で手に入るようになっており、 VR 映像を使うハードルは格段に下がってきています。 「サンロク映え」が流行るのを見越して手を出してみてはいかがでしょうか。