是否可以使用 ffmpeg 垂直旋转 showwaves(或 showfreqs)覆盖?
Is it possible to vertically rotate a showwaves (or showfreqs) overlay using ffmpeg?
我希望使用 ffmpeg 进行 showwaves
(或 showfreqs
)叠加并使其垂直居中,例如
ffmpeg -i input.mp3 -filter_complex "[0:a]showspectrum=color=fiery:saturation=2: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:colors=B80000|950000|690000: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
输出水平居中。但是是否也可以让它垂直居中?具体来说,使用单个 -filter_complex
命令参数?
我查看了 ffmpeg 手册并在 Whosebug 上搜索了答案,但无济于事。
使用转置滤镜。
ffmpeg -i input.mp3 -filter_complex "[0:a]showspectrum=color=fiery:saturation=2: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=1080x540:colors=B80000|950000|690000:mode=p2p,inflate,transpose=cclock[sw]; [vs][ss]overlay=w[out]; [out][sw]overlay=(W-w)/2:0[out]" -map "[out]" -map 0:a -c:v libx264 -preset fast -crf 18 -c:a copy output.mkv
我希望使用 ffmpeg 进行 showwaves
(或 showfreqs
)叠加并使其垂直居中,例如
ffmpeg -i input.mp3 -filter_complex "[0:a]showspectrum=color=fiery:saturation=2: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:colors=B80000|950000|690000: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
输出水平居中。但是是否也可以让它垂直居中?具体来说,使用单个 -filter_complex
命令参数?
我查看了 ffmpeg 手册并在 Whosebug 上搜索了答案,但无济于事。
使用转置滤镜。
ffmpeg -i input.mp3 -filter_complex "[0:a]showspectrum=color=fiery:saturation=2: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=1080x540:colors=B80000|950000|690000:mode=p2p,inflate,transpose=cclock[sw]; [vs][ss]overlay=w[out]; [out][sw]overlay=(W-w)/2:0[out]" -map "[out]" -map 0:a -c:v libx264 -preset fast -crf 18 -c:a copy output.mkv