スマホで撮影した動画を動画編集ソフトのAviutlで編集するとかなりの割合で音ズレします。
動画と音声の開始時間を合わせれば音が合うんじゃないかと何度か挑戦してみましたが、ダメでした。30秒ごとに映像の方が早くなったり、今度は遅くなったりととにかく一定していないのです。
これを動画編集するとなると大変な労力で10分程の動画を編集するのに4、5時間もかかってしまう程です。
動画編集だけで疲れてしまいスマホの動画撮影を諦めかけていましたが、YouTubeでゲーム実況チャンネルを拝見すると音ズレなしでしっかり動画投稿できている投稿者もいます。
これは何か方法があるのでは?と探していたところ、これが原因なのではと思うようなものを見つけました。
「CFR」・「VFR」
「固定フレームレート (CFR)」と「可変フレームレート (VFR)」です。まずフレームレートって何?というところから見てみましょう。
フレームレートとは
動画の映像は複数の画像の集まりによって自然な動きになっています。パラパラ漫画みないなものです。
そのコマ数、1秒間に何個の静止画が使用されているかというのをフレームレート (fps) という単位で表します。fpsの種類はこのようになります。
- 24fps
- 25fps
- 30fps
- 50fps
- 60fps
このfps数値が高いほど動画が滑らかに、つまり高画質になるわけです。YouTubeは最大の60fpsに対応しているようですが、やはり高画質環境で動画撮影をすればするほど音ズレの原因になってくるようなので僕がスマホでゲームを撮影するときは30fpsで撮影しています。
30fpsだと1秒間に30コマ使っているということ、60fpsだと1秒間に60コマ使っているということです。
「CFR」・「VFR」とは
フレームレートは2種類あります。前述した「固定フレームレート (CFR)」と「可変フレームレート (VFR)」です。
例えば30fpsの動画データなら「固定フレームレート」の場合、常に30fpsのコマ数で一定になります。
それに対し「可変フレームレート」は動画の中でも静止画に近いところはコマ数を少なく (30fps以下) 、アクションシーンなどの多くのコマ数を必要とするところはコマ数を多く (30fps以上) するという種類のフレームレートです。
静止画に近い場面でコマ数を少なくすることで動画データの容量を削減することができます。
この2つのフレームレートの違いによって音ズレという現象が起きていたのです。
音ズレの原因

例えば僕の場合はスマホではAZスクリーンレコーダーというAndroid専用の動画キャプチャアプリを使っています。このアプリもそうですが大抵のスマホの動画キャプチャアプリは「可変フレームレート」の動画データをして保存されるようです。
そのデータをPCに移してAviutlという動画ソフトで編集作業をするわけですが、Aviutlでは編集のタイムラインに動画を読み取った時点で強制的に「可変フレームレート → 固定フレームレート」に変換されます。これが音ズレ原因の元です。
どうすればいいのかというと、Aviutlで読み込む前に「固定フレームレート」に変換、または「固定フレームレート」として読み込んでしまうという方法があるようです。
動画データがどちらのフレームレートなのか確認する方法もありますが続きは次回に紹介したいと思います。