我想手动修改动画 gif。因此,我尝试将其转换为单个(可编辑)帧,然后绘制修改内容,然后重新组装这些帧。
首先,我将 31 秒长的 mp4 转换为动画 gif:
ffmpeg -i Daisies.mp4 -r 15 -vf scale=512:-1 -ss 00:00:03 -to 00:00:06 DaisiesOK.gif
这个动图还可以。
然后我将此动画 gif 转换为单独的帧:
convert DaisiesOK.gif Daisies.png
第一帧看起来还好,除了它是 256 种颜色,但接下来的帧非常苍白,充满了透明像素。
这些帧转换为动画 gif:
convert -delay 20 -loop 0 *.png Daisies.gif
给出了非常丑陋的视频,雏菊有白色的“阴影”,它们开始的地方(它们摇摆)留下了白色雏菊边缘的印记。
如果我尝试使用 jpeg 而不是 png,情况会更糟,大部分视频都只是黑色。
我如何提取保留所有颜色信息的帧?问题出在 imagemagick 还是 ffmpeg?