Một trong những công cụ tốt nhất tôi sử dụng là ffmpeg
. Nó có thể lấy hầu hết video từ một công cụ screencast như kazam
và chuyển đổi nó sang định dạng khác.
Cài đặt phần mềm này từ trung tâm phần mềm - nó được cài đặt tự động nếu bạn cài đặt ubuntu-restricted-extras
gói tuyệt vời .
Kazam có thể xuất ra ở định dạng video mp4
hoặc webm
. Nói chung, bạn nhận được kết quả tốt hơn xuất ra ở mp4
định dạng.
ví dụ cú pháp tạo ảnh GIF
Cú pháp cơ bản để chuyển đổi video sang gif là:
ffmpeg -i [inputvideo_filename] -pix_fmt rgb24 [output.gif]
GIF được chuyển đổi - đặc biệt là những ảnh có 25/29 khung hình mỗi giây tiêu chuẩn có thể rất lớn. Ví dụ: một video 15 giây web 800Kb ở tốc độ 25 khung hình / giây có thể xuất ra 435Mb!
Bạn có thể giảm điều này bằng một số phương pháp:
tỷ lệ khung hình
Sử dụng tùy chọn -r [frame-per-second]
ví dụ ffmpeg -i Untitled_Screencast.webm -r 1 -pix_fmt rgb24 out.gif
Kích thước giảm từ 435Mb xuống 19Mb
giới hạn kích thước tập tin
Sử dụng tùy chọn -fs [filesize]
ví dụ ffmpeg -i Untitled_Screencast.webm -fs 5000k -pix_fmt rgb24 out.gif
Lưu ý - đây là kích thước tệp đầu ra gần đúng để kích thước có thể lớn hơn một chút so với chỉ định.
kích thước của video đầu ra
Sử dụng tùy chọn -s [widthxheight]
ví dụ ffmpeg -i Untitled_Screencast.webm -s 320x200 -pix_fmt rgb24 out.gif
Điều này đã giảm kích thước video 1366x768 xuống còn 26Mb
vòng lặp mãi mãi
Đôi khi bạn có thể muốn GIF lặp lại mãi mãi.
Sử dụng tùy chọn -loop_output 0
ffmpeg -i Untitled_Screencast.webm -loop_output 0 -pix_fmt rgb24 out.gif
tiếp tục tối ưu hóa và thu nhỏ
Nếu bạn sử dụng imagemagick
convert
với hệ số mờ từ 3% đến 10% thì bạn có thể giảm đáng kể kích thước hình ảnh
convert output.gif -fuzz 3% -layers Optimize finalgif.gif
cuối cùng
kết hợp một số tùy chọn này để giảm xuống mức có thể quản lý được đối với Hỏi Ubuntu.
ffmpeg -i Untitled_Screencast.webm -loop_output 0 -r 5 -s 320x200 -pix_fmt rgb24 out.gif
theo dõi bởi
convert output.gif -fuzz 8% -layers Optimize finalgif.gif
thí dụ