我正在尝试使用ffmpeg,并希望为带背景图像的音频生成叠加复合滤镜。除了添加-filter_complex "[0:a]showwaves=s=1280x720:mode=line,format=yuv420p[v]" -map "[v]" -map 0:a
时,代码通常有效
它崩溃了。我在https://trac.ffmpeg.org/wiki/Waveform找到了示例代码。感谢任何帮助。
Command '['c:/ffmpeg/bin\\ffmpeg.exe', '-y', '-loop', '1', '-r', '1', '-i', 'temp\\bg.png', '-i', 'test.mp3', '-filter_complex', '[0:a]showwaves=s=1280x720:mode=line,format=yuv420p[v]', '-map', '[v]', '-map', '0:a', '-c:v', 'libx264', '-preset', 'ultrafast', '-tune', 'stillimage', '-crf', '15', '-pix_fmt', 'yuv420p', '-strict', 'experimental', '-c:a', 'aac', '-b:a', '256k', '-shortest', '-threads', '0', 'done/test.mp4']'
编辑1:
我用新版本ffmpeg -y -i input.mp3 -i background.png -filter_complex "[0:a]showwaves=s=1280x720:mode=line,format=yuv420p[v]" -map "[v]" -map 0:a -c:v libx264 -c:a copy output.mp4
它生成一个输出文件,但只包含波形,不包括背景。我的最终目标是在背景上生成波形。
答案 0 :(得分:3)
使用
ffmpeg -y -i input.mp3 -loop 1 -i background.png -filter_complex "[0:a]showwaves=s=1280x720:mode=line,colorkey=0x000000:0.01:0.1,format=yuva420p[v];[1:v][v]overlay[outv]" -map "[outv]" -pix_fmt yuv420p -map 0:a -c:v libx264 -c:a copy -shortest output.mp4