Синхронизация видео и звука (1 онлайн

alexey_ko

New Member
8 Апр 2025
11
1
3
54
Подскажите, пожалуйста, как решить проблему. Я совсем новичок (пользуюсь ПК и Windows), много чего перечитал по теме, но всё как-то очень, ну просто чересчур сложно, не могу поверить, что нет простого решения.
Суть - у меня есть 2 видеоролика со звуком. Если смотреть на свойства роликов, то один ролик имеет частоту кадров 23,98 кадр/сек, а второй 24 кадр/сек. Мне надо аудиодорожку из первого ролика вставить во второй. Так чтоб к концу просмотра не набегал рассинхрон аудио и видео, полагаю, вызванный разницей в числе кадров.
Подскажите, пожалуйста, как можно решить эту задачу и возможно ли это в принципе некой настройкой в каком-то ПО, перекодировкой аудиодорожки еще как-то?
 
Я в этом не профи совершенно, но так как все молчат.. Рассинхрон из-за чуть разной частоты тактовых генераторов ваших рекордеров, которая всегда будет. Подгоняется потянув за границу клипа в видеоредакторе. В Вегасе надо, кажется, альт зажать? - уточните. А вообще это тут наверное оффтоп, потому может и тишина.
 
  • Like
Реакции: alexey_ko
@alexey_ko, можно сделать проще, загрузите ролик 23.98 к/с в редактор и сделайте рендер в 24 (задайте в настройках экспорта),
затем получившийся файл грузите в проект на 24к/с
(иногда сам прибегаю к таким манёврам, если нужно привести разнородные файлы к одной частоте кадров)
 
  • Like
Реакции: alexey_ko
Рассинхрон из-за чуть разной частоты тактовых генераторов ваших рекордеров,
Я в этом не профи совершенно,
Не зная темы, лучше в неё вообще не влезать!
то один ролик имеет частоту кадров 23,98 кадр/сек, а второй 24 кадр/сек.
Первый ролик NTSC, второй кино.

Снимок экрана 2025-04-09 в 23.31.20.png


 
  • Like
Реакции: alexey_ko
@alexey_ko, можно сделать проще, загрузите ролик 23.98 к/с в редактор и сделайте рендер в 24 (задайте в настройках экспорта),
затем получившийся файл грузите в проект на 24к/с
(иногда сам прибегаю к таким манёврам, если нужно привести разнородные файлы к одной частоте кадров)
Если не затруднит, подскажите, пожалуйста, максимально простую для новичка прогу, в которой можно такую перекодировку сотворить.
Я правильно понимаю, что в теории видео будет перекодировано вместе с аудиодорожкой (собственно ради нее всё это и затевается) и аудиодорожка соответственно изменит свою продолжительность?
 
не могу поверить, что нет простого решения.
Если бы оно было....
то не было-бы сначала компании
Snell & Wilcox
а далее grassvalley
Которые выпускали аппаратные транскодеры форматов.
А теперь и софтовые.
 
  • Like
Реакции: alexey_ko
прогу, в которой можно такую перекодировку сотворить.
Раньше назывался Canopus Procoder, потом Grass Valley Pro Coder.
Из практики, он меньше всего глючил и выдавал артефакты по картинке.
Потом, производитель прекратил разработку, в пользу аппаратных приборов.
Но в интернете можно найти последнюю версию (ну или любую).
Для ваших целей, думаю, будет достаточно.
 
  • Like
Реакции: alexey_ko
@alexey_ko, не знаю, получится или нет, правда ли это) но ChatGPT предлагает через FFmpeg

Что такое​


FFmpeg — это мощный бесплатный инструмент командной строки для работы с видео и аудио. Он позволяет:


  • конвертировать видео и аудио между форматами,
  • извлекать или заменять аудиодорожки,
  • менять частоту кадров, размер, кодеки,
  • обрезать, склеивать видео и многое другое.

Это как швейцарский нож для мультимедиа

Где скачать FFmpeg?​



