Рассинхронизация звука и видео при использовании mkvmerge

Рассинхронизация звука и видео при использовании mkvmerge

Я извлек аудио и видео из mkv с помощью mkvextract. Затем я использовал mkvmerge, чтобы объединить их обратно в mkv. Когда я воспроизвел mkv, аудио и видео были рассинхронизированы.

Как мне объединить их так, чтобы они были синхронизированы? Я пытался найти какую-нибудь полезную информацию, используя mkvmerge в исходном файле, чтобы посмотреть, есть ли там какая-нибудь полезная информация, но ничего не нашел.

решение1

Вот простой рабочий процесс:

  • Узнайте, насколько велика рассинхронизация с проигрывателем VLC, используя кнопки jи k.
  • Загрузите mkvtoolnixи нажмите «Добавить файл».
  • Добавьте ваш видеофайл. После добавления нажмите на аудиофайл, и теперь вы можете добавить свою задержку. Проще говоря, используйте - или + и какую бы задержку вы ни использовали с vlc.
  • Нажмите mux now. Готово :)

решение2

Возможно, что в исходном файле указана задержка звука. Если вы используете mkvmerge GUI, вы можете изменить задержку аудиодорожки вПараметры форматаtab. Положительные значения задерживают звуковую дорожку, отрицательные значения продвигают ее вперед (все в миллисекундах). Если вы используете командную строку, вам нужно использовать аргументы -yor --sync. Смотритедокументация mkvmergeдля получения подробной информации. В документации также показано, как равномерно масштабировать задержку звука по всему видео (вместо установки постоянной задержки).

Чтобы определить необходимую вам задержку звука, вы можете использовать Media Player Classic вместе с клавишами +/- для определения задержки. В качестве альтернативы вы можете попробовать использовать инструмент информации о медиа, чтобы увидеть, какая задержка была в исходном файле.

решение3

В командной строке mkvmerge это выглядит так:

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

где

  • 1 — это номер трека, его можно узнать с помощью mkvinfoили mediainfo(последний добавляет 1 к номеру трека, т.е. использует естественный подсчет, начиная с 1). В большинстве случаев это будет 1 для первой звуковой дорожки.
  • 1000 — это задержка в мс (миллисекундах), то есть 1000 — это 1 секунда.

Кстати, --verboseэто может помочь вам выяснить, что именно происходит и почему все рассинхронизировано.

Связанный контент