360度動画のサラウンド再生について勉強する機会があったので、まとめておきます。
Ambisonics アンビソニック 概要
4chのマイクを正四面体の配置に並べて、頭をぐるぐるまわしてパンニングが変わっても再生できるって技術です。
Ambisonicsの概要はこちらが非常にわかりやすいです。
- 徳井直生さん 360度動画のためのAmbisonicsマイクを開発中! 「百見は一聞に如かず」
- サラウンド寺子屋 AMBISONICの原理と制作の実際 1992年 Ambisonic 資料より
実はYoutubeでも、PC版Chrome, Android版で見るとこの方式のオーディオにも対応していました。
Spatial Audio対応の動画リスト。
Youtubeに対応動画をアップロードする方法はこちらにまとまってます。
またAdobe PremiereにVSTプラグインを入れて動画と一緒に書き出すこともできるみたい。
ただ、ただ録音するだけではなく、あとから、効果音や、ピンマイクの音声をVR動画上に配置したいこともあるとおもいます。
そのようの編集には最近Facebookに買収されたこれが良さげ。太っ腹の無料公開。Facebook 360 Spatial Workstation
VSTプラグインで音を配置できて、Ambisonicsの書き出しにも対応しているぽいです。
有料プラグインの中には動画の中に音を配置するかのように使えるProTools用の360panというプラグインもあった
Youtubeとかで対応しているA-Format、B-Formatって?
結構躓くところが、正四面体のマイクで録音した4chそのままは、A-Formatと言われて、そのままではYoutubeへアップロードできないです。
Youtubeへは、1次フォーマット a.k.a. B-Formatへ変換する必要があるらしい
B-Formatの内容
チャンネル | 内容 |
---|---|
W | 位相差のないモノラル成分 |
X | Wに対する左右差成分 |
Y | 前後差成分 |
Z | 上下差成分 |
ポイントは、XYZは、差分成分のみということだなと。
こうすることで、4ch再生対応していない場合は、Wのみ再生すればよくなるみたい。
更にBGMを載せたいってときにWだけに乗せれば良くなったりするんでないでしょか?
4分割より細かい粒度で再現できる高次フォーマットもあり、Youtubeで対応しているのは図の2段目までということ。
動画
360度な映像をThetaなどで撮影してアップロード
YouTubeにメタデータを対応させるには360 Video Metadata ダウンロードってソフトでメタデータをいれてアップロードすると、15分くらいの変換時間のち、ぐるぐる回ったりカードボードで見れる映像になったりします。
メモ: Youtubeから4k動画のダウンロード
youtube-dl -k -f 'bestvideo+bestaudio/best' "url"
で、mkvコンテナに動画4k mp4, 音声 4ch webmで入る。
*mkvフォーマットとは? Matroska - Wikipedia
ffmpegで使いそうなコマンドメモ
結構めんどいのが、あまり4chオーディオはやらないだけあって、ffmpegを色々使うことに。ので使ったコマンドをメモ。
# 4chファイルを1chチャンネルごとに分割 ffmpeg -i sample.webm -map_channel 0.0.0 sample1.wav -map_channel 0.0.1 sample2.wav -map_channel 0.0.2 sample3.wav -map_channel 0.0.3 sample4.wav # 4つのモノラルを、4chオーディオストリームへ合成 ffmpeg -i sample1.wav -i sample2.wav -i sample3.wav -i sample4.wav -filter_complex "[0:a][1:a][2:a][3:a]amerge=inputs=4[aout]" -map "[aout]" output.wav # 動画と音をまとめる ffmpeg -i sample.mp4 -i sample.wav -c:v copy -c:a aac -strict experimental output.mp4
Unityでの再生もやったのですが、長くなったのでひとまずここまでで。