Для Windows:​


  1. Перейди на сайт: https://ffmpeg.org/download.html
  2. Нажми на Windows → gyan.dev или BtbN (оба хорошие варианты).
  3. Скачай архив со сборкой ffmpeg-release-full.zip.
  4. Распакуй в любую папку, например: C:\ffmpeg
  5. Добавь путь к C:\ffmpeg\bin в переменные среды (PATH), чтобы запускать ffmpeg из любого места:
    • Поиск → “Переменные среды” → Изменить PATH → Добавить C:\ffmpeg\bin

Или, если хочешь быстро — можешь просто запустить ffmpeg.exe из этой папки вручную.

Как пользоваться FFmpeg?​

Примеры простых команд:

ЗадачаКоманда
Извлечь аудио из видеоffmpeg -i video.mp4 -vn audio.wav
Конвертировать в MP3ffmpeg -i input.wav output.mp3
Изменить частоту кадровffmpeg -i input.mp4 -r 24 output.mp4
Объединить видео и аудиоffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac output.mp4
Изменить скорость аудиоffmpeg -i audio.wav -filter:a "atempo=0.999" output.wav

9245b0a2-85e1-43f6-90aa-d8ce01876697.png

Пошаговая инструкция по синхронизации​


Предположим у тебя есть:


  • source_23.mp4 — видео с 23.976 fps, откуда берём аудио,
  • target_24.mp4 — видео с 24 fps, куда вставим аудио,
  • Цель: вставить аудио из первого ролика во второй без рассинхрона.



✅ Шаг 1: Создай папку и скопируй туда оба видео​


Назови их:


  • source_23.mp4
  • target_24.mp4



✅ Шаг 2: Открой папку с файлами через командную строку​


  1. Нажми Shift + ПКМ в этой папке.
  2. Выбери "Открыть окно PowerShell/командной строки здесь".



✅ Шаг 3: Введи команды по очереди​


1. Извлечь аудиодорожку из первого видео:​


Код:
ffmpeg -i source_23.mp4 -vn -acodec pcm_s16le audio.wav




2. Подогнать скорость аудио (растянуть на 0.999x):​


Код:
ffmpeg -i audio.wav -filter:a "atempo=0.999" audio_fixed.wav



  • Это скорректирует длину, чтобы она совпала с видео 24 fps.



️ 3. Вставить исправленную аудиодорожку во второе видео:​


Код:
ffmpeg -i target_24.mp4 -i audio_fixed.wav -c:v copy -map 0:v:0 -map 1:a:0 -shortest output_synced.mp4



  • Получится файл output_synced.mp4, где:
    • Видео с 24 fps,
    • Аудио из видео с 23.976, но синхронизированное.



Готово!​


Теперь ты можешь открыть output_synced.mp4 и убедиться, что рассинхрона нет — звук и видео идут ровно от начала до конца


Вот тебе готовый .bat файл для Windows — просто скопируй этот код в Блокнот, сохрани как sync_audio.bat (обязательно с расширением .bat), положи в ту же папку с видеофайлами и запускай двойным щелчком.




sync_audio.bat — СКРИПТ .bat файл (одним кликом запускаешь и всё делается)​


Код:
@echo off
setlocal

REM ==== Названия файлов ====
set "SOURCE=source_23.mp4"
set "TARGET=target_24.mp4"
set "AUDIO=audio.wav"
set "FIXED_AUDIO=audio_fixed.wav"
set "OUTPUT=output_synced.mp4"

echo [1/4] Извлечение аудио из %SOURCE%
ffmpeg -i "%SOURCE%" -vn -acodec pcm_s16le "%AUDIO%"

echo [2/4] Коррекция скорости аудио (растягиваем до 24 fps)
ffmpeg -i "%AUDIO%" -filter:a "atempo=0.999" "%FIXED_AUDIO%"

echo [3/4] Вставка аудио в %TARGET%
ffmpeg -i "%TARGET%" -i "%FIXED_AUDIO%" -c:v copy -map 0:v:0 -map 1:a:0 -shortest "%OUTPUT%"

