【发布时间】:2019-08-28 10:29:41
【问题描述】:
我正在尝试将动画 gif 重叠在视频上,但没有成功。
我的目标是下一个:
- gif 动画必须循环播放,直到视频结束。
- gif 已缩放以覆盖整个视频。
- gif 保留透明度。
在这方面我取得的最大成就是 gif 使用比例过滤器覆盖了整个视频,并且它会循环播放直到视频结束(但我猜这不是最好的方式)。
关于循环,我知道我可以在叠加层中使用 -ignore_loop 0 gif 过滤器参数,其中最短 = 1,但这样它不起作用,所以我最终得到 -frames:v 900(我的视频是 30fps 和 30 秒长,所以 900 是帧数)。
我最重要的问题是我无法保持 gif 透明度,而且我尝试的一切都没有成功。
这是我的带有参数的 ffmpeg 命令,所以我希望任何人都可以提供帮助(我使用的是 ffmpeg 4.1)。
ffmpeg -y
-i videoin.mp4
-i anim01.gif
-filter_complex [1:v]scale=1080:1920[ovrl] [0:v][ovrl]overlay=main_w-overlay_w:main_h-overlay_h
-frames:v 900
-codec:a copy
-codec:v libx264
-preset ultrafast
video.mp4
【问题讨论】:
标签: ffmpeg transparency overlap animated-gif