Я пытаюсь извлечь GIF из видеофайла MP4.
Теперь у меня есть два способа, с помощью которых я это делаю:
1) обычный:
ffmpeg -t 7.7 -ss 00:22:53 -i video.mp4 -i palette.png -s 320x174 -filter_complex "fps=15" output.gif
который выдает файл размером 1,6 МБ.
и 2)
ffmpeg -t 7.7 -ss 00:22:53 -i video.mp4 -i palette.png -filter_complex "fps=15,scale=320:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif
что дает намного лучше выглядящий, но 4.5MB (181% увеличение) большой файл. Он использует файл палитры 16x16, который я создал с
ffmpeg -y -t 7.7 -ss 00:22:53 -i video.mp4 -vf fps=15,scale=320:-1:flags=lanczos,palettegen palette.png
Теперь я не совсем понимаю, как 2 GIF-файла с одинаковым fps, длительностью и разрешением могут иметь такую огромную разницу в размере. Моя интуиция подсказывает, что они должны быть одинаковыми. Почему такая разница? И есть ли способ обрезать размер 2) до размера 1) без потери качества?
Спасибо