运行ffmpeg多个命令

时间:2015-11-27 18:47:27

标签: ffmpeg

我使用这个ffmpeg命令将mp3转换为wav:

ffmpeg -i audio.mp3 -acodec libmp3lame -ab 64k -ar 16000 audio.wav

和此命令从audio.wav创建波形:

wav2png --foreground-color=ffb400aa --background-color=2e4562ff -o example4.png papa2.wav

我很想知道,如何多次运行此命令?例如,当完成从.mp3到.wav的转换时,请运行wav2png命令。

谢谢!

1 个答案:

答案 0 :(得分:10)

这里有几个选项:

选项1:使用&&

在Bash中,您可以使用 and list 来连接命令。每个命令将一个接一个地执行。当命令失败或所有命令都已成功执行时,和list 将终止。

ffmpeg -i audio.mp3 audio.wav && wav2png -o output.png audio.wav
  • 输出到WAV时使用-acodec libmp3lame毫无意义,所以我删除了它。

  • WAV忽略比特率选项,因此我删除了-ab

  • 您真的需要更改音频(-ar)吗?除去。

选项2:从ffmpegwav2png

的管道

您可以将ffmpeg的输出直接传送到wav2png,而不是制作临时WAV文件:

ffmpeg -i audio.mp3 -f wav - | wav2png -o output.png /dev/stdin

选项3:只需使用ffmpeg

保存最后的最佳效果,您可以尝试showwavespic filter

enter image description here

ffmpeg -i music.wav -filter_complex showwavespic=s=640x320 showwaves.png