作成者:ノン様
ニコニコユーザーページ:https://www.nicovideo.jp/user/7026149
作成日:2020-02-07 08:40
~MMDで、音源開始位置ちゃんと音あわせてるのに
AviUtlでmp4エンコードすると なんか音がズレるって感じる方へ~
AviUtlのVer1.00での検証結果と対策についてまとめました。
MMDで出力したAVIファイルをTDEncでmp4にしたときと
AviUtlのx264でmp4出力したときで音の位置が違い、
AviUtlの方がズレてると以前から感じていたで調べてみました。
AviUtlのみで検証すると、さらに音がズレるので
(AviUtlだけで見ると一見2fr程度ズレてるように見えるが実際はそんなにズレてない)
他のツールも使って次のように検証しました。
使用音源【初音ミク】 Hand in Hand 作詞作曲編曲:kz様
MMD使用wav(音ズレなし)
MMD出力AVI
Audacityで以下のwavを見ました。
上:AviUtlでwavとAVIを1frにそろえ出力mp4→EcoDecoTooL→wav(0.025s遅れ)
中:MMD使用wav(音ズレなし)
下:AVIをTDEncで出力したmp4→EcoDecoTooL→wav(音ズレなし)
それで、TDEncは音ズレしないけど、
AviUtlは0.025s遅れる音ズレができることがわかりました。
30fpsなので、1fr=約0.033sなので、0.025s=約0.75frの遅れです。
次に対策として音声ファイルの再生位置を0.02sにすれば
この音ズレを簡単に小さくすることができることに気が付きました。
そうすると以下のようになりました。
上:AviUtlでwavとAVIを1frにそろえ出力mp4→EcoDecoTooL→wav(0.025s遅れ)
中:MMD使用wav(音ズレなし)
下:AviUtlで音声ファイル再生位置0.02sにして出力したmp4
→EcoDecoTooL→wav(0.005s遅れ)
対策したものは、0.005sの遅れ=0.15frの遅れに抑えることができ
目視でほぼわからないレベルに音ズレを抑えることができました。
結論:
・MMD出力したAVIファイルはAviUtlでそのままx264で出力すると0.75fr音ズレする。
・AviUtlで出力するときは音声ファイル再生位置を0.02sにして出力すると
音ズレを0.15frまで改善できる。
・AviUtlで音源とAVIファイルのフレームを1frずらす方法は
ズレすぎるのでオススメしない。(0.25frズレるので、再生位置調整した方が良いです)
・TDEncでmp4エンコードした動画は音ズレしない。
以上です。
もしなにか間違っていたり、もっとこうした方がいいよ!というのがあれば
教えてくれると助かります!
ノン twitter @none_ta0
コメント
コメントを投稿