Я видел этот вопрос много раз, но я не смог найти ответ. Одной из проблем, по-видимому, являются изменения в разных версиях, поэтому исторические дискуссии на эту тему часто теряют свою актуальность.
Я пытаюсь применить эквалайзер к цепочке фильтров из командной строки, используя что-то вроде:
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 года?