答案1
调整命令如下如何使用 ffmpeg 将视频转换为 GIF,并保证质量:
ffmpeg -i input.gif -vf "drawtext=fontfile=OpenSans.ttf:text='Stack Overflow':fontcolor=black:fontsize=24,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" output.gif
答案2
所以我偶然找到了一个可行的解决方案,我不确定它是否最佳,但它有效。
我将其转换为 .mp4,然后添加文本,然后再转换回 .gif
转换为 mp4(您需要在这里设置自己的字体)
ffmpeg -i test.gif -vf "drawtext=fontfile=OpenSans.ttf:text='Stack Overflow':fontcolor=black:fontsize=24" -codec:a copy output.mp4
转换回 gif
ffmpeg -i output.mp4 -filter_complex 'fps=10,scale=500:-1:flags=lanczos,split [o1] [o2];[o1] palettegen [p]; [o2] fifo [o3];[o3] [p] paletteuse' final.gif
这会导致图像与文本正确呈现(右下角):
我不确定这是否是最佳选择,或者这些复杂的标志到底在做什么。我还随意将比例设置为 500,因为如果我不这样做,最终的 gif 会很小。
因此,如果有人有更好的解决方案,请在此处发布!