LinuxForum.Fans
Тема

Нормализация звука в видео файлах

Автор: dm2003 13 сообщений 8792 просмотров
#285951

Есть скажем несколько музыкальных клипов. Но у них совершенно разный уровень звука. Если создать DVD диск, то нужно будет постоянно изменять громкость телевизора. Каким образом можно нормализовать (уровнять) звук в данных клипах? Подозреваю, что открывать нужные клипы в Audacity, в нем уравнивать все звуковые дорожки к одному шаблону, а потом сводить каждый клип в видео редакторе, с полученной звуковой дорожкой. А есть какой-то другой вариант?

#285953

Для звуковых форматов, в частности, MP3, существует ReplayGain. Нужно натравить это на каталог с музыкой, оно пройдется по файлам и допишет в них информацию о уровне громкости. Основываясь на этой информации, проигрыватель с поддержкой ReplayGain будет выравнивать громкость всех композиций... А вот для видео я такого решения не видел. Да еще, вдруг нужно смотреть эти условные клипы на DVD, которые в подавляющем большинстве не умеют выравнивать громкость?

#285988

Можно прогнать клипы через mencoder, видео не трогать, а звук если перегонять в мп3, тo:

text
$mencoder -lameopts help

параметр vol=<0-10> set audio input gain
Выставить например на всех vol=5 или как будет удобнее.

PS хотя почему не трогать видео... всё гнать к одному знаменателю

#286107

shonty, спасибо, попробую на днях. А можно как-то по подробнее? К примеру как натравить на определенный каталог и проделать нормализацию звука для всех видео файлов внутри?

#286546

Можно.
1. заходишь в каталог через команду cd или ещё как...
2. например у тебя там *.avi клипы
выполняешь команду:

text
for i in *avi; do  mencoder "$i" -ovc copy -oac mp3lame -lameopts cbr:br=128:vol=5 -o "Vol5_${i}"; done;

в этот же каталог сваляться все новые файлы с приставкой "Vol5_*"
Например был файл Пугачёва.avi будет Vol5_Пугачёва.avi.

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

text
mencoder -lameopts help

тебе в помощь.
Только переменный битрейт не используй, рассинхронизация звука/видео может произойти.

... ах да, качество видео в файлах не затронется.

#286552

В дополнении:

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

Вот скачал файл технического содержания с простым голосовым сопровождением, где высокое качество звука не нужно:

MediaInfo
Format : AVI
Format/Info : Audio Video Interleave
File size : 193 MiB
Duration : 11mn 8s
Overall bit rate : 2 424 Kbps
Writing application : Lavf52.14.0
Writing library : VirtualDub build 32507/release

Video
ID : 0
Format : MPEG-4 Visual
Codec ID : DIV3
Codec ID/Hint : DivX 3 Low
Duration : 11mn 8s
Bit rate : 1 002 Kbps
Width : 320 pixels
Height : 240 pixels
Display aspect ratio : 4:3
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.435
Stream size : 79.8 MiB (41%)

Audio
ID : 1
Format : PCM
Format settings, Endianness : Little
Format settings, Sign : Signed
Codec ID : 1
Duration : 11mn 8s
Bit rate mode : Constant
Bit rate : 1 411.2 Kbps
Channel(s) : 2 channels
Sampling rate : 44.1 KHz
Bit depth : 16 bits
Stream size : 112 MiB (58%)
Interleave, duration : 33 ms (1.00 video frame)
Interleave, preload duration : 500 ms

Видно что качество и объём видео не соответствует качеству аудио:
193 MB - общий вес
видео 320х240 1002 Kbps 79.8 MiB (41%)
аудио 1411.2 Kbps 112 MiB (58%) o_O

После перекодирования звука с указанными выше параметрами вес файла снизился до 91mb
аудио стало 10.2 MiB (11%)

MediaInfo
Audio
ID : 1
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 3
Mode : Joint stereo
Mode extension : MS Stereo
Codec ID : 55
Codec ID/Hint : MP3
Duration : 11mn 8s
Bit rate mode : Constant
Bit rate : 128 Kbps
Channel(s) : 2 channels
Sampling rate : 44.1 KHz
Compression mode : Lossy
Stream size : 10.2 MiB (11%)
Alignment : Aligned on interleaves
Interleave, duration : 26 ms (0.78 video frame)
Interleave, preload duration : 522 ms
Writing library : LAME3.99.5
#286604

Огромное спасибо, скоро испробую.

#286984

Вот что мне ответили на одном из форумов на вашу команду:

text
for i in *avi; do  mencoder "$i" -ovc copy -oac mp3lame -lameopts cbr:br=128 -vf volnorm 2:0.2 -o "Vol5_${i}"; done

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

Что можете сказать? Есть тут улучшения для нормализации?

#286991

Моей командой пробовали кодировать и что-то не получилось?
Пробуйте с volnorm, сравните результаты и отпишитесь.

#286999

Вашей командой пробовал. Результат устроил, только один клип из 30 на слух был тише других, а так вполне нормально. Только VOL пробовал от 0 до 2, а то 5 сильно искажал звук. А другой командой пока не пробовал. Попробую-отпишусь.

#287005

Я могу ошибаться, но вроде "volnorm" фильтр mplayer-а а не mencodera,
во всяком случае у меня так выводит:

text
[shonty@archlinux ~]$ mplayer -af help | grep volnorm
  volnorm        : Volume normalizer filter
[shonty@archlinux ~]$ mencoder -af help | grep volnorm
No file given
[shonty@archlinux ~]$ mencoder -vf help | grep volnorm
[shonty@archlinux ~]$ mplayer -vf help | grep volnorm
#287020

Как я и предполагал, выполнил команду которую вам посоветовали:

[shonty@archlinux Video]$ mencoder test.avi -ovc copy -oac mp3lame -lameopts cbr:br=128 -vf volnorm 2:0.2 -o out.avi
MEncoder SVN-r35421-4.7.2 (C) 2000-2012 MPlayer Team
Option vf: volnorm doesn't exist.

Exiting... (error parsing command line)

То есть в видеофильтрах (-vf) опции volnorm не существует.
Повторюсь, что это опция аудиофильтров (-af) mplayera

Я думаю, что фразу "Вы бы курнули man mencoder, ну и по shell сделайте затяжку - пригодится" можно вернуть её афтару ;)

#287024

Спасибо. Тогда экспериментировать больше не буду. Ваша команда работает на УРА и вполне быстро. Я сторонник графических оболочек к приложениям, но случай данной темы, как раз тот случай, когда Терминал себя проявляет на все 100%. Еще раз огромное Вам спасибо!!!

Войдите или зарегистрируйтесь, чтобы ответить.