Что ж, звук мы извлекли. У нас получился аудио-файл с расширением mp2.
Сам способ обработки звукового файла я подсмотрел у одного англоязычного доброго человека (и вы можете обратиться к первоисточнику). Так как способ мне подошел, то я спешу поделиться им с вами. Заключается он в ресэмплировании (изменении частоты дискретизации) звука в файле так, чтобы длительность звука совпадала с длительностью видео.
Сразу скажу, речь идет не о такой синхронизации в которой звук опережает или отстает от видео с неизменной разницей. Я имею в виду рассинхронизацию, при которой звук в начале видео совпадает с картинкой, но к концу видео начинает все больше и больше отставать или спешить.
Поэтому перед тем, как мы ресэмплируем наше аудио, нам нужно узнать разницу, на которую нужно сделать поправку.
Сначала вам нужно разобраться звук опережает видео или наоборот отстает от него. Для этого проиграйте конец оригинального видео и обратите внимание на какой визуально различимый звук и отметьте, когда он имеет место.
Скажем, хлопок на видео происходит в 1:30:45. А звук хлопка звучит в 1:30:51. То есть сначала вы видите хлопок, а затем слышите его. Значит звук отстает на 6 секунд. И значит в следующей формуле это число нужно будет прибавить (+6). Ну, если наоборот, то звук опережает видео. И значит в следующей формуле это число нужно будет отнять (-6).
Далее вам нужно, вычислить по формуле, что я дам ниже, частоту, на которую вам нужно будет сделать ресэмплинг. Но сначала посчитайте длительность вашего видео в секундах.
Например, оно длится 1:36:32, то есть, в секундах - это 1*3600 + 36*60 + 32 = 5792
А вот и формула:
(Узнать эту частоту вы можете современных медиа-плеерах для ПК. Я, например, запустил свой оригинальный аудио файл mp2 в AIMP, и он мне показал, что его частота была 48 000 герц. Есть специальные тулзы, которые показывают такую инфу о медиа файлах. Да и по нашему методу ее можно узнать по ходу.)
Итак, скажем у нас имеется видео длительностью 5792 секунды, звук отстает от картинки на 6 секунд (значит, +6), частота дискретизации звука у нас, скажем, 48 000 герц.
Таким образом вычисляем новую частоту для ресэмплирования по такой формуле:
(5792 + 6) / 5792 * 48000 = (почти) 48050 герц
(Для самопроверки: при отставании звука - частота должна получится больше оригинальной, при опережении - меньше)
Итак, мы получили заветное число - 48050, и в следующем сообщении я расскажу,куда его можно засунуть, что с ним делать.
(продолжение следует...)
Сам способ обработки звукового файла я подсмотрел у одного англоязычного доброго человека (и вы можете обратиться к первоисточнику). Так как способ мне подошел, то я спешу поделиться им с вами. Заключается он в ресэмплировании (изменении частоты дискретизации) звука в файле так, чтобы длительность звука совпадала с длительностью видео.
Сразу скажу, речь идет не о такой синхронизации в которой звук опережает или отстает от видео с неизменной разницей. Я имею в виду рассинхронизацию, при которой звук в начале видео совпадает с картинкой, но к концу видео начинает все больше и больше отставать или спешить.
Поэтому перед тем, как мы ресэмплируем наше аудио, нам нужно узнать разницу, на которую нужно сделать поправку.
Вычисляем разницу в рассинхронизации между видео и аудио
Сначала вам нужно разобраться звук опережает видео или наоборот отстает от него. Для этого проиграйте конец оригинального видео и обратите внимание на какой визуально различимый звук и отметьте, когда он имеет место.
Скажем, хлопок на видео происходит в 1:30:45. А звук хлопка звучит в 1:30:51. То есть сначала вы видите хлопок, а затем слышите его. Значит звук отстает на 6 секунд. И значит в следующей формуле это число нужно будет прибавить (+6). Ну, если наоборот, то звук опережает видео. И значит в следующей формуле это число нужно будет отнять (-6).
Далее вам нужно, вычислить по формуле, что я дам ниже, частоту, на которую вам нужно будет сделать ресэмплинг. Но сначала посчитайте длительность вашего видео в секундах.
Например, оно длится 1:36:32, то есть, в секундах - это 1*3600 + 36*60 + 32 = 5792
А вот и формула:
- Если звук отстает: (длительность видео в сек + разница рассинхронизации) / (длительность видео в сек) * (частота дискретизации)
- Если звук опережает: (длительность видео в сек + разница рассинхронизации) / (длительность видео в сек) * (частота дискретизации)
- взять длительность видео в секундах
- добавить к ней или отнять от нее разницу
- результат разделить на длительность видео в секундах
- и новый результат умножить на частоту дискретизации вашего аудио
(Узнать эту частоту вы можете современных медиа-плеерах для ПК. Я, например, запустил свой оригинальный аудио файл mp2 в AIMP, и он мне показал, что его частота была 48 000 герц. Есть специальные тулзы, которые показывают такую инфу о медиа файлах. Да и по нашему методу ее можно узнать по ходу.)
Итак, скажем у нас имеется видео длительностью 5792 секунды, звук отстает от картинки на 6 секунд (значит, +6), частота дискретизации звука у нас, скажем, 48 000 герц.
Таким образом вычисляем новую частоту для ресэмплирования по такой формуле:
(5792 + 6) / 5792 * 48000 = (почти) 48050 герц
(Для самопроверки: при отставании звука - частота должна получится больше оригинальной, при опережении - меньше)
Итак, мы получили заветное число - 48050, и в следующем сообщении я расскажу,
(продолжение следует...)
Комментариев нет:
Отправить комментарий