我正在嘗試減少從影片中提取的音訊檔案中的噪音。目標是辨識語音,所以我試著過濾掉 300 以上和 3000hz 以下的頻率。我嘗試透過發出命令來使用均衡器濾波器:
ffmpeg -f lavfi -i "amovie=input.wav,equalizer=f=1300:width_type=h:width=1000" output.wav
但它給了我錯誤:
C:\Users\Sudh\Downloads>ffmpeg -f lavfi -i "amovie=input.wav,equalizer=f=300:w
th_type=h:width=3000" output.wav >output.txt
ffmpeg version git-2012-03-03-663d727-xuggle-4.0 Copyright (c) 2000-2012 the F
peg developers
built on Mar 20 2012 16:24:58 with gcc 4.5.2
configuration: --prefix=/d/desarrollo/xuggle --extra-version=xuggle-4.0 --ex
a-cflags=-I/d/desarrollo/xuggle/xuggle_v5/xuggle-xuggler-win/build/native/x86_
-w64-mingw32/captive/stage/d/desarrollo/xuggle/include --extra-ldflags=-L/d/de
rrollo/xuggle/xuggle_v5/xuggle-xuggler-win/build/native/x86_64-w64-mingw32/cap
ve/stage/d/desarrollo/xuggle/lib --enable-shared --enable-gpl --enable-nonfree
-enable-libx264 --enable-version3 --enable-cross-compile --cross-prefix= --arc
x86_64 --target-os=mingw32 --enable-libmp3lame --enable-libvorbis --enable-lib
eora --enable-libspeex --enable-libvo-aacenc --enable-libopencore-amrnb --enab
-libopencore-amrwb --enable-librtmp --enable-openssl --enable-zlib --enable-li
px
libavutil 51. 41.100 / 51. 41.100
libavcodec 54. 4.100 / 54. 4.100
libavformat 54. 1.100 / 54. 1.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 62.101 / 2. 62.101
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 7.100 / 0. 7.100
libpostproc 52. 0.100 / 52. 0.100
[wav @ 00000000006DB360] max_analyze_duration 5000000 reached at 5120000
[amovie @ 00000000006D9DF0] seek_point:0 format_name:(null) file_name:input.wa
stream_index:0
[lavfi @ 00000000006D97F0] No such filter: 'equalizer'
amovie=input.wav,equalizer=f=300:width_type=h:width=3000: Invalid argument
我也嘗試使用帶阻濾波器
ffmpeg -f lavfi -i "amovie=input.wav,equalizer=f=1300:width_type=h:width=1000" output.wav
但結果相同,「沒有這樣的濾波器帶阻」。
我缺什麼?有沒有更好的方法來使用 ffmpeg 減少噪音?
我還使用最新的 64 位元靜態版本http://ffmpeg.zeranoe.com/builds/
答案1
我找到了解決方案,只需從 遷移到新版本的 ffmpeghttp://ffmpeg.zeranoe.com/builds/。另請確保重新啟動系統並更改環境變數以刪除舊 ffmpeg 的痕跡。