如何使用FFmpeg平行旋转两个叠加层

问题描述

我想根据音频长度继续平行旋转两个叠加图像。

我正在使用以下命令,它可以很好地创建视频,并且正在旋转第一个叠加 gif 图像。但它不会旋转第二个 textoverlay.png 文件。我想同时旋转两个图像。

ffmpeg -loop,1,-i,background.jpg,-ignore_loop,overlay1.gif,textoverlay.png,watermark.png,audio.mp3,-filter_complex,[1]scale=524:524,rotate=0.06*PI*t:c=black@0.0:ow='hypot(iw,ih)':oh=ow[b];[2]scale=406:406,ih)':oh=ow[pic2];[3]scale=100:50[watermark];[0:v][b]overlay=(W-w)/2:(H-h)/2[over1],[over1][pic2]overlay=(W-w)/2:(H-h)/2[pic3],[pic3][watermark]overlay=(W-120):(H-60),scale=830:830,format=yuv420p,-ss,00:00:00,-to,00:00:08,-c:v,mpeg4,-b:a,3M,-c:a,aac,192k,-q:v,-shortest,output.mp4

我也试过这个 link 但这不起作用。
任何帮助将不胜感激。
提前致谢。

解决方法

-loop 1 添加到 textoverlay.png,并在分离不同的过滤器链时在过滤器图中使用 ; 而不是 ,

ffmpeg -loop,1,-i,background.jpg,-ignore_loop,overlay1.gif,-loop,textoverlay.png,watermark.png,audio.mp3,-filter_complex,[1]scale=524:524,rotate=0.06*PI*t:c=black@0.0:ow='hypot(iw,ih)':oh=ow[b];[2]scale=406:406,ih)':oh=ow[pic2];[3]scale=100:50[watermark];[0:v][b]overlay=(W-w)/2:(H-h)/2[over1];[over1][pic2]overlay=(W-w)/2:(H-h)/2[pic3];[pic3][watermark]overlay=(W-120):(H-60),scale=830:830,format=yuv420p,-ss,00:00:00,-to,00:00:08,-c:v,mpeg4,-c:a,aac,-b:a,192k,-q:v,-shortest,output.mp4

相关问答

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