VR180動画作成の流れ
以下の画像から動画に飛べます。
そもそもVR180動画というのは、左右に並んだステレオ超広角カメラからの映像を録画したものである。
YouTubeでは360度動画やステレオ180度動画が再生できる。視点をグリグリしたりできる。
このための動画が撮影できるのがInsta360EVOである。
このカメラを用いてYouTubeにアップするまでの流れは以下のとおりである。
- Insta360EVOで撮影する。
- 公式アプリでinsv形式のファイルからH264のmp4に書き出す。
- 書きだされたファイルをaviutl(1.1.0以降)で読み込み、加工して出力する。
- VR180 Creatorでメタデータを書き込む。
- つべにうp
そこに至るまでの試行錯誤
Insta360EVOの動画にぼかしをかけたいんですが…
動画を公開するにあたり、
例えば人の顔やスピードメーターなど後々トラブルとなりうる情報は予め消しておくほうがいい。
GoProの場合だとmp4が直接出力されるため、編集ソフトは好きなものを使える。
一方Insta360ではinsvという独自のファイル形式になっており、
どのみち一度は公式アプリを通さないとならない。
当然それなら公式アプリでちゃっちゃと作れればいいのだけど、
このような加工は公式アプリではできないという結論に達した。
ので、いったん書き出して別の編集ソフトを使うことにする。
問題になりそうなところとして
- 解像度が高い(5K,5760x2880)
- すなわち動画ファイルの容量が大きい(1分50秒のH264動画で1.5GBくらいになった)
aviutlで編集がしたい
Adobe Premier Pro用の直接読み込みプラグインが用意されているようだが、
このためだけにライセンス購入はかなり高い。
そこでaviutlを使いたいので限界まで頑張ってみる。
メモリが足りない(1.0.0)->1.1.0で解決
aviutl最大の問題点は32bitアプリケーションであり、扱えるメモリの制限がある。
結論としては1.0.0系列ではこの解像度の動画は取り扱えなかった。
システム設定から解像度を6000x4000とかにすると起動時点でメモリ確保に失敗する。
6000x3000だとぎり大丈夫だが読み込むとやはりメモリが確保できない。
そこで、1.1.0rc2を試すことにする。
こちらは扱えるメモリに制限がないためまったく問題なく読み込める。
ちなみに、後述のエンコード時に16GBメモリのマシンでも12GB付近で推移するため、
メモリ自体はあんまり食っていないように見える。
NvEncでエンコードできない(解像度に制限がありどうやってもできない)
x264では1分50秒のエンコードに1時間もかかっている。
パフォーマンスを見ていると純粋にCPUしか使っていない。これはもったいない。
そこでnvencを利用してみるが、ただちに失敗してしまう。
どうやら4096x4096までという制限があるようで、幅が抵触している。残念。
なおInsta360公式アプリはgpuを使ってくれるので爆速でエンコード終了する。
VR180のステレオ動画にうまくエフェクトを重ねられない(未解決)
当たり前なんだけど右目と左目で独立した動画が含まれているため、
ぼかしやモザイクをそれぞれに配置しなければならない。
今回は勘でやっているが、もし両眼で違和感なくやりたいとかなると…
厳密にやろうとするならば投影式と距離から左右の投影点を逆算して配置を決めることになるだろうか。
これは自分でaviutlのカスタムエフェクトを書くしか無いような気がする。
編集済み動画をVR180と認識させるためには
出力された動画はただの左右の同期された映像が含まれるだけのめっちゃでかい動画にすぎない。
これをVR180であると認識させるためにはメタデータを書き込む必要がある。
これはねえ、YouTubeのヘルプがわかりづらいと思うんですよ…
360度動画の場合は以下のページから情報が取得できる。
https://support.google.com/youtube/answer/6178631
VR動画の場合はこちら。
https://support.google.com/youtube/answer/6316263
どちらも、360 Video Metadata アプリを使うとしている。
https://github.com/google/spatial-media/releases/latest
一方、VR180の場合はここにリンクはなく、
VR180 Creatorというアプリが利用できる。
https://vr.google.com/vr180/apps/
動画ファイルにメタデータを埋め込むための機能もある。
VR180動画を編集してみた感想
YouTubeでは5K再生や全方位、ステレオ動画を扱えるのがいい。
カメラの技術向上に対して受け入れる幅が広いというのは純粋にありがたい。
ニコニコ動画だと解像度を落としたりパースペクティブに直したりしないといけないので
凄さが伝わりづらいというところがある。
一方コミュニケーションツールとしてはニコ動のほうが優れていると思う。
中間ファイルが大きくなりすぎる
結局、オリジナルの動画ファイルに加えて
変換済みのmp4,編集済みのmp4,メタデータを書き加えた最終成果物、
というファイルが出力される。
中間生成物たる動画ファイルのサイズは最終成果物の2倍もある。
エンコードに時間がかかりすぎる
NvEncが使えないのは痛い。
高解像度故に時間がかかるから時短をしたいのに、
高解像度故にgpuが使えずにより時間がかかるというのは悪循環。
左右の視差を考慮した配置決めがしたい
equirectangularの投影式を用いて距離を適当に与えればできなくはないとは思う。
Insta360EVOのマイクは時速40km以上では何の役にも立たない
ゴオゴオ音とともに、ピィィィという高周波のものすごい風切音が混入してしまう。
しかも周波数解析してみたが各周波数帯にまんべんなく含まれており、
単純にBPFでは切れないことがわかった。
正直レビューのために残しておこうかと思ったのだけど
長時間聞いていると体調悪くする可能性のある音であったため、無音の動画となった。
これはマイクの位置が非常に悪く、左右のレンズの下、若干外側にマイク穴がある。
これだと風防をつけるとレンズに写り込んでしまう。