为 ffmpeg showwaves 滤镜设置背景颜色/透明度

为 ffmpeg showwaves 滤镜设置背景颜色/透明度

帖子这里非常有帮助。

我只是使用秀浪过滤器(目前)生成可视化效果,如下所示:

显示波浪可视化

ffmpeg -i input.mp3 -filter_complex \
"[0:a]showwaves=mode=cline:s=1280x480:colors=Magenta|Azure|White[v]" \
-map "[v]" -map 0:a -pix_fmt yuv420p \
-b:a 360k -r:a 44100  output.mkv

我尝试将此视频叠加在另一个视频上(使用快捷键,以防背景只有出现了是“黑色”,但它仍然存在。

Showwaves 滤镜本身没有背景颜色选项。

基于这个帖子,看起来彩色键过滤器至少可以使黑色透明,但是以下代码仍然会导致黑色背景:

ffmpeg -i input.mp3 -filter_complex \
"[0:a]showwaves=mode=cline:s=1280x480:colors=Magenta|Azure|White:r=25, colorkey=0x000000:0.1:0.1[v]" \
-map "[v]" -map 0:a -pix_fmt yuv420p \
-b:a 360k -r:a 44100  output.mkv

有什么建议么?

答案1

秀浪输出透明背景(除非你的ffmpeg设备非常旧),这样你就可以覆盖它到颜色筛选:

ffmpeg -i input.mp3 -filter_complex \
"[0:a]showwaves=mode=cline:s=1280x480:colors=Magenta|Azure|White[sw]; \
 color=s=1280x480:c=#00ff00[bg]; \
 [bg][sw]overlay=format=auto:shortest=1,format=yuv420p[v]" \
-map "[v]" -map 0:a -c:a copy output.mkv

音频是流已复制-c:a copy)而不是重新编码。

相关内容