echo [4/4] Готово! Результат: %OUTPUT%

pause




Как пользоваться:​


  1. Убедись, что рядом в папке лежат два файла:
    • source_23.mp4 — видео с нужной аудиодорожкой (23.976 fps),
    • target_24.mp4 — видео, куда вставляем звук (24 fps).
  2. Дважды кликни по sync_audio.bat.
  3. Через несколько секунд появится файл output_synced.mp4 — уже синхронный


DaVinci Resolve (бесплатно, мощно)


⚙️ Что делать:​


  1. Создай новый проект.
  2. Импортируй оба видео (source_23.976.mp4 и target_24.mp4).
  3. Перетащи видео с 24 fps на таймлайн — оно станет основой.
  4. Перетащи на таймлайн видео с 23.976 fps, используй только его аудиодорожку:
    • Можно правой кнопкой кликнуть → Link Clips (отключить), потом удалить его видео-часть.
  5. Теперь у тебя:
    • Видео: 24 fps
    • Аудио: из 23.976 видео
  6. Растяни аудио, чтобы оно соответствовало длительности:
    • Перейди на вкладку Fairlight (аудио).
    • Кликни правой кнопкой на аудиоклип → Change Clip Speed.
    • В поле "Speed" введи:

Код:
100.1001

Это ≈ 1 / (23.976 / 24)

Перейди во вкладку Deliver и экспортируй видео с нужными настройками.

Adobe Premiere Pro


⚙️ Шаги:​


  1. Импортируй оба файла.
  2. Создай новую последовательность (Sequence) с параметрами 24 fps (можно просто кинуть 24 fps видео на таймлайн).
  3. Перетащи видео с 24 fps на таймлайн.
  4. Перетащи второе видео (23.976 fps) и оставь только аудиодорожку:
    • Разъедини аудио и видео (Right Click > Unlink), удали видео-часть.
  5. Выдели аудиоклип → Right Click > Speed/Duration....
    • Введи Speed: 100.1001% — это компенсирует расхождение в fps.
  6. Убедись, что длина аудио совпадает с видео.
  7. Экспортируй как обычный файл (Ctrl+M).



Важное:​


  • Разница между 23.976 и 24 fps кажется микроскопической, но на длинном ролике (10+ мин) может дать секундный рассинхрон.
  • Оба метода (ffmpeg и ручной через монтажку) работают точно, просто выбирай, что тебе удобнее: автомат или контроль.


Adobe Premiere Pro:


  1. Монтаж видео с разной частотой кадров
    Это видео объясняет, как работать с материалами, имеющими разную частоту кадров, в Adobe Premiere Pro CC 2018:


Синхронизация звука в Adobe Premiere
В этом уроке подробно рассказывается о методах синхронизации звука в Premiere Pro:


DaVinci Resolve:


  1. Изменение частоты кадров в DaVinci Resolve
    Это видео показывает, как изменить частоту кадров в DaVinci Resolve, что может помочь в решении проблемы рассинхронизации:


Полный гайд по монтажу в DaVinci Resolve 17
Этот подробный гайд для новичков охватывает основы монтажа, включая работу со звуком:
 
Последнее редактирование:
  • Like
Реакции: alexey_ko и Bernard
@alexey_ko, если я правильно понял проблему, вам необходимо ускорить аудио на 0,1%. Выложите аудио - я вам его ускорю.
 
  • Like
Реакции: alexey_ko
@alexey_ko, если я правильно понял проблему, вам необходимо ускорить аудио на 0,1%. Выложите аудио - я вам его ускорю.
Вот тут 3 мои аудиофайла, которые требуют конвертации: https://www.mediafire.com/file/3prqw3nct2kkliv/SYNHRON.rar/file
Какое количество кадров было и под какое надо подогнать - во вложенном readme по этой же ссылке.
Не сочтите за наглость, если вдруг возможно записать видео того что вы делаете буду очень признателен.
Спасибо за помощь и отзывчивость!
 
@Tpt, исключительно из желания помочь.. ну вот и профи подтянулись, сразу всё ожило )
 
