パソコン・メモメモ備忘録

気の向くままパソコン関係等で気になることを書き記す。時々更新!

3D ステレオ 撮影 with アクションカム + Smooth-Q 補足

先日撮影した3Dステレオ動画を如何にして見るか、という話の補足。GaerVR の Samsung VR や Occlus Video で見る場合は、MP4 ファイルの SAR 値をいじって、正しいアスペクト比で表示されるようにするのがいいと思ったのだが、勘違い。初めからアスペクト比を変えて縦や横に圧縮したものを並べて、全体として 16:9 になるように作る必要があるようだ。解像度的に、圧縮した方向は半分になってしまうのが残念仕様。

ということで、役には立たないが、 SAR をいじる方法を書いておく。一度作ってしまった mp4 動画は、Yamb というツールでなんとかできる。といっても再 Mux するので、新しくほぼ同じ動画ファイルを作ることになる。再エンコードするわけでは無いので、非力な PC でもそんなに時間はかからないが。Creation > Click to create an MP4.. で、mp4 ファイル を D&D して、該当 mp4 ファイルを選択してから、Properties を開いて、Pixels Aspect Ratio を設定する。ただ、16:9 NTSC とか選んでも駄目っぽくて、Custom で値を設定する必要がある。上下に並べた TopBottom な 1920x2160 ピクセルの動画の場合は 2:1 を設定。普通の動画プレーヤーソフトで再生すると、横長な画像が上下に二つ並んだ状態になるが、GearVR では、SAR を反映しないので、無駄な作業に…(涙)

横に二つ並べた SideBySide なものでも、一応、Occulus Video では、再生時にモードを切り替えれば、3D ステレオで再生できるが、TopBottom だと自動認識されて便利(ファイル名の最後(拡張子の前)に〜_TB を入れる。〜_TB.mp4 みたいに)。Samsung VR アプリの方は、どちらにしても手動でモードを切り替えないといけない。沢山モードがあって結構鬱陶しい。

ちなみに、小生は、二つの動画を並べるのに AVIUTL を使っている。この用途に最適なソフトかどうかは分からないが、慣れているので。拡張編集プラグインを使って、2.7K の mp4 を二つ並べる。おっと、Q3H-2 の撮影動画の mp4 ファイルそのままだと、AVIUTL でうまく読み込めないので、一度 Video Container Changer 等で、再度 mp4 にするか、mkv 辺りにしておく必要がある。2.7K の動画は, 2688x1520 で微妙に 16:9 でないが、71.43% に縮小して、上下を多少削ってフル HD の画像にする。

録画開始時に、映画みたいにカチンコを撮影しておくと、左右のフレーム番号を合わせやすい。フラッシュを光らせる、とかいう手もあるが。AVIUTL の拡張編集プラグインだと、再生開始位置の数字を前後させて、左右の眼の時間タイミングを合わせる。本来は、カメラの録画開始ボタンを正確に同時に押せていれば、ずれないと思っていたのだが…

次に YouTube に 3D ステレオ動画してアップロードする方法も調べてみた。ちなみに、横に左右並べる SideBySide のみ対応とのこと。また、動画ファイルにメタデータを埋め込むらしい。mp4 ファイルの場合と、mkv の場合が、公式ページに方法がかかれている。mkv の方が簡単そうなので、アップロードするファイルは mkv にした。

ffmpeg -i 入力mp4ファイル -c copy -metadata:s:v:0 stereo_mode=1 出力mkvファイル で OK。入力は、mkv じゃなくてもいいっぽい。最初、古いバージョンの ffmpeg を使ったせいで、メタデータが上手く埋め込めず、なんどもアップロードして、失敗して、を繰り返してしまった。最新版をダウンロードすべし。ffmpeg.exe と一緒にダウンロードされた ffprobe.exe で、チェックしてみるのも手。「stereo3d: side by side」と表示される。

ただ、ChromeYouTube のアップロードのページに D&D してアップロードしたのだが、95% 処理済みのまま先に進まなくなる問題が… 別の FireFox からそのページを開くと、無事動画が公開されていたり… なんか謎。video_id を動画の管理画面の動画へのリンクの URL から読み取って、https://www.youtube.com/watch?v=ここに video_id を入れれば、95% で止まっていても再生できるかも。もちろん、アップロード直後は、なんかまだ内部で処理しているようなので、数分から数10分間は待ってからだが。

ブラウザ内での再生では、アナグリフしか対応してないっぽい。残念。スマホYouTube アプリを使えば Cardboard なビューアーで、VR 的に見ることができる。画質は落ちるが、色々な人に見てもらうには、こっちかな。

GearVR 用には、TopBottom で、YouTube 用には SideBySide で、ちょっと面倒。それぞれエンコードしないといけないので。多少の面倒を我慢すれば、SideBySide だけで良いのかもしれない。あとは、PSVR ででも見られるといいのだが。