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

问题描述

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

ffmpeg -loop,1,-i,input.jpeg,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,audio.mp3,-c:v,mpeg4,-b:a,3M,-c:a,aac,192k,-s,720x720,-pix_fmt,yuv420p,-shortest,output.mp4

我也试过下面的代码

ffmpeg -loop,input.jpg,[1]scale=400:400[b];[0:v][b] overlay=(W-w)/2:(H-h)/2[ovrly];[ovrly]rotate=a=0.39269908169872*t/2,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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...