@alexey_ko, аудио файлы (три!) длиною по полтора часа - это не совсем то что я ожидал увидеть, исходя из слова "ролик" в вашем стартовом посте))

Конвертированные файлы по ссылке https://dropmefiles.com/sBWaF

Записывать видео не было времени. Вы проверьте получился ли звук синхронным. Потому, что есть нюансы. Если все ок, то видео запишу позже.
 
  • Like
Реакции: alexey_ko
максимально простую для новичка прогу
Камрады выше дали в принципе исчерпывающие ответы.. (у меня же adobe premiere);

и кстати, если не нужна картинка, а только аудио, то еще способ:
можно загрузить файл 23.98fps в редактор, и извлечь только аудио в виде обычного pcm файла...
 
можно загрузить файл 23.98fps в редактор, и извлечь только аудио в виде обычного pcm файла...

Проблема в том, что этот извлеченный файл будет длиннее и, соответственно, несинхронен к видео на 24 к/сек.
 
  • Like
Реакции: alexey_ko
@alexey_ko, ChatGPT сделал батник - https://disk.yandex.ru/d/EDjQuBZ4KILRmQ - скачать и распаковать. Туда уже поместил исходники аудио. Затем отсюда скачать - https://www.gyan.dev/ffmpeg/builds/ - ffmpeg-git-full.7z .ver .sha256, распаковать на любой диск. Из папки bin/ взять: ffmpeg.exe. Скопировать ffmpeg.exe в ту же папку, где convert_all.bat. Запустить convert_all.bat. и в этой же папке появятся пофиксенные аудио файлы. На скрине показал, что должно получиться в папке перед запуском convert_all.bat
Вот сам сделал, результат этого батника - https://disk.yandex.ru/d/UG-hO7D5ZhCoaQ
 

Вложения

  • 2025-04-10_10-21-19.png
    2025-04-10_10-21-19.png
    40,8 KB · Просмотры: 19
  • Like
Реакции: Bernard
@alexey_ko, UPDATE. По моей ссылке не качайте - файлы получились неправильные. Я сделал обратный процесс - то есть ускорил, те которые нужно было замедлить и замедлил тот который нужно было ускорить)) Переконвертировать пока не буду - будем надеяться, что у камрада Bavar всё сработало.
 
@alexey_ko, ChatGPT сделал батник - https://disk.yandex.ru/d/EDjQuBZ4KILRmQ - скачать и распаковать. Туда уже поместил исходники аудио. Затем отсюда скачать - https://www.gyan.dev/ffmpeg/builds/ - ffmpeg-git-full.7z .ver .sha256, распаковать на любой диск. Из папки bin/ взять: ffmpeg.exe. Скопировать ffmpeg.exe в ту же папку, где convert_all.bat. Запустить convert_all.bat. и в этой же папке появятся пофиксенные аудио файлы. На скрине показал, что должно получиться в папке перед запуском convert_all.bat
Вот сам сделал, результат этого батника - https://disk.yandex.ru/d/UG-hO7D5ZhCoaQ

а разdt shutter encoder тоже самое не сделает? ffmpeg с графической оболочкой
 
@zga, без понятия) наверно, может, раз использует FFmpeg, только какой скрипт нужен или как пользоваться, я не знаю, батник писал джипити и рассказал, как использовать)
 
@Bavar, может я чего так и не понял, но что вам мешает просто собрать MKV матрёшку с нужными звуковыми дорожками (раз уж они всё равно в формате matroska audio) при помощи самой банальной MKVToolNix?

Не надо ничего ни растягивать, ни сжимать и никакого премьера
 
  • Like
Реакции: dugdum®
Я вот тоже не понял. В аудиодорожке никакой частоты кадров нет. Она отдельно идёт, её надо просто извлечь и без преобразований вставить в другое видео.
 
  • Like
Реакции: Anthony Scott
@fakeitback, если бы я знал, как это делается, я бы собрал)) Я просто вставил первое сообщение в джипити. Стало самому интересно, вдруг когда-нибудь пригодится. А батник писал джипити, когда я ему скинул уже текст из readme по ссылки в 11 посте, вот джипити и описал, как это сделать с помощью ffmpeg.
 
