LinuxForum.Fans
Тема

mp3gain и видео файлы

Автор: dm2003 8 сообщений 1541 просмотров
#307486

Подскажите пожалуйста, можно ли как-то нормализовать звук в видеофайлах при помощи mp3gain? Если нет, то есть ли какой-то другой вариант? Нужна пакетная обработка.

#307720

весь скрипт не выдам, но думаю можно наваять что-то типа

1) нужна ли нормализация?

text
fmpeg -i video.avi -filter:a "volumedetect" -vn -f null /dev/null

если видим, что макс. = 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

4) воротаем всё назад

text
ffmpeg -i video.avi -i audio.wav -map 0:0 -map 1:0 -c copy video_normalized.avi

думаю вот такое можно автоматизировать.
а зачем вам если не секрет?

#307776

он в метро фильмы смотрит...

я в свое время для просмотра кина в метро таким не занимался ибо нормализация как правило помогала максимум в 2 раза поднять громкость а мощность давления значительно не возростала и шум метро мешал расслышать тихий звук.
Посему я забил на это и использовал:
1) включение компрессора и максимайзера в линию воспроизведения сигнала в пульсаудио.
2) тупо программное увеличение громкости вплоть до 10-100 раз, с регулировкой уровня усиления.

Первый путь дает лучший результат, но требует еще создания переключателя включающего-отключающего его, так как музыку слушать с копрессором не всегда хорошо. все зависит от того что там записано.
Ушел во второй путь так как что-то там у меня не сложилось и я отказался от него.
В smplayer есть предел программного усиления. Я его поднял до 5000 кажисть и когда сигнал слабый то раскачиваю его в много раз. Конечно сие может привести к искажениям для хорошего сигнала, но на то есть регулировка громкости(клавиши 9,0)

#307874

Просто есть несколько десятков клипов и в некоторых из них уровень отличается от основной массы. Вот и захотел одним махом уровнять все к одному уровню. Да и просто зацепило, неужели в Линуксе этого нельзя сделать? Спасибо за ответы.

#307877
vasilisc написал:
весь скрипт не выдам, но думаю можно наваять что-то типа

1) нужна ли нормализация?
text
fmpeg -i video.avi -filter:a "volumedetect" -vn -f null /dev/null

если видим, что макс. = 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

4) воротаем всё назад

text
ffmpeg -i video.avi -i audio.wav -map 0:0 -map 1:0 -c copy video_normalized.avi

А какой командой можно пакетно сделать все эти команды? Я имею ввиду что бы пакетно проверить все видео файлы в папке, потом пакетно вытянуть аудио, и опять таки пакетно собрать назад все клипы?

#307925

Написать скрипт.

#307957

1.сделайте скрипт myscr.sh:
#! /bin/bash

for A in file1 file2 file3
do
echo open$A
echo edit$A
echo save$A
done

2.дайте права запуска для него.
3.выполните его выполнив команду:
./myscr.sh
4. посмотрите на него, подумайте и исправьте так, чтоб вместо echo были ваши команды.

#307969

Спасибо, но вижу что еще мне курить и курить...

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