我已经通过以下方式将源视频转换为 GIF 来完成这项工作:
ffmpeg -y -t 5 source.mp4 -vf fps=10,scale=480:-1,smartblur=ls=-0.5,crop=iw:ih-2:0:0 -hide_banner -loglevel panic output.gif
然后将 GIF 转换为 MP4,如下所示:
ffmpeg -y animated.gif -hide_banner -pix_fmt yuvj420p -loglevel panic -an -loglevel panic final.mp4
我想要的是转换
source.mp4
直接到final.mp4
,并具有与普通 GIF 相同的 256 色调色板。我尝试将这两个命令合并在一起,虽然它会生成 MP4,但结果是 16 位视频,比 8 位视频小得多。
我需要先用
palettegen
生成调色板吗?然后用这个调色板重新编码视频?
最佳答案
您可以使用调色板生成和调色板使用过滤器,就像通常用于创建 GIF 一样。
ffmpeg -i source.mp4 -vf palettegen palette.png
接着,
ffmpeg -i source.mp4 -i palette.png -filter_complex "paletteuse" -c:a copy out.mp4
关于ffmpeg - 创建 256 色调色板视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60477430/