Исправление рассинхронизации в большом длинном видеофайле

У меня есть несколько умеренно больших сжатых видеофайлов (~ 2+ гигабайта, продолжительностью более часа) из нескольких потоков Open Broadcaster Software на Twitch.tv. Все выходные файлы (включая экспорт архива twitch) имеют ужасную постепенную рассинхронизацию звука.

У меня есть разные инструменты для работы со звуком, но все они, похоже, меня подводят. Camtassia Studio едва загружает файлы (иногда просто нет), и, поскольку рассинхронизация происходит постепенно, Camtasia не может реально помочь, поскольку я могу только переместить ВЕСЬ звук.

Раньше я мог решить аналогичную проблему рассинхронизации в Virtual Dub, которая изменяла «частоту кадров» или эквивалентную синхронизацию видео или аудио, чтобы они совпадали по времени. Я сделал это с небольшими 10-минутными файлами AVI, и это работал как шарм. Но Virtual Dub не поддерживает mp4 с h264, и даже после добавления плагина для поддержки VDub он вылетает, когда я загружаю файлы в Virtual Dub.

Есть ли какой-нибудь умеренно простой способ исправить эту аудиосинхронизацию? У меня есть около 6 видеофайлов продолжительностью более часа, поэтому ручная настройка времени с точностью до миллисекунды просто нецелесообразна. У меня есть Camtasia Studio и доступ к любому бесплатному программному обеспечению для x64/32-битных окон, и я также готов купить программное обеспечение, чтобы исправить это, я просто понятия не имею, что я ищу, чтобы заставить это действительно работать.

Как я могу исправить постепенно рассинхронизированный звук в больших видеофайлах?

в меру большой это 2 гига для вас?
@ColeJohnson для окончательного файла файла для загрузки на YouTube он довольно большой, но для исходного файла для редактирования у меня часто будут файлы размером 5-40 ГБ для продолжительности от 30 минут до часа, более 100 ГБ с длинной записью Fraps (но они получают немного сжато/порезано)

Ответы (2)

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

Разделите видео и аудио на отдельные потоки с помощью бесплатного инструмента, такого как AVI-Mux. Загрузите аудио в Audacity и примените временной сдвиг, определенный выше, либо как «новую длину», либо как соотношение (ошибка кадра / общее количество кадров).

Экспортируйте аудио и ремикс, используя новую дорожку.

У меня есть смелость, и я думаю, что у меня есть какое-то программное обеспечение, которое может вырвать аудиопоток. Позволяет ли Audacity редактировать длину звуковой дорожки? Я знаю, что вы можете сдвинуть все это вперед, но как изменить синхронизацию? Звуковая дорожка имеет правильную длину, но не синхронизируется, поэтому простое смещение начальной позиции не исправит ситуацию.
Вы можете сжать или растянуть время в Audacity либо в процентах, либо просто указав новую длину для дорожки или выбранной части. В разделе «Эффекты» измените скорость / темп / высоту тона. Для небольшого дрейфа просто измените скорость и игнорируйте небольшое изменение высоты тона. Изменение темпа при сохранении высоты тона занимает больше времени и может звучать не так хорошо.
О, хм. Есть ли какой-нибудь умный способ узнать, какой процент нужно настроить, или мне просто придется играть в них бок о бок, пока они не станут правильными?
Если это заметно не синхронизировано, что вы замечаете? Найдите место ближе к концу клипа, где вы можете определить отставание или опережение, и отметьте время видео и аудио, где встречаются точки совпадения. Разница во времени, деленная на общее время (либо в виде кадров, либо в виде десятичных секунд), дает процентную ошибку. Или угадайте — если это ошибка типа 30,0 против 29,97, используйте 0,001 в качестве коэффициента, либо плюс, либо минус по мере необходимости.

VirtualDub может манипулировать частотой кадров видео, и для этого есть веская причина. Запись включает в себя кодирование, которое обычно требует больше вычислительной мощности для видео, чем для аудио. Таким образом, видео более подвержено сбоям; вы можете больше доверять правильности длины аудиопотока.

Также кажется, что легче манипулировать видео. VirtualDub может просто дублировать или удалять необходимое количество кадров, равномерно распределенных по длине записи, и человеческий глаз не заметит этих артефактов.

Поэтому я бы порекомендовал найти программное обеспечение, которое может изменить частоту кадров файлов mp4.

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