You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用FFmpeg为视频添加音频可视化叠加层?

用FFmpeg给视频加音频可视化的正确操作

问题根源

你之前的命令错在同时输出了可视化流和原视频流,没把两者合成到一起,导致FFmpeg输出异常,自然看不到可视化效果。

两种实用方案

方案1:可视化当背景,原视频居中显示

把可视化效果作为背景,原视频缩小后放在中间,适合突出可视化的场景:

ffmpeg -stream_loop -1 -i cassette-edit.mp4 -i test-audio.mp3 -filter_complex "[1:a]showwaves=s=1920x1080:mode=line:colors=white:draw=full[visual];[0:v]scale=960x540[vid];[visual][vid]overlay=x=(W-w)/2:y=(H-h)/2[outv]" -shortest -map "[outv]" -map 1:a "Cassette Dreams - w visualizer.mp4" -y
  • showwaves生成全屏可视化背景
  • scale把原视频缩到合适大小(960x540可以自己改)
  • overlay让原视频居中叠在可视化上

方案2:可视化拼接在原视频底部

不想遮挡原视频内容的话,直接把可视化条拼在视频下方:

ffmpeg -i cassette-edit.mp4 -i test-audio.mp3 -filter_complex "[1:a]showwaves=s=1920x200:mode=line:colors=white:draw=full[visual];[0:v][visual]vstack=inputs=2[outv]" -shortest -map "[outv]" -map 1:a "Cassette Dreams - w visualizer.mp4" -y
  • showwaves生成窄条可视化(高度200可调整)
  • vstack把原视频和可视化垂直拼在一起

重要提示

  • 删掉原命令里的-map 0:v,因为我们已经通过滤镜合成了新的视频流[outv]
  • stream_loop -1会循环播放原视频,配合-shortest会让输出时长和音频保持一致
  • 要保证可视化和原视频的分辨率匹配,不然会出现拉伸或黑边问题

内容的提问来源于stack exchange,提问作者user2108258

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 23:45:41