Chuyển đổi file .mov sang .gif

File quay màn hình trên macOS thường lưu ở định dạng .mov và muốn chuyển sang file .gif để vứt lên cái trang GàDev này cho dễ thôi chứ cũng chả có mục đích gì to tát cả.

Bài này tham khảo từ Gist của Alex Dergachev và tóm tắt lại để sử dụng cá nhân hoá.

Cài đặt#

1
2
3
4
5
6
7
8
9
brew install ffmpeg 

#if cask is not installed
brew install caskroom/cask/brew-cask

#dependency for gifsicle, only required for mountain-lion and above
brew cask install xquartz

brew install gifsicle

Chuyển đổi file mov sang file gif#

Tạo file mov_to_gif_scale.sh#
1
2
3
4
5
6
7
if [ -z "$1" ]
then
echo "Must have a parameter for time of video, the type in seconds format."
exit 1
fi

ffmpeg -i /Users/mozaa/Locally/in.mov -pix_fmt rgb24 -r 10 -s 1024x640 -f gif - | gifsicle --optimize=$1 --delay=5 > /Users/mozaa/Locally/out_scale.gif
  • in.mov Tên file đầu vào
  • -r 10 Kêu thằng ffmpeg giảm tốc độ khung hình xuống còn 10 fps
  • -s 1024x640 Scale khung hình sang kích thước 1024x640
  • –optimize=$1 Kêu thằng gifsicle xuất ra file có time tối đa là $1 giây. Biến $1 truyền vào khi gọi lệnh, nhằm tuỳ biến theo mỗi video dài ngắn khác nhau.
  • –delay=50 Độ trễ mỗi khung hình là 50ms.
Chạy lệnh tạo file gif#
1
./mov_to_gif_scale.sh 76
  • Giả sử trường hợp file 1:54s muốn giảm xuống còn 2/3 thời gian = 76 giây.