360動画とAmbisonicsをFacebook live 360でライブ配信

こんにちは。

実はFacebookは2017年に360動画のライブ配信機能の提供を開始し、それとともに1st Order Ambisonics音源の対応も開始しました。

facebook360.fb.com

大学のTA活動で、先生から現在の音楽ライブ技術について調べるように言われ色々調査してたら、Facebookがこんな機能をだいぶ前に発表してたことに気づきました。

しかしながらどのように設定すれば、360動画とAmbisonicsの同時配信ができるようになるのか、日本語での解説がないだけでなく、英語であってもきちんとした解説がない状況で、あまり活用されていないような感じがしたので、ここでこの形式での配信セッティングの一例を紹介したいと思います。

ストリーミングのためのセッティング

ここでは一例として、Ricoh Theta Vと ZOOM H3-VRをつかった機材セッティングを紹介します。

必要な機材

  • 360度カメラ (PCに外部カメラとして映像を転送できるものであればなんでも大丈夫だと思います)
  • Ambisonicsマイク (USBマイクでも普通キャノンで接続するマイクでもなんでもOK、ただFacebookはFOAしか対応してないのでHOAマイクを使ってもあまり意味ないです[持っている人なんてあんまりいないけど])
  • それなりのグラフィックを処理できるPC (4KストリーミングなのでそれなりにGPUパワーを使います)
  • OBS (映像と音声をマージしてFacebookに転送するために使うソフト)
  • FFmpeg
  • 安定したネットワーク回線
    f:id:RAInekie:20210508051137j:plain
    筆者が試したデバイス構成。これを音楽ライブの適当な位置に置いていくつかの設定をすることで、気軽に360度+Ambisonicsのライブ配信ができる

OBS設定

このストリーミング構成では、カメラとマイクをOBSで認識させそれをFacebook live 360でサポートしているフォーマットに変換し、それをRTMPFacebookに送ります。 このFacebook live 360でサポートしているフォーマットというのが厄介で、 flv containerで、4ch aac audio codec と x264 video codecでないとFacebookは360動画+Ambisonicsとして認識しません。

Audioの設定

  1. OBSのAudio設定を変更

OBSのSettingからAudioタブに行き、GeneralのChannelsを4.0chに変更する。

f:id:RAInekie:20210508050134p:plain

  1. OBSのAudio Output設定を変更

Setting > Output > Audioに行き、一番上のOutput ModeをAdvancedに変更。そして、Ambisonicsマイクが入力されるTrackのAudio Bitrateを適宜変更。OBSのリファレンスでは 64kbs*channel数がCDクオリティのビットレートだそうで、4chセッティングの場合は256kbs以上がおすすめみたいです。

f:id:RAInekie:20210508050256p:plain
赤い枠線のところを設定するとbitrateが変更できる

Videoの設定

  1. ストリームプラットフォームの選択

Setting > Streamを選択し、ServiceをCustom...に変更。下のふたつは後ほど設定します。 f:id:RAInekie:20210508050418p:plain

  1. 映像の解像度の設定

Setting > Videoで、Base ResolutionとOutput Resolutionを以下の値に変更。これは環境や映像デバイスによって変化すると思います。

  • Base Resolution : 3840x1920
  • Output Resolution : 3840x1920 f:id:RAInekie:20210508050447p:plain

映像フォーマットの変更

  1. 各種フォーマット設定

Setting > Output > Recordingで以下のように設定する。

  • Type: Custom Output (FFmpeg)
  • FFmpeg Output Type : Output to URL
  • File path or URL : rtmps://live-360.facebook.com:443/rtmp/
  • Container Format : flv
  • Video Encoder : h264_amf (libx264) <- どこかにx264と書いてあるものだったらなんでもOKです
  • Audio Encoder : aac f:id:RAInekie:20210508050537p:plain

OBSのSource設定

H3-VRとTHETA VをOBSで認識させる。どちらも環境によってはドライバが必要かもです。公式サイトからダウンロード可能です。 f:id:RAInekie:20210508050736p:plain H3-VRはデバイスの設定でAmbixでレコーディングされているかを確認してください。

THETA Vは以下のような設定になっているか確認してください。 f:id:RAInekie:20210508050812p:plain

Facebook live 360の設定

Streaming設定

Facebook live 360に行き、以下のように設定する。

  • Get Started : Use Stream Key

Settings > Stream

  • Broadcast this as a spherical video : On
  • This broadcast has Audio 360 (ambix4) : On

URLとKeyの取得

上の設定をした後に、右側にあるLive Stream SetupのServer URLとStream KeyをOBSのSetting > Streamに貼り付ける。

最終チェック

OBSのメインウィンドウの右下あたりにある、Start Streamingを押すと、映像がFacebook側に送信され、Facebook liveのページに映るとOBSの映像と同じものがFacebook上にも写っていることが確認できると思います。

f:id:RAInekie:20210508050036p:plain
OBSの動画を受信したFacebook画面

最後に

このような設定をすることで、Facebook accountと機材を持っていれば誰でも360動画とAmbisonicsの同時配信ができるようになります。

またOBSのドキュメントでも言われているように、ambisonics音源はマイクからの直接入力だけではなく、Reaperなどを使ってambixフォーマットの音源をライブミックスし、それをOBSに送ることで、よりクオリティの高い音源のライブ配信をすることもできます。

ぜひトライしてみてください!

参考文献

Wiki - Surround Sound Streaming And Recording | OBS

Let's live stream in 4K using RICOH THETA V | RICOH THETA