前言
在github上,我們發現很多開源庫的readme里都有gif文件,平時聊天我們也發現經常有些小伙伴發一些自制的gif文件。怎么把mov,MP4等其他格式的文件轉為gif文件呢?網上有很多介紹各種軟件的,大家可以隨便Google一下,我今天給大家講講怎么用終端+命令行的方式實現mov等其他格式到gif的轉換。
安裝
在進行轉換命令之前呢我們得先安裝幾個小東東。
homebrew
如果你已經裝好了,這一步就當沒看見。否則把下面兩行腳本粘貼到你的終端,并執行。首先:
xcode-select --install
復制代碼
然后
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
復制代碼
不出意外的話,homebrew就裝好了。
gifify
接下來就要安裝我們真正的主角了。 首先,安裝Node.js環境(如果以前已經裝好了,這跳過這步):
brew install node
復制代碼
然后,安裝FFmpeg
brew install ffmpeg --with-libass --with-fontconfig
復制代碼
再安裝convert
brew install imagemagick --with-fontconfig
復制代碼
然后去pornel/giflossy下載最新的zip包,解壓之后把和電腦匹配的執行文件放到/usr/local/bin
下面,你放其他地方也行,只要能保證它運行就可以。 如果你的網速不好,安裝FFmpeg
和convert
時會很慢,我用了六七個小時。 最后安裝gifify
npm install -g gifify
復制代碼
執行
gifify -h
復制代碼
如果沒問題的話,會出現如下結果:
Usage: gifify [options] [file]Options:-h, --help output usage information-V, --version output the version number--colors <n> Number of colors, up to 255, defaults to 80--compress <n> Compression (quality) level, from 0 (no compression) to 100, defaults to 40--from <position> Start position, hh:mm:ss or seconds, defaults to 0--fps <n> Frames Per Second, defaults to 10-o, --output <file> Output file, defaults to stdout--resize <W:H> Resize output, use -1 when specifying only width or height. `350:100`, `400:-1`, `-1:200`--speed <n> Movie speed, defaults to 1--subtitles <filepath> Subtitle filepath to burn to the GIF--text <string> Add some text at the bottom of the movie--to <position> End position, hh:mm:ss or seconds, defaults to end of movie
復制代碼
使用
進入到你要轉換的文件的目錄下,比如我的mov文件放在桌面上,執行
cd Desktop/
復制代碼
然后執行
gifify timer.mov -o timer.gif
復制代碼
OK,回到桌面,我們發現想要的gif文件已經在那了。timer.mov是你要轉換的文件,timer.gif是轉成功之后你要的文件。 通過gifify
命令,我們還可以在轉換的同時,往gif里插入字幕、副標題等等,具體可以參考vvo/gifify。
寫在最后
寫這篇文章之前,查了不少資料,有些還比較詳細,但因為都不是最新的,有些地方容易采坑,所以我特意重寫了一篇,引用的文章我都會在參考鏈接里列出來。
本博客是原創,按照MIT License
發布,引用和轉載請標明出處。
參考鏈接
- vvo/gifify
- pornel/giflossy
- convert
- FFmpeg
- 在 Mac 上把錄制的屏幕視頻轉成 Gif 動畫
- Homebrew/homebrew
- Homebrew
- Mac 下安裝Homebrew 總是失敗,該怎么辦?