web-dev-qa-db-ja.com

VLC:コマンドラインからのトランスコーディングチェーンの一部としてイコライザーを適用します

この質問が何度も聞かれるのを見てきましたが、答えを見つけることができませんでした。 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
tlum

十分な順列を試していなかったと思います。これはうまくいくようです:

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"}

Afilter内でパラメーターを渡すことができませんでしたが、--audio-filter equalizer実際にチェーンに挿入する限り何もしませんでした。 afilter=equalizerは実際にそれをアクティブにし、--equalizer-bands=" ... "フィルターを正しく設定しているようです。

私が言及しているのはffmpeg-20160731-04da20e-win64-staticそして他のバージョンについて主張することはできません。

0
tlum