Я вот тоже не понял. В аудиодорожке никакой частоты кадров нет. Она отдельно идёт, её надо просто извлечь и без преобразований вставить в другое видео.

Просто вы не сталкивались с этим. В результате одного из алгоритмов конвертации видео файла из 23, 98 в 24, видео становится короче (просто то же кол-во кадров проигрываются быстрее) и соответственно при такой конвертации аудио сжимается. И нельзя потом взять аудио из таким образом конвертированного видео в 24 и забросить назад в видео 23,98 - будет рассинхрон.
 
  • Like
Реакции: alexey_ko
@Bernard, сталкивался и сталкиваюсь ежедневно, нет, не будет. Алгоритмы пересчёта фреймрейта давно не изменяют длительность
 
@dugdum®, в первом посте ТС написал, что есть два видео файла (по логике с одним и тем же контентом) один 23,98 другой 24. И аудио из первого файла в рассинхроне со вторым.

Алгоритмы пересчёта фреймрейта давно не изменяют длительность

Возможно. Я последний раз сталкивался с такой проблемой лет 10 назад (из 16 лет ежедневной работы на аудиопосте). Но у ТС похоже проблема именно из-за пересчета. Кто-то может пользовался софтом типа Carbon Coder там есть алгоритмы пересчета с изменением длительности.

В телеграм канале, где тусуются киношные звукорежиссеры и аудио-постпродакшн Звук Кино Pro, относительно недавно ( наверное, в прошлом году) кто-то из аудио-поста жаловался что в результате пертурбаций на видео монтаже сериала над которым они работали, пришло перемонтированное видео в рассинхроне с их версией именно по причине неадекватной работы с фреймрейтом. И им пришлось все в ручную синхронизировать.
 
Последнее редактирование:
  • Like
Реакции: alexey_ko
косяки и факапы случаются, куда без этого)

но в целом я давно не сталкивался с проблемами именно по этой причине, условно если надо 29.97 NTSC выгнать в 25 кадров, то никаких проблем не имеем, если подцепить в контейнер тем же ffmpeg исходную аудиодорожку без всякого пересчёта
 
  • Like
Реакции: Bernard
Вижу, чтоб была яснее суть чуть поясню на конкретном жизненном примере:
- Вот у меня есть кино с русской аудиодорожкой.
- Вот выходит новое издание фильма, допустим некая реставрация картинки и т.п. уже без русской дороги.
- Беру русскую дорогу от старого издания и прикручиваю к новому. Это делаю без проблем через MKVToolNix GUI
- По факту получается набегающий рассинхрон (т.е. по началу просмотра терпимо, а к концу фильма набегает уже секунд 5 отставания или обгона). Ну собственно и издания чуть-чуть отличаются по времени т.к. есть небольшая, но разница в кадрах в секунду в видео.
Каких-то настроек в MKVToolNix GUI для устранения рассинхрона звука в MKVToolNix GUI не вижу. Перекодировать само видео точно нет желания, это как я пронимаю, вообще отдельная и страшно сложная тема, для этого на всяких форумах целые команды существуют, Мне, скорее всего, надо просто ускорить или замедлить звук с учетом кадров/сек того видео, куда я хочу его вставить. А потом уже эту поправленную аудиодорожку прикрутить к нужному файлу.

Вот, если прям в лоб, то попробовал FFmpeg, но застопорился на шаге - "просто запустить ffmpeg.exe из этой папки вручную." Просто мелькает какое-то окно и сразу закрывается. Антивирус отключен. Конечно, я явно делаю что-то не так, но вот пока не могу понять что.
Другие варианты пока не пробовал.
 
@alexey_ko в этом случае надо сделать тайм стретч (time stretch) новой аудио дороги под длительность старой и вставить её в видео.
это в любом аудио редакторе есть или DAW.
 
  • Like
Реакции: alexey_ko

Сейчас просматривают