【发布时间】:2021-02-21 10:55:27
【问题描述】:
在过去的几个月里,我一直在使用 ffmpeg,但在将 GIF 文件添加为叠加层时,我无法摆脱一个问题。
基本上,我想要实现的是在 MP4 视频的顶部添加一个透明的 GIF 动画作为叠加层。
请在下面找到我正在使用的示例命令:
ffmpeg \
-i 0689a8a9-43b5-45d2-b0e8-acbea6905ce1.mp4 \
-ignore_loop 0 \
-i 02a6e696-969b-4a90-9444-e4b0b4d6f6da.gif \
-t 10.000000 \
-filter_complex "[0:v][1:v]overlay=enable='between(t, 1, 3)'[overlay]" \
-map '[overlay]' \
-pix_fmt yuv420p \
output.mp4
为了更好的理解,请注意:
-
-ignore_loop 0允许我循环播放动画,只要启用了叠加层 -
-t让我的视频持续 10 秒 -
overlay=enable='between(t, 1.0, 3.0)'设置可见的时间间隔
但是,当我运行此命令时,在 GIF 消失前的几毫秒(3 秒),它开始闪烁。如果我逐帧查看它,它实际上会从视频中消失,然后又回来,最终如预期般消失。
请从 giphy at this link 中找到一个黑色背景和随机 GIF 的示例。资产可以在here找到。
我可能在这里遗漏了一些东西。你有什么提示吗?
我在4.3.1 中运行ffmpeg。
提前谢谢你
【问题讨论】:
-
无法用单个 GIF 复制问题。提供您的输入。建议简化命令,直到得到仍然存在问题的最简单命令。
-
感谢您的回答。没错,我将命令简化到最低限度,替换了视频并上传了资产。
-
可能是一个错误。
-
您好,感谢您的回答。您是否能够重现您身边的错误?
-
是的,但我没有尝试找到解决方案。