音ズレの訪れ
TwitterやYouTubeを見ていると音ズレしている動画をよく見かけます。
FPSや音ゲーの動画で音ズレしてたら見る気もなくなると言うものです。
なので今回は音ズレの原因とその解決方法を簡単に書いていきたいと思います。
音ズレの原因
スペック不足
CPUやGPUのスペック不足、SSDやHDDの劣化や故障が要因となり起こります。
ただ、FPSをやっている時点でこれらの原因はあまり考えられませんし、SSDやHDDの健康状態はこちらから確認することをお勧めします。
レンダリングソフトの不具合
AviUtl、Adobe After Effects、Sony Vegas Proなどの動画編集を行うソフトウェアのエンコードが原因で起こります。
エンコードやレンダリングに関する深い知識が私にはありませんが、AviUtlではエンコードの設定が煩雑で知らない間に原因を作っている可能性があります。
NVIDIA ShadowPlayの可変フレームレート
私が見ている限りこれが一番多く、録画ソフトによる原因です。
可変フレームレート (VFR: Variable Frame Rate) とは、動画を通してフレームレートが一定でないものを指し、一般的な録画ソフトが固定フレームレート (CFR: Constant Frame Rate) で録画するのに対し、ShadowPlayではVFRの形式を採用しています。
多くの動画編集ソフトはVFRの編集に対応しておらず、そのままタイムラインに乗せたりアップロードをすると音ズレの原因になってしまいます。
デメリットばかりのVFRのようですが、1フレーム毎に適切なフレームレートを割り当てているため動画を綺麗で滑らかに見ることが出来、ファイルサイズもCFRに比べかなり小さくすることができるという点でメリットもあります。
音ズレの対策
スペック不足とレンダリングソフトの不具合に関してはケースバイケースで一概に解決策を提示することは出来ません。以下はNVIDIA ShadowPlayの可変フレームレートによる音ズレの対策を書いていくので悪しからず。
Avidemuxを使う
Avidemuxは簡易的な動画編集が出来る無料のソフトウェアです。
使い方は簡単で、
- ShadowPlayで録画した動画を読み込む。
- 使用したい部分を選択 (画面下部のAで開始点、Bで終了点) する。
- Output Formatの部分をMP4 MuxerまたはMP4v2 Muxerにする。
- 動画を保存する。
複数の動画をつなげることが出来ないのが玉に瑕ですが、書き出しが一瞬で終わり、劣化も少ないので優秀なソフトウェアです。Deleteキーを用いて選択部のカットも出来ます。
ダイジェストやフラグムービーを作る際、効率よく作業をしたいという方は私も使っている以下のショートカットキーを用いると良いかと思います。
- Output Formatの設定: マウスで
- 動画の読み込み: Ctrl+O
- 使用部分の選択: Ctrl+PageUp (開始点) 、"Ctrl+PageDn" (終了点)
- 動画の保存: Ctrl+S
- 読み込み中の動画を閉じる: Ctrl+W
- 手順2へ
点順2と点順4ではそれぞれ前と同じディレクトリを参照するので、元動画を全て同じディレクトリに入れておくと良いでしょう。
また、Output Formatについては点順5によってアプリケーション自体は開かれているので、最初に設定しておくだけでよくなります。
Handbrakeを使う
Handbrakeは動画の形式変換に特化したソフトウェアです。
無劣化でVFRをCFRに変換することが出来る数少ないソフトウェアの一つです。
ただ書き出しにある程度時間がかかり、カット等の編集ができないので高度な編集をする方以外にはオススメしません。
使い方自体は簡単です。
- ShadowPlayで録画した動画を読み込む。
- "Video"タブからFramerateをConstant Framerateに変更。
- 同じタブでQualityを0に設定。
- 画面上部のDestinationから保存先のディレクトリと保存名を選択。
- Startを押し書き出し開始。
大まかに以上の流れで書き出しが可能です。
このソフトの良いところは、無劣化という点と、高度な設定が可能ということです。
連続して作業をする場合、毎回書き出し作業をするAvidemuxと違い、キューに保存することで例えば外出中に一気に書き出しをすることが出来ます。
また、保存名のフォーマットをデフォルトで設定できるので手順4はスキップすることが出来、まとまった作業を効率化することが出来る点は評価できます。
総括と余談
Avidemuxを使ってもらえると動画編集してる側は嬉しいです。
余談ですが、下のようにファイル名は全て英数字、スペースの代わりにアンダーバーで渡してもらえるとプログラム回して作業する時に便利なのでありがたいかも。