1

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

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

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 года?

1 ответ1

0

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

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 и не могу претендовать ни на какую другую версию.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .