如何用ffmpeg產生正弦波?

如何用ffmpeg產生正弦波?

我想用 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

相關內容