Ich möchte mit FFmpeg eine Audiodatei mit einer Sinuswelle erzeugen. Ich weiß, dass es einen sine
Filter gibt, aber weiter geht es nicht.
Ich habe es versucht:
fmpeg -filter "sine=48:1:5" -c:a pcms16le test
um 5 Sekunden Audio bei 48 kHz im PCM S16LE-Format zu erstellen, aber ich habe die folgende Fehlermeldung erhalten:
Ausgabedatei Nr. 0 enthält keinen Stream
und die test
Datei ist leer.
Antwort1
Um ein 1000-Hz-Signal mit einer Dauer von 5 Sekunden zu erzeugen, verwenden Sie Folgendes:
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" test.wav
Du kannst hinzufügen -c:a pcm_s16le
:
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -c:a pcm_s16le test.wav
Um die Abtastrate zusätzlich auf 48 KHz einzustellen:
ffmpeg -f lavfi -i "sine=frequency=1000:sample_rate=48000:duration=5" -c:a pcm_s16le test.wav
Antwort2
Entschuldigen Sie, dass ich das wiederbelebe, aber für den Fall, dass jemand aus der Zukunft danach sucht, würden Sie Folgendes tun, wenn Sie es in Stereo machen möchten:
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -ac 2 output.wav
Sie können es auch -filter_complex
mit verwenden amerge
:
ffmpeg -f lavfi -i "sine=frequency=1000:duration=5" -filter_complex "[0:a][0:a]amerge=inputs=2[aout]" -map "[aout]" output.wav