Я пытаюсь извлечь 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,5 МБ (увеличение на 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) без потери качества?
Спасибо