FFmpeg Cookbook
EN

音ズレ補正ツール

音が映像より早い・遅いときに、音声をミリ秒単位でずらして合わせます。映像はコピーするだけなので画質は変わらず、処理も速く終わります。

動画はサーバーに送られません
動画をドラッグ&ドロップ、またはタップして選択
MP4 / MOV / MKV / WebM など、最大 500MB
—
—

音声をどれだけずらすか設定してください。

プラスは音声を遅らせます(音が早すぎるとき)。マイナスは音声を早めます(音が遅れているとき)。本ツールは一定のズレを補正します。再生位置によってズレ量が変わる場合はドリフトです(下の音ドリフト記事を参照)。
処理中… 0%

対応する FFmpeg コマンド

現在の設定に対応するコマンドラインです。設定を変えるとリアルタイムで更新されます。

ffmpeg -i in-1.mp4 -filter_complex "[0:a:0]atrim=start=0,asetpts=PTS-STARTPTS[a]" -map 0:v:0 -map "[a]" -c:v copy -c:a aac -b:a 192k -movflags +faststart -avoid_negative_ts make_zero out-1.mp4

使い方

  1. 動画をドロップMP4・MOV・MKV・WebM などを選びます(500MB まで)。音声トラックがあるかを先に調べます。
  2. オフセットを設定プラスは音声を遅らせます(音が早いとき)。マイナスは音声を早めます(音が遅いとき)。ボタン・スライダー・数値入力のどれでも設定できます。
  3. 適用して確認「音声オフセットを適用」を押し、結果を再生してタイミングを確かめます。合わなければ値を変えてやり直します。

おすすめ設定

画面録画でリップシンクが少しズレる
±100〜300 ms を試してプレビュー・調整
小さい値から試し、再生して確かめながら調整します。
音が映像より明らかに早い
プラスのオフセット(音声を遅らせる)
先頭に無音を足すだけなので、音声は削られません。
音が映像より遅れている
マイナスのオフセット(音声を早める)
音声の先頭を切って、早く始まるようにします。

うまくいかないとき

ズレが一定でなく、進むほど大きくなる

原因:ドリフトと呼ばれる状態です。音声と映像の時計がわずかに違う速さで進んでいるときなどに起きます。

対処:一定量ずらすだけでは直りません。音ドリフトの記事の方法を使います。

「ずらす音声がありません」と出る

原因:動画に音声トラックがありません。

対処:音声の入った動画を選んでください。

.mov / .webm で変換に失敗する

原因:映像をコピーして MP4 に入れるため、MP4 に入らない形式の映像(WebM の VP8、MOV の ProRes など)では失敗します。

対処:先に H.264 の MP4 に変換してから、もう一度試します。

よくある質問

どちらにずらせばいい?

音が動きより先に聞こえるなら、音声を遅らせます(プラス)。音が後から聞こえるなら、早めます(マイナス)。

画質は落ちる?

映像はコピーするので、画質は変わりません。音声は AAC(192kbps)に再エンコードします。

最初は合っているのに後半でズレる場合は?

それはドリフトです。一定量ずらすだけでは直らず、音声の速さを補正する必要があります(音ドリフトの記事を参照)。

コマンドラインでやるには?

遅らせる場合: `ffmpeg -i input.mp4 -filter_complex "[0:a:0]adelay=300:all=1[a]" -map 0:v:0 -map "[a]" -c:v copy -c:a aac output.mp4`。早める場合は、フィルタを `atrim=start=0.3,asetpts=PTS-STARTPTS` に置き換えます。

くわしい説明(設定の意味・制限・FFmpeg のコマンド)

設定の意味

プラスのオフセット(遅らせる)
`adelay` で音声の先頭に無音を足します。音が映像より早いときに使います。音声は削られません。
マイナスのオフセット(早める)
`atrim` で音声の先頭を切ります。音が映像より遅いときに使います。動画の長さを読み取れないファイルでは使えません。
出力
MP4 です。映像はそのままコピー(`-c:v copy`)し、音声は AAC 192kbps に再エンコードします。

使えるブラウザと制限

  • 直せるのは一定のズレだけです。だんだん大きくなるズレ(ドリフト)は直せません
  • 音声トラックが複数あるときは、先頭の 1 本だけが残ります
  • 入力は 500MB まで。出力は MP4 です(映像は元の形式のままコピー、音声は AAC)

同じ処理を FFmpeg のコマンドで

音声を300ms遅らせる
ffmpeg -i input.mp4 -filter_complex "[0:a:0]adelay=300:all=1,asetpts=PTS-STARTPTS[a]" -map 0:v:0 -map "[a]" -c:v copy -c:a aac -b:a 192k -movflags +faststart output.mp4
音声を300ms早める
ffmpeg -i input.mp4 -filter_complex "[0:a:0]atrim=start=0.3,asetpts=PTS-STARTPTS[a]" -map 0:v:0 -map "[a]" -c:v copy -c:a aac -b:a 192k -movflags +faststart output.mp4