代码之家  ›  专栏  ›  技术社区  ›  Pier Giorgio Misley

ffmpeg zoompan覆盖在几秒钟后重置缩放

  •  0
  • Pier Giorgio Misley  · 技术社区  · 8 年前

    我注意到,有时(并非总是)我的zoompan会在几秒钟后将缩放重置为起始大小。

    在这种情况下,我的图像始终具有淡入淡出和缩放功能。

    我的图像应该出现在22英寸(是的),消失在41英寸(也是的)。(共19英寸)

    图像一直在缩放,但精确到38英寸(16秒后),它会返回到第一个大小并重新开始缩放。我尝试更改zoompan值、持续时间和计时,但它仍然会重置大小。

    我错过了什么?

    -i "output_text2.mp4" -loop 1 -t 1 -i "1.png" -filter_complex "[1:v]format=yuva422p,scale=1115x1980,setsar=1/1,pad=1.5*iw:1.5*ih:(ow-iw)/2:(oh-ih)/2:color=black@0,zoompan=z='zoom+0.0005':s=223x396:d=475:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)',fade=in:st=22:d=3:alpha=1,fade=out:st=38:d=3:alpha=1[im];[0][im]overlay=(main_w-overlay_w)/2:(main_h - overlay_h)/2:shortest=1" -pix_fmt yuv420p -c:a copy output_0.mp4
    

    谢谢大家

    1 回复  |  直到 8 年前
        1
  •  1
  •   Gyan    8 年前

    删除 -loop 1 -t 1 之前 -i "1.png"

    更改淡入淡出计时并添加PTS过滤器

    fade=in:st=0:d=3:alpha=1,fade=out:st=16:d=3:alpha=1,setpts=PTS+22/TB[im]

    套用前面的答案,

    zoompan分别对每个图像进行操作。通过在每个图像之前添加-t 1,它将对每个图像的25帧进行操作,为每个图像生成475帧的zoompan!我认为这不是你想要的。