我正在尝试正确地map
并将单个showwaves
(或showfreqs
)覆盖物相对于两个对称滚动的showspectrum
ffmpeg覆盖物,例如,< / p>
ffmpeg -i input.mp3 -filter_complex "[0:a]showspectrum=color=fiery:saturation=1:slide=scroll:scale=log:win_func=gauss:overlap=1:s=960x1080,pad=1920:1080[vs]; [0:a]showspectrum=color=fiery:saturation=2:slide=rscroll:scale=log:win_func=gauss:overlap=1:s=960x1080[ss]; [0:a]showwaves=s=960x540:mode=p2p[sw]; [vs][ss]overlay=w[out]; [out][sw]overlay=w[out]" -map "[out]" -map 0:a -c:v libx264 -preset fast -crf 18 -c:a copy output.mkv
如上面的屏幕截图所示,showwaves
覆盖图被顽固地固定在右上象限中。目的是使其在整个中心水平显示。
如果您能帮助我加粗showwaves
过滤器绘制的线条,则会获得加分。
答案 0 :(得分:1)
使用
ffmpeg -i input.mp3 -filter_complex "[0:a]showspectrum=color=fiery:saturation=1:slide=scroll:scale=log:win_func=gauss:overlap=1:s=960x1080,pad=1920:1080[vs]; [0:a]showspectrum=color=fiery:saturation=2:slide=rscroll:scale=log:win_func=gauss:overlap=1:s=960x1080[ss]; [0:a]showwaves=s=1920x540:mode=p2p,inflate[sw]; [vs][ss]overlay=w[out]; [out][sw]overlay=0:(H-h)/2[out]" -map "[out]" -map 0:a -c:v libx264 -preset fast -crf 18 -c:a copy output.mkv
为放映波的叠加设置坐标。 showwaves的大小也更改为跨全宽。添加了充气过滤器以模拟“厚度”,但就质量而言,YMMV。