我正在嘗試從 MP4 視訊檔案中提取 GIF。
現在我有兩個 modi 可以用來執行此操作:
1)常規的:
ffmpeg -t 7.7 -ss 00:22:53 -i video.mp4 -i palette.png -s 320x174 -filter_complex "fps=15" output.gif
它給出一個文件,大小為 1.6MB。
和 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 個具有相同 fps、持續時間和解析度的 GIF 在大小上會有如此巨大的差異。我的直覺是,它們應該是相同的。為什麼會有這樣的差異呢?有沒有什麼方法可以將 2) 的尺寸縮小到 1) 的尺寸而不損失品質?
謝謝