В VLC: применять эквалайзер как часть цепочки trascoding из командной строки

Я видел этот вопрос задавали много раз, но я не смог найти ответ. Одной из проблем, по-видимому, являются изменения в разных версиях, поэтому исторические дискуссии по этой теме часто, похоже, теряют свою актуальность.

Я пытаюсь применить эквалайзер к цепочке фильтров из командной строки, используя что-то вроде:

vlc --audio-filter equalizer -I dummy myfile.mp4 :sout=#transcode{afilter=equalizer{bands="1.5,-0.9,-1.6,-1.6,-0.5,1.4,2.7,3.4,3.2,2.8",twopass=true},vcodec=none,acodec=fl32,ab=128,channels=2,samplerate=44100}:std{access=file,mux=wav,dst="myfile.wav"}

Я получаю что-то вроде:

[006a651c] core stream out error: cannot add user audio filter "equalizer{bands=1.5,-0.9,-1.6,-1.6,-0.5,1.4,2.7,3.4,3.2,2.8,twopass=true}" (skipped)

Я пробовал много разных вариаций и, похоже, это эквалайзер фильтр это сам, что это не в восторге, а не аргументы.

В качестве альтернативы, я был бы так же счастлив, если не больше, просто перевести полосы фильтра VLC в заявление эквалайзера ffmpeg, как:

equalizer=f=60:width_type=o:width=1:g=1.5, equalizer=f=170:width_type=o:width=1:g=-0.9, equalizer=f=310:width_type=o:width=1:g=-1.6, equalizer=f=600:width_type=o:width=1:g=-1.6, equalizer=f=1000:width_type=o:width=1:g=-0.5, equalizer=f=3000:width_type=o:width=1:g=1.4, equalizer=f=6000:width_type=o:width=1:g=2.7, equalizer=f=12000:width_type=o:width=3:g=3.4, equalizer=f=14000:width_type=o:width=3:g=3.2, equalizer=f=16000:width_type=o:width=3:g=2.8

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

кто-нибудь знает, как сделать любой из них с версией, которая не 2 года старый?

27
задан tlum
10.03.2023 13:34 Количество просмотров материала 2752
Распечатать страницу

1 ответ

наверное, я просто не перепробовал достаточно перестановок. Это, кажется, работает:

vlc --no-video -I dummy MyFile.mp4" --equalizer-bands="1.5 -0.9 -1.6 -1.6 -0.5 1.4 2.7 3.4 3.2 2.8" --equalizer-2pass :sout=#transcode{afilter=equalizer,acodec=fl32,ab=128,channels=2,samplerate=44100}:std{access=file,mux=wav,dst="MyFile.wav"}

мне не повезло передает параметры внутри фильтра, но --audio-filter equalizer ничего не сделал, так как фактически вставил его в цепочку. afilter=equalizer фактически заставит его стать активным и --equalizer-bands=" ... " кажется правильно установить фильтры.

Я должен отметить, что я имею в виду ffmpeg-20160731-04da20e-win64-static и не может сделать никакую заявку о любой другой версии.

0
отвечен tlum 2023-03-11 21:22

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх