问题描述
我想根据音频长度继续平行旋转两个叠加图像。
我正在使用以下命令,它可以很好地创建视频,并且正在旋转第一个叠加 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