![如何用ffmpeg產生正弦波?](https://rvso.com/image/1400034/%E5%A6%82%E4%BD%95%E7%94%A8ffmpeg%E7%94%A2%E7%94%9F%E6%AD%A3%E5%BC%A6%E6%B3%A2%EF%BC%9F.png)
我想用 FFmpeg 產生一個帶有正弦波的音訊檔案。我知道有一個sine
過濾器,但僅此而已。
我試過:
fmpeg -filter "sine=48:1:5" -c:a pcms16le test
以 PCM S16LE 格式建立 48kHz 5 秒的音頻,但我收到以下錯誤訊息:
輸出檔 #0 不包含任何流
並且test
文件是空的。
答案1
若要產生持續 5 秒的 1000 Hz 訊號,請使用下列命令:
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" test.wav
你可以加-c:a pcm_s16le
:
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -c:a pcm_s16le test.wav
也將採樣率設定為 48 KHz:
ffmpeg -f lavfi -i "sine=frequency=1000:sample_rate=48000:duration=5" -c:a pcm_s16le test.wav
答案2
抱歉對此進行了破壞,但如果未來有人來尋找此內容,如果您想以立體聲方式執行此操作,您將執行以下操作:
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -ac 2 output.wav
您也可以-filter_complex
使用amerge
:
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -filter_complex "[0:a][0:a]amerge=inputs=2[aout]" -map "[aout]" output.wav