FFmpeg:覆盖 GIF 旋转和缩放

FFmpeg : Overlay GIF Rotation and scale

我需要添加多个 gif 文件作为视频的叠加层。叠加工作但旋转每个 Gif 不知何故不起作用。

命令

 -y -i video.mp4 -ignore_loop 0 -i if4QEgLEtFRcbUBlnL.gif -ignore_loop 0 -i J1XSaMzkdlqDl89NVf.gif -filter_complex [0:v]scale=iw:ih[outv0];[1:0]scale=320.37463:178.75618,rotate=-42.103333*PI/180:c=none:ow=rotw(-42.103333*PI/180):oh=roth(-42.103333*PI/180);[outv1];[2:0]scale=305.77087:155.56105,rotate=45.82093*PI/180:c=none:ow=rotw(45.82093*PI/180):oh=roth(45.82093*PI/180);[outv2];[outv0][outv1]overlay=17:311:shortest=1[outo0];[outo0][outv2]overlay=347:296:shortest=1 -r 25 -preset superfast 1579858065554.mp4

您有一些错误的分号,这应该会给您一条错误消息:

[AVFilterGraph @ 0x55f54c7ef8c0] No such filter: ''

尝试:

-y -i video.mp4 -ignore_loop 0 -i if4QEgLEtFRcbUBlnL.gif -ignore_loop 0 -i J1XSaMzkdlqDl89NVf.gif -filter_complex [0:v]scale=iw:ih[outv0];[1:0]scale=320.37463:178.75618,rotate=-42.103333*PI/180:c=none:ow=rotw(-42.103333*PI/180):oh=roth(-42.103333*PI/180)[outv1];[2:0]scale=305.77087:155.56105,rotate=45.82093*PI/180:c=none:ow=rotw(45.82093*PI/180):oh=roth(45.82093*PI/180)[outv2];[outv0][outv1]overlay=17:311:shortest=1[outo0];[outo0][outv2]overlay=347:296:shortest=1 -r 25 -preset superfast 1579858065554.mp4