ベスパリブ

プログラミングを主とした日記・備忘録です。ベスパ持ってないです。

Aviutlで音ズレの直し方

Aviutlで動画編集するとき、二つの動画を同時に重ねあわせた動画を作りたい。例えば、実験映像の画面映像と、カメラ映像を同期した動画を作りたい時がそうである。
しかし、動画の高半になるにつれ、片方の動画に音ズレが発生し、うまく動画が作れないという現象が起きた。それの解決方法を載せる。

原因

Aviutlは固定フレームレート

動画のビットレートには固定フレームレート(CFR)と可変フレームレート(VFR)があるが、どうやらAviutlはVFRに対応していないらしい(たぶん)。なので、元動画をまずCFRに変換することが必要。

オーディオのサンプリングレートを同じにする

片方の動画の音声(オーディオ)のサンプリングレートが48000Hz、もうひとつが44100Hzとかの場合、これらを同じにしたほうが良い。

解決方法

お手元のエンコーダーやらで元動画のフレームレートをCFRに、音声のサンプリングレートを両動画で同じ値にしてやり、Aviutlに読み込ませれば良い。このとき、Aviutl側のサンプリングレートが元動画と異なる場合、また音ズレするおそれがあるので、もう一度新規作成からやり直すことをおすすめする。

使用したツール

Expression Encorder 4

画面を動画でキャプチャーでき、エンコードもできる。

XMedia Recode

動画の拡張子を変えたり(wmv,avi,mp4...)、VFR→CFR変換に使用した。サンプリングレートの変更などもできる。ただし、44100→48000へのサンプリングレートの変更はできない場合があるので、元動画を最初にエンコードするときに設定しておいたほうが良いかもしれない。48000→44100は可能だった。