Один з найкращих інструментів, якими я користуюся, - це ffmpeg
. Він може знімати більшість відео з інструменту екранізації, наприклад, kazam
та конвертувати його в інший формат.
Встановіть це з програмного центру - він автоматично встановлюється, якщо встановити чудовий ubuntu-restricted-extras
пакет.
Kazam може виводити у відеоформати mp4
або webm
. Як правило, ви отримуєте кращі результати виведення у mp4
форматі.
Приклад створення синтаксису GIF
Основний синтаксис для перетворення відео в gif:
ffmpeg -i [inputvideo_filename] -pix_fmt rgb24 [output.gif]
Перетворені GIF - особливо ті, які мають стандартний кадр в секунду 25/29, можуть бути дуже великими. Наприклад, 15-секундне відео із швидкістю 800 Кб при 25 кадрів в секунду може вивести 435 Мбіт!
Ви можете зменшити це кількома методами:
частота кадрів
Використовуйте опцію -r [frame-per-second]
наприклад ffmpeg -i Untitled_Screencast.webm -r 1 -pix_fmt rgb24 out.gif
Розмір зменшено з 435Mb до 19Mb
обмеження розміру файлу
Використовуйте опцію -fs [filesize]
наприклад ffmpeg -i Untitled_Screencast.webm -fs 5000k -pix_fmt rgb24 out.gif
Примітка - це приблизний розмір вихідного файлу, тому розмір може бути трохи більшим за вказаний.
розмір вихідного відео
Використовуйте опцію -s [widthxheight]
наприклад ffmpeg -i Untitled_Screencast.webm -s 320x200 -pix_fmt rgb24 out.gif
Це зменшило приклад розміру відео 1366х768 до 26Мб
петля назавжди
Іноді ви можете хотіти, щоб GIF назавжди зациклювався.
Використовуйте опцію -loop_output 0
ffmpeg -i Untitled_Screencast.webm -loop_output 0 -pix_fmt rgb24 out.gif
додатково оптимізувати та скорочувати
якщо ви використовуєте imagemagick
convert
з коефіцієнтом нечіткості від 3% до 10%, ви можете значно зменшити розмір зображення
convert output.gif -fuzz 3% -layers Optimize finalgif.gif
нарешті
комбінуйте деякі з цих варіантів, щоб звести до чогось керованого для Ask Ubuntu.
ffmpeg -i Untitled_Screencast.webm -loop_output 0 -r 5 -s 320x200 -pix_fmt rgb24 out.gif
слідом за ним
convert output.gif -fuzz 8% -layers Optimize finalgif.gif
приклад