首先,您應該使用mplayer
和jpeg
選項設置爲100(jpeg:quality = 100)創建一組具有最高質量的jpg圖像。
mplayer -ao null -ss 0:00:00 -endpos 10 mts.flv -vo jpeg:outdir=jpeg_dir:quality=100
接下來,你需要生成的JPG文件轉換爲使用convert
GIF文件,只需鍵入:
for i in ./jpeg_dir/*.jpg; do convert "$i" "${i%.jpg}.gif"; done
,最後用gifsicle
創建動畫GIF:
gifsicle --delay=10 --loop ./jpeg_dir/*.gif > anim.gif
此外,您還可以使用優化級別標誌--optimize=03
。它可以幫助減少文件大小:
gifsicle --delay=10 --optimize=03 --loop *.gif > anim.gif
此外,您可以用顏色當前的調色板 的--colors num
和--color-method method
數字操縱,以確定最合適的調色板。
對我來說最合適的方法是median-cut
median-cut is the median cut algorithm described by Heckbert
而且,我嘗試描述標誌操縱,發現最有用的選項,以實現生成GIF圖像的 質量更好:
gifsicle --delay=3 --optimize=03 --color-method median-cut --loop *.gif > anim.gif
用--delay=NUM
準確對應動畫速度。這個參數取決於原始視頻的FPS。
我對這些工具中的一部分有過一點點的瞭解。是否有可能通過管道將輸出傳遞到各個階段。這可以顯着提高處理時間(有時候!)。此外,在項目管理研究中,您會發現在時間,資源和質量之間幾乎總是存在折衷。 ; - /。祝你好運。 – shellter
另請參閱[ffmpeg轉換.flv視頻爲可怕品質的.gif](http://superuser.com/a/556031/110524)。 – LordNeckbeard