Gifski這個開源程序可以將一系列圖片或一段視頻轉化為高質量的gif,高質量是這個程序最大的特色,下面我們將從使用與評價兩個方面來介紹這個程序。
使用
Gifski實際上適用於windows,mac以及linux三個平台,唯一不同的是,mac平台上的gifski內置了視頻分幀工具,因此可以直接把視頻拖入程序窗口即可生成gif,而其它平台上則只能使用第三方程序分幀後才能處理,並且要在命令行中運行。
(在這裡插入一張圖片,太大自行嘗試上傳文件:官方實例圖片.gif)
不過這並不是什麼大問題,還記得開源工場之前的延展ffmpeg嗎
https://openingsource.org/553/?這款命令行程序就是完美的分幀工具。下面筆者將以一段視頻為例,演示這兩個工具的使用教程。
環境:win10
視頻源:祖婭納惜-逆浪春秋,該視頻FPS30,更能體現這個工具的性能。
如果你是剛接觸命令行工具,請按照以下步驟進行:
將ffmpeg,gifski,準備轉換的視頻放在同一個文件夾。
按Win+R,輸入cmd,打開命令提示行。
輸入 X:,X是你的文件夾所在盤符。
輸入 cd xxxx/xxxx 即文件夾所在目錄。不需要輸入盤符。
此時就可以開始調用這兩個工具了。
運行cmd,調用ffmpeg,開始分幀:
< ffmpeg -i video.mp4 frame%04d.png>
此處%04d表示會從0001開始計數。如果視頻較長可以調大,但不建議,因為太多會極大影響GIF的生成時間,實際上,1000幀就已經要花去十幾分鐘來生成了。
處理完成後,刪掉你不需要的幀。
接下來就要把這些圖片整合到一起,成為一張GIF。
運行cmd,調用gifski:
<gifski -o file.gif frame*.png>
友情提示,本機處理1280x720大小的gif的處理速度大概是0.7秒/幀,製作GIF的時候請注意時間。另外這裡使用的是默認參數:幀率20。
由於幀率是20較原視頻小,因此顯得較慢。
程序提供的參數:
這裡我們嘗試使用30幀速率再次製作,並且取名為h_sped.gif:
gifski -o h_sped.gif --fps 30 frame*.png
效果如下:
(由於gif文件過大,此處僅提供文字描述)
可以發現,到後面會有較為明顯的掉幀現象,這有可能是程序的問題,更有可能是電腦性能所限。實際使用中,不建議使用這麼大的圖片以及這麼長的片段,畢竟用戶要看這麼大的GIF也是得頗費周章。
總體來說gifski是個強大的高質量gif工具,但功能較為單一,且需要先依靠ffmpeg分割為png,操作略顯繁瑣,而且大小無法進行選取。所以相比之下,如若在windows下則並不推薦使用gifski。可以嘗試下面推薦的軟體。
而在Linux下ubantu自帶的ImageMagick也幾乎可以得到完全相同的效果(速度較快,質量高),操作也十分相近,可以說不相上下,同時這兩款也都十分依靠ffmpeg。Mac平台下不清楚其他軟體的特性,反正gifski同樣適用。
實際上,在比較的時候,筆者還發現了一個神奇的集大成者:ScreentoGIF。
它把ffmpeg與gifski整合到了一起,還支持錄屏功能,儘管是閹割版,不能支持所有的視頻格式,但是也已經非常強力了,還可以手動選擇要轉化的幀,最關鍵的是,這是一個窗口程序而不是命令行程序!不懂命令行或者厭煩命令行操作的小夥伴們可有福了,之前的命令行教程權當學習一下吧……(別打死我2333)
還有一個很爽的事:該項目在github上開源。
https://github.com/NickeManarin/ScreenToGif