我已经做了研究,试图创建一个波形与FFMPEG和目前能够创建一个白色png与波是透明的。目标是像下面的平滑波一样产生波浪,并使灰色变得透明。

这是我目前的FFMPEG波形发生器和输出。
ffmpeg -i ./_test.mp3 -filter_complex \
"[0:a]aformat=channel_layouts=mono,compand=gain=-6, \
showwavespic=s=450x46:colors=white,negate[a]; \
color=white:450x46[c]; \
[c][a]alphamerge" -vframes 1 _test.png

发布于 2017-06-09 12:14:03
您将无法在FFmpeg中做到这一点,一个是因为波形不是用一条线绘制的,而是填充了多边形,另一个是因为FFmpeg在处理毫秒持续时间音频时似乎有问题。
使用更高级的数学/绘图软件(如R、Octave或matplotlib )很可能做到这一点,但我的第一个想法是使用三个更小、更专业的命令行实用程序:
最后,我的示例脚本就这样结束了
# create example file
sox -n -r 32k -b 16 pnoise.wav synth 10 pinknoise norm -0.1
# trim/convert
sox --norm=-1 pnoise.wav test.dat remix 1 trim 5 0.002 rate 200k
grep -v "^;" test.dat |\
sed -e "s/^[[:space:]]*//" -e "s/[[:space:]]*$//" > test.txt
# draw plot
gnuplot
set term png size 600,200 background "#BBBBBB"
set output "test.png"
unset key
unset border
unset xtics
unset ytics
set margins 0, 0, 0, 0
set yrange [-1:1]
plot "test.txt" with lines lt rgb "#FF0000" lw 3
exit
# replace red opaque with fully transparent
mogrify -channel rgba -matte -fill "#FF000000" -opaque "#FF0000" test.png

https://stackoverflow.com/questions/44339887
复制相似问题