【YouTube Live】PROJECT EMOTION 360° Gallery の制作
2021/5/1~9の9日間にかけて「PROJECT EMOTION - 世界最大のNFTアート展示会」が YouTube Live にて開催されました。
こちらの配信のために、総再生2時間に及ぶ360°動画の制作と、AWSを活用した配信環境の構築をした話を書きます。
遷移ジェットストリーム
3月に公開していた「遷移ジェットストリーム / Pizuya's Cell」のMVが今回のPROJECT EMOTION の世界観に採用されています。
NOKIDさんが前作「匪石之アイデアル」の360°MVを見て興味を持っていただいたのが今回の話の発端です。
NOKIDさんとの初回コンタクトが3/22。
ここから怒涛の一か月を迎えます。
360°映像の量産作戦
まずはギャラリーのプロトタイプを制作。
最初はこのように自分の位置は固定された映像でしたが、最終的にはメリーゴーランドのように動く映像に決まりました。
このタイミングで量産のために必要な時間がおおよそ計算できたのですが、5分の映像をレンダリングするのに10時間。
最終的に必要な映像は120分。
絶え間なくレンダリングし続けても10日。
作品募集の締め切りは4/22。
つまり配信までに残された作業期間は一週間。
クソ真面目にレンダリングするととてもじゃないけれど配信に間に合わないので、3D背景と作品ギャラリーを分けてレンダリングする作戦に切り替えました。
まず、3D背景のみの映像をpng連番で書き出します(このpng連番だけで18GB…すでにしんどい)。
次に、3D背景の上に作品ギャラリーを重ねて2回目のレンダリングをします。ギャラリーの画像データは連番フッテージで読み込み、コントローラーレイヤーのスライダ制御に先頭インデックスを指定するだけで全イラストが差し替えできるようにエクスプレッションをこねこねしておきます。
この手順だと、2回目のレンダリングは2時間程度で済むようになりました。また、1回目のレンダリングには Element 3D などのプラグインが必要になりますが、2回目はAEの標準機能だけで書き出せるため、人海戦術でゴリ押しできるようになりました。
配信日までの一週間はNOKIDのクリエイターさんにも協力いただき、25本のギャラリー映像を揃えることができました。
(ただし、今回は一部前後関係が解決されない箇所が残ってしまいました。デプスを出力してマスクする等のやり方はあったと思いますが、今回は影響が少ないと判断し、スルーしました。)
360°配信環境をAWS上に構築
次は360°映像を24時間配信し続けるサーバーを構築します。Pizuyaの24/7配信ではレンタルサーバを借りて構築したのですが、事前のテストで360°の配信にはGPU付きのサーバーが必須であることが発覚しました。
GPU付きのレンタルサーバは、どれも初期費用だけで3桁万円(たけー)。
今回は9日間だけ使用したいので、従量課金のAWSを使って構築することにしました。
素のGPU付き windows server インスタンスを立てて、GPUドライバを入れて、という手順で進めたらなぜかOBSがGPUを認識せず。
どうやらAWSのGPUドライバはいくつか種類がある模様(計算用、ゲーム用、グラフィックス用など)。
ドキュメントを見ていくと、「Marketplaceからすでにドライバが入ったAMIを取ってこい」と書いてあったので、ちょうど数か月前からnvidiaが提供を開始した「Cloud XR AMI」を利用することにしました。
https://aws.amazon.com/marketplace/pp/B091MTLS66
すでにグラフィックス用のGPUドライバがインストールされており、OBSも問題なくGPUを認識。
あとは普通にOBSで配信するだけですが、テスト配信をしていると、天と地に謎の黒い穴が空いていることを発見。
(実際の映像ではないですが,こんな感じに穴が空いていました)
一方 YouTube Live の配信画面では「推奨されないアスペクト比になってるよ!」との警告。
結論から言うと、アスペクト比が2 : 1だった動画を16 : 9に変換すると謎の黒い穴と警告が消えました(通常の動画投稿では2 : 1でも黒い穴は出ません)。
結局25本の動画を再度AEに放り込んでVRコンバーターをかけて再レンダリングするという作業に見舞われました。mp4 to mp4のレンダリングはできればやりたくなかったですが、背に腹は代えられませんでした。
配信本番
特に配信が長時間停止するようなことはなく、9日間の配信を終えました。
もともと5日間で予定されていた配信が9日間に延長決定したタイミングでBGMの差し替えを行った以外は、サーバーに入って作業することもほとんどありませんでした。
実はサーバーは同じものを2台構築しており、1台は YouTube Live のバックアップサーバーへ配信することで、一方が止まればもう一方に勝手に切り替わるようにしていました。このおかげで、夜も安心して眠れました。
最後に
平日は仕事、土日は博士の研究も進めながらよくやったと思います(一瞬体調崩しかけましたが)。
次は自由に3次元空間を歩き回りながら作品を楽しめるシステムを構築してみたいと思っています(バーチャルイベントを実施できるサービスは既にいくつありますが,技術力向上の目的も含め自力でどこまでできるかチャレンジ)。
Pizuya's Cell のホームページに代わる、ホームワールドを作れたらいいなと思っています。
また、今回のイベントのキーワードであったNFTについてはあえて言及しませんでしたが、こちらも今後注目される技術だと思いますので、アンテナを張っていきたいです。
おわり