2 августа 2013 г.

Что делать при рассинхронизации аудио и видео в MPEG-2? (1)

Лежат у меня много лет пару видео-кассет со свадьбы. И решил я их оцифровать. Оцифровка предполагала  либо создание видео-DVD, либо создание MPEG-2 файлов. Я выбрал второй вариант, так как он дает больше контроля над видео.

Если видео с первой кассеты было нормальным, то со второй - получилось рассинхронизированным с аудио-дорожкой. В начале этого видео отставание звука незаметно, а вот к концу - отставание составляло около 5 секунд.

Соответственно возник вопрос: как видео и аудио синхронизировать. Интернет наш друг. Но кучи вариантов, которые я узнал, либо не работали в моем случае, либо мне не подходили.

Например, мне было важно, чтобы файл в формате MPEG-2 остался в том же формате. Поэтому варианты с VirtualDub'ом мне не подходил - он не умеет сохранять в формате MPEG-2, а перекодировку аудио и видео я делать не хотел.

Но видео я все-таки синхронизировал. И теперь хочу поделиться информацией, о том как я это сделал.


Общий подход


Подход, который я выбрал, как мне кажется логичен и понятен:
  1. Извлечь из MPEG-2 файла отдельно видео и отдельно аудио (2).
  2. Обработать аудио так, чтобы оно шло синхронно с видео (3, 4, 5)
  3. Собрать файл обратно из оригинального видео и обработанного аудио (6).
Для каждого шага я использовал разные приложения. Некоторые из них коммерческие, но пробный период не имеет ограничений и позволяет честно достигнуть цели :)

О каждом шаге я поговорю отдельно в нескольких сообщениях. И дальше я расскажу, чем я делал демаксинг (demuxing), то есть извлечение видео и аудио дорожек в отдельные файлы.

(продолжение следует...)

Комментариев нет:

Отправить комментарий