我正在尝试正确map并将单个showwaves(或showfreqs)覆盖层相对于两个对称滚动的ffmpeg的showspectrum覆盖层集中定位,例如

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

audio - 如何使用ffmpeg将单个showwave(或showfreqs)叠加层相对于两个对称滚动的showspecrum叠加层集中定位?-LMLPHP

如上面的屏幕截图所示,showwaves覆盖图固定地固定在右上象限中。目的是使其在整个中心水平显示。

如果您可以帮助我加粗showwaves过滤器绘制的线条,则可以加分。

最佳答案

使用
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。

07-24 14:02