Подскажите пожалуйста, можно ли как-то нормализовать звук в видеофайлах при помощи mp3gain? Если нет, то есть ли какой-то другой вариант? Нужна пакетная обработка.
если видим, что макс. = 0 то не нужна
[Parsed_volumedetect_0 @ 0x7f8ba1c121a0] mean_volume: -16.0 dB
[Parsed_volumedetect_0 @ 0x7f8ba1c121a0] max_volume: 0.0 dB
[Parsed_volumedetect_0 @ 0x7f8ba1c121a0] histogram_0db: 87861
2) выдираем аудио
text
ffmpeg -i video.avi -c:a pcm_s16le -vn audio.wav
3) нормализуем. в убунту есть пакетная normalize-audio
я в свое время для просмотра кина в метро таким не занимался ибо нормализация как правило помогала максимум в 2 раза поднять громкость а мощность давления значительно не возростала и шум метро мешал расслышать тихий звук.
Посему я забил на это и использовал:
1) включение компрессора и максимайзера в линию воспроизведения сигнала в пульсаудио.
2) тупо программное увеличение громкости вплоть до 10-100 раз, с регулировкой уровня усиления.
Первый путь дает лучший результат, но требует еще создания переключателя включающего-отключающего его, так как музыку слушать с копрессором не всегда хорошо. все зависит от того что там записано.
Ушел во второй путь так как что-то там у меня не сложилось и я отказался от него.
В smplayer есть предел программного усиления. Я его поднял до 5000 кажисть и когда сигнал слабый то раскачиваю его в много раз. Конечно сие может привести к искажениям для хорошего сигнала, но на то есть регулировка громкости(клавиши 9,0)
Просто есть несколько десятков клипов и в некоторых из них уровень отличается от основной массы. Вот и захотел одним махом уровнять все к одному уровню. Да и просто зацепило, неужели в Линуксе этого нельзя сделать? Спасибо за ответы.
если видим, что макс. = 0 то не нужна
[Parsed_volumedetect_0 @ 0x7f8ba1c121a0] mean_volume: -16.0 dB
[Parsed_volumedetect_0 @ 0x7f8ba1c121a0] max_volume: 0.0 dB
[Parsed_volumedetect_0 @ 0x7f8ba1c121a0] histogram_0db: 87861
2) выдираем аудио
text
ffmpeg -i video.avi -c:a pcm_s16le -vn audio.wav
3) нормализуем. в убунту есть пакетная normalize-audio
А какой командой можно пакетно сделать все эти команды? Я имею ввиду что бы пакетно проверить все видео файлы в папке, потом пакетно вытянуть аудио, и опять таки пакетно собрать назад все клипы?
for A in file1 file2 file3
do
echo open$A
echo edit$A
echo save$A
done
2.дайте права запуска для него.
3.выполните его выполнив команду:
./myscr.sh
4. посмотрите на него, подумайте и исправьте так, чтоб вместо echo были ваши команды.