如何使用 FFmpeg 添加旋转动画以将图像覆盖在另一个带有音频文件的图像上

How to add rotate animation to overlay image over another image with an audio file using FFmpeg

我想添加旋转动画以将图像叠加到另一个图像上并创建一个带音频文件的视频。下面的代码正在创建视频文件 但问题是它旋转整个视频而不是旋转叠加图像。

ffmpeg -loop,1,-i,input.jpeg,-i,overlay.png,-filter_complex,[1]scale=400:400[b];[0:v][b] overlay=(W-w)/2:(H-h)/2, rotate=a=0.39269908169872*t/2,-ss,00:00:00,-to,00:00:15,-i,audio.mp3,-c:v,mpeg4,-b:a,3M,-c:a,aac,-b:a,192k,-s,720x720,-pix_fmt,yuv420p,-shortest,output.mp4

我也试过下面的代码

ffmpeg -loop,1,-i,input.jpg,-i,overlay.png,-filter_complex,[1]scale=400:400[b];[0:v][b] overlay=(W-w)/2:(H-h)/2[ovrly];[ovrly]rotate=a=0.39269908169872*t/2,-ss,00:00:00,-to,00:00:15,-i,audio.mp3,-c:v,mpeg4,-b:a,3M,-c:a,aac,-b:a,192k,-s,720x720,-pix_fmt,yuv420p,-shortest,output.mp4

但这两个命令给出的结果相同。请帮我解决这个问题。 提前致谢。

将旋转滤镜应用于 overlay.png:

ffmpeg -loop 1 -i input.jpg -loop 1 -i overlay.png -i audio.mp3 -filter_complex "[1]scale=400:400,rotate=a=0.39269908169872*t/2:ow='hypot(iw,ih)':oh=ow[b];[0:v][b]overlay=(W-w)/2:(H-h)/2,scale=720:720,format=yuv420p" -ss 00:00:00 -to 00:00:15 -c:v mpeg4 -b:v 3M -c:a aac -b:a 192k -shortest output.mp4