Возможна ли простая нормализация пиков с помощью FFmpeg?

Возможна ли простая нормализация пиков с помощью FFmpeg?

У меня есть видеозаписи без потерь с видеокассет, некоторые из которых, к сожалению, имеют выходную громкость, ограниченную как отсутствием ползунка громкости на камкордере для чего-либо, кроме встроенного динамика, так и отсутствием настроек громкости на USB-устройстве видеозахвата Dazzle DVC100 (и загадочной невозможностью материализоваться в аудиомикшере Windows или на панели записывающих устройств, несмотря на то, что VirtualDub2 прекрасно его обнаруживает и записывает).

Изначально я использовал это для нормализации звука.

-af loudnorm=I=-16:LRA=11:TP=-1.5

Однако при дальнейшем прочтенииДокументация FFmpegиСтатья в Википедии о нормализации звука, я понимаю, что "нормализация громкости" отличается от "нормализации пиков". Поскольку loudnormфункция ffmpeg так и называется, мне нужно быть уверенным, что я делаю именно то, что хочу.

Я просто хочу максимально увеличить громкость без обрезанияибез потери динамического диапазона или усреднения уровней громкости по всей записи. Возможно ли это в ffmpeg? Я искал довольно много и, loudnormпохоже, это настолько популярно, что заглушает все остальное, связанное с нормализацией.

решение1

Сначала можно запустить фильтр volumedetect, чтобы определить пиковый объем. Затем запустить фильтр volume во втором проходе, чтобы добавить равномерное усиление.

Проход 1

ffmpeg -i input -af volumedetect -vn -f null -

Выход:

[Parsed_volumedetect_0 @ 0000022356a12940] n_samples: 495350
[Parsed_volumedetect_0 @ 0000022356a12940] mean_volume: -28.9 dB
[Parsed_volumedetect_0 @ 0000022356a12940] max_volume: -4.2 dB
[Parsed_volumedetect_0 @ 0000022356a12940] histogram_4db: 26
[Parsed_volumedetect_0 @ 0000022356a12940] histogram_5db: 107
[Parsed_volumedetect_0 @ 0000022356a12940] histogram_6db: 182
[Parsed_volumedetect_0 @ 0000022356a12940] histogram_7db: 153
[Parsed_volumedetect_0 @ 0000022356a12940] histogram_8db: 158

Максимальный объем — это ваш пик.

Проход 2

ffmpeg -i input -af volume=+4.2dB -c:v copy output

Связанный контент