mkvmerge を使用するとオーディオとビデオが同期しなくなる

mkvmerge を使用するとオーディオとビデオが同期しなくなる

mkvextract を使用して mkv からオーディオとビデオを抽出しました。次に、mkvmerge を使用してそれらを mkv に再結合しました。mkv を再生すると、オーディオとビデオが同期していませんでした。

これらを同期させるにはどうすればよいでしょうか? 元のファイルで mkvmerge を使用して役立つ情報があるかどうかを確認しようとしましたが、何も見つかりませんでした。

答え1

簡単なワークフローは次のとおりです。

  • jボタンを使用して、VLC プレーヤーとの同期がどの程度ずれているかを確認しますk
  • ダウンロードしてmkvtoolnixファイルの追加をクリックします。
  • ビデオ ファイルを追加します。追加したら、オーディオ ファイルをクリックすると、遅延を追加できます。簡単に言うと、- または + を使用して、VLC で調整した遅延を設定します。
  • を押しますmux now。完了です :)

答え2

元のファイルでオーディオ遅延が指定されている可能性があります。mkvmerge GUIを使用している場合は、オーディオトラックの遅延をフォーマット固有のオプションタブ。正の値はオーディオトラックを遅らせ、負の値は早めます(すべてミリ秒単位)。コマンドラインを使用している場合は、-yまたは--sync引数を使用する必要があります。mkvmerge ドキュメント詳細については、 を参照してください。ドキュメントには、一定の遅延を設定するのではなく、ビデオ全体でオーディオの遅延を均等に調整する方法も示されています。

必要なオーディオ遅延を決定するには、Media Player Classic と +/- キーを使用して遅延を決定できます。または、メディア情報ツールを使用して、元のファイルの遅延を確認することもできます。

答え3

コマンドラインの mkvmerge は次のようになります。

mkvmerge --verbose -o output.mkv  -y 1:1000 input.mkv

どこ

  • mkvinfo1 はトラック番号です。または を使用して調べることができますmediainfo(後者はトラック番号に 1 を追加します。つまり、1 から始まる自然なカウントを使用します)。ほとんどの場合、最初のオーディオ トラックの番号は 1 になります。
  • 1000 は MS (ミリ秒) 単位の遅延なので、1000 は 1 秒です。

ちなみに、--verbose何が起こっているのか、なぜ同期していないのかを正確に知るのに役立つかもしれません。

関連情報