Рассинхронизацию губ и ИИ озвучки исправляют путём сдвига аудиодорожки относительно видеодорожки или пересчёта скорости воспроизведения в видеоредакторе. Используйте временной сдвиг (delay) в миллисекундах или переэкспортируйте видео с корректной скоростью кодека.
Причины проблемы
- Аудиофайл ИИ озвучки сгенерирован с отличающейся частотой дискретизации (sample rate) от видео
- Видеофайл содержит B-фреймы (bi-directional frames), которые вызывают задержку обработки
- Временная метка (timecode) видео и аудио не совпадают при импорте
- Скорость видео была изменена, но аудио остаётся в исходной скорости
- Видеокодек использует переменный битрейт (VBR), что создаёт микросдвиги синхронизации
- ИИ модель озвучки обработала текст с опережением на доли секунды относительно видеомонтажа
Пошаговая инструкция
Способ 1: Сдвиг аудиодорожки в видеоредакторе (DaVinci Resolve, Premiere Pro)
- Откройте проект в видеоредакторе и загрузите видеодорожку с несинхронной озвучкой.
- Правой кнопкой мыши нажмите на аудиодорожку ИИ озвучки на шкале времени.
- Выберите
Audio DelayилиShift(в зависимости от ПО). - Введите значение сдвига в миллисекундах (например,
+120 msдля опережающей озвучки или-80 msдля отстающей). - Воспроизведите фрагмент и убедитесь, что губы синхронны со звуком.
- Если результат неудовлетворительный, увеличивайте или уменьшайте значение шагами по 10–20 мс.
- Экспортируйте видео с синхронизированной аудиодорожкой через меню
File→Export.
Способ 2: Переэкспорт видео с исправлением скорости (FFmpeg)
- Откройте командную строку или терминал (Windows:
cmd, macOS/Linux:Terminal). - Перейдите в папку, где находятся видеофайл и аудиофайл озвучки.
- Выполните команду для сдвига аудиодорожки:
ffmpeg -i video.mp4 -itsoffset 0.12 -i audio.wav -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 output.mp4(где0.12— сдвиг в секундах, измените на нужное значение). - Дождитесь завершения обработки (сообщение
muxing overheadозначает успех). - Проверьте результат в видеоплеере.
- Если синхронизация не идеальна, повторите команду с другим значением offset.
Способ 3: Регенерация озвучки с корректной синхронизацией
- Определите точный тайминг каждого слова в исходном видео (используйте временную линейку видеоредактора).
- Если озвучка генерируется ИИ-моделью (например, через API), передайте в неё metadata с временными метками слов из видео.
- Убедитесь, что модель учитывает параметр
timing_offsetили аналогичный в документации ИИ-сервиса. - Переэкспортируйте озвучку с новыми параметрами и загрузите её в видеоредактор без дополнительного сдвига.
Часто задаваемые вопросы
Какое значение сдвига выбрать первым? Начните с 100 мс и проверяйте на визуальном совпадении открытия рта с началом звука первого слова озвучки.
Почему синхронизация рассыпается во второй половине видео? Это признак ошибки в скорости кодека; переэкспортируйте исходное видео с постоянным битрейтом (CBR) вместо переменного (VBR).
Потеряется ли качество видео при сдвиге аудио в редакторе? Нет, сдвиг только изменяет временную отметку дорожки без перекодирования видеопотока, если вы экспортируете с Copy codec.