スマートフォンで撮影した動画をGyroflowで手振れ補正しようとして失敗した時の顛末

以前から自分で撮影した動画の手振れが気になっていて、それを補正する方法を模索しています。

Gyroflowとは

Gyroflowとは動画撮影後にジャイロデータを利用して動画の手振れ補正を補正する無料ソフトウェアです。

利用できるジャイロデータ

Gyroflowに対応したジャイロデータはGithubのGyroflowのページに掲載されています。手振れ補正を効かせる対象よりも、このジャイロデータの対応が大切になります。

SONYのいくつかのミラーレス一眼や、GoProなどが並ぶそのリストの中に、スマートフォンのアプリ名もいくつか書かれていました。ここで私はスマートフォンで撮影した動画も、同時にジャイロデータが記録されていれば、そのジャイロデータをもとに動画の手振れが補正できるのではないかと考えました。

カメラによっては撮影された動画ファイルにジャイロデータが含まれるものがあるらしく、対応モデルであるならそのジャイロデータを使用するか、手振れ補正したい動画ファイル以外にジャイロデータがある場合はそのような外部のジャイロデータでも対応モデルのジャイロデータなら対象ファイルの手振れ補正が可能、なのだそうですが、私はうまく手振れ補正をかけることができませんでした。

ジャイロデータを記録するアプリ

私が使うAndroidで使用できて、ジャイロデータを記録できるアプリはいくつか記載されているのですが、Sensor LoggerおよびSensor Recordしか私が持つデバイスには対応しておらず、それらで試してみました。

Sensor LoggerもSensor RecordもジャイロデータをCSV形式で出力することができるアプリです。

まず、どちらかのアプリを起動してジャイロデータの記録を開始し、その後すぐにカメラアプリを開いて動画を撮影し、動画の撮影が終了したらまたそのアプリに戻ってジャイロデータの記録も終わらせました。そして動画ファイル(mp4)とジャイロデータ(CSV)を共にパソコンに移し、Gyroflowで補正を試みてみるという手順で行いました。

Gyroflowは動画ファイル、レンズプロファイル、ジャイロデータが必要

Gyroflowで手振れを補正する場合、最初に動画ファイルを読み込み、その次にレンズプロファイルというのを選択するか自分で作らなくてはなりません。すでに誰かが作ってくれているもので流用できるものがあれば良いですが、なければ自分で作ります。自分で作るのもそんなに難しくなく、表示されたパターンを動画に撮影して読込、自動キャリブレーションをすれば完了です。

Gyroflow
Gyroflow

レンズプロファイルを選択したら次はジャイロデータを読み込みます。ここでCSVデータを読み込むわけですが、なぜかSensor Loggerで記録したジャイロデータは、アプリ上では見えていたのにGyroflowでは使用できませんでした。

Gyroflow
Gyroflow

Sensor Recordで記録されたジャイロデータは無事に読み込むことができました。しかし、同期ポイントが見つからないということで使用することができませんでした。

そうして八方ふさがりとなり、Gyroflowによるスマホで撮影された動画ファイルの手振れ補正は失敗に終わりました。

失敗した理由

チュートリアルが少ない中でいろいろと試行錯誤したのですがダメでした。考えられる理由を以下にまとめておきます。

考えられる理由1:スマホが壊れている

私が使用しているスマホは4および6年前に発売されて、ほぼその直後から使用しているZenfone 3とZenfone Max Pro(M1)なので、もしかしたらセンサー類が故障しているかもしれません。そのため、正常に記録されていない可能性があります。

個人的にはこれを一番疑っています。

考えられる理由2:記録の仕方を間違った

Sensor LoggerにしてもSensor Recordにしても英語のアプリなので、使用方法を間違った可能性も全くないわけではありません。

いや、たぶん間違ってはいないと思っているのですが、失敗した手前、どうしてもいろんなことを疑ってしまいます。

考えらえる理由3:設定を間違っている

ジャイロデータがちゃんと記録されていたと仮定した場合、読み込んでからの設定の方法が間違っていた可能性もあります。ただ読み込んで右上の自動同期を押すだけで基本的にはOKのはずなのですが、何か見落としている設定などがあるのかもしれません。

考えられる理由4:実は条件によって対応していない

YouTubeなどにアップされているハウツー動画を見ても、スマホアプリによって記録されたジャイロデータで手振れ補正をかけている例は見つけられませんでした。

そもそもそんなことをしようと考える人は少数なのかもしれません。そこで思ったのが、一応特定の環境下でテストした際は無事に手振れ補正ができたけど、それは極々一部の環境だけで、実はほとんどの場合にスマホアプリのジャイロデータでは手振れ画補正ができないのではないかと言うこと。ん~でも真相はわかりませんね。

最後に

動画撮影をしているとどうしても手振れが気になります。ジンバルを使えばかなり手振れが抑えられるようですが、SONYのCatalyst Browseや今回のGyroflowなどを用いた手振れ補正もかなり強力に手振れ補正が抑えられるようだったので挑戦してみました。

現状、スマホアプリのジャイロデータから動画ファイルの手振れを抑える方法は思いつきませんが、いずれまた別の方法でGyroflowによる手振れ補正は試してみたいと思っています。