Поиск по сайту:

Как создать анимированный GIF в Linux

Будь то Facebook, Google Plus, Twitter или любые другие социальные или профессиональные сети, каждый публикует свои статусы в формате GIF. Потому что в настоящее время сообщения в формате GIF привлекают больше посетителей, чем обычные изображения и видео. Анимированные GIF-файлы предназначены не только для публикации забавных постов и мемов в сети, вы также можете продуктивно использовать их для демонстрации продукта или программного обеспечения, которое вы разработали, своей аудитории.

Создать GIF-файлы не так уж и сложно. Все, что нам нужно, — это рабочий стол Linux с установленными FFmpeg и ImageMagick. Этот метод будет работать во всех других дистрибутивах, если в них установлены FFmpeg и ImageMagick. Как вы, наверное, знаете, FFmpeg — это конвертер аудио и видео с открытым исходным кодом. Используя FFmpeg, мы можем легко транслировать, конвертировать и записывать аудио- и видеофайлы. ImageMagick — это программное обеспечение с открытым исходным кодом, которое можно использовать для создания, редактирования и объединения растровых изображений.

В этом кратком уроке я покажу вам, как создавать анимированные изображения GIF на рабочем столе Ubuntu 16.04 LTS.

Сначала давайте посмотрим, как создавать изображения GIF из видео.

Как я уже сказал, нам нужно установить FFmpeg и ImageMagick для создания GIF-файлов.

FFmpeg и ImageMagick доступны в официальных репозиториях Ubuntu. Чтобы установить их, выполните следующую команду:

sudo apt-get install ffmpeg imagemagick

Я собираюсь преобразовать два видеофайла в формат GIF с помощью FFmpeg и объединить их в один файл с помощью ImageMagick. Давайте посмотрим, как я это сделал.

Сначала конвертируйте свое первое видео в формат GIF с помощью команды:

ffmpeg -ss 00:00:20 -i sample.mp4 -to 10 -r 10 -vf scale=200:-1 cutekid_cry.gif

Здесь,

  • -ss: указывает начальную точку GIF.
  • -i : входной файл
  • sample.mp4: имя моего видеофайла.
  • -to : конечная позиция файла GIF.
  • -r : частота кадров. Вы можете увеличить значение, чтобы получить более качественный GIF-файл.
  • -vf : граф фильтра. Масштабировать изображение GIF до нужного размера.

Пример вывода:

ffmpeg version N-79139-gde1a0d4 Copyright (c) 2000-2016 the FFmpeg developers
 built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.1)
 configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutls --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab
 libavutil 55. 19.100 / 55. 19.100
 libavcodec 57. 30.100 / 57. 30.100
 libavformat 57. 29.101 / 57. 29.101
 libavdevice 57. 0.101 / 57. 0.101
 libavfilter 6. 40.102 / 6. 40.102
 libavresample 3. 0. 0 / 3. 0. 0
 libswscale 4. 0.100 / 4. 0.100
 libswresample 2. 0.101 / 2. 0.101
 libpostproc 54. 0.100 / 54. 0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'sample.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: isommp42
 creation_time : 2015-11-11 07:35:15
 Duration: 00:02:35.76, start: 0.000000, bitrate: 1491 kb/s
 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 1296 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc (default)
 Metadata:
 handler_name : VideoHandler
 Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 192 kb/s (default)
 Metadata:
 creation_time : 2015-11-11 07:35:16
 handler_name : IsoMedia File Produced by Google, 5-11-2011
Output #0, gif, to 'cutekid_cry.gif':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: isommp42
 encoder : Lavf57.29.101
 Stream #0:0(und): Video: gif, bgr8, 500x281 [SAR 1124:1125 DAR 16:9], q=2-31, 200 kb/s, 100 fps, 100 tbn, 100 tbc (default)
 Metadata:
 handler_name : VideoHandler
 encoder : Lavc57.30.100 gif
Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> gif (native))
Press [q] to stop, [?] for help
frame= 240 fps=110 q=-0.0 Lsize= 9572kB time=00:00:10.00 bitrate=7841.4kbits/s speed=4.57x 
video:9569kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.027768%

Вот и все. Мы успешно создали GIF-файл из видео.

Рекомендуем прочитать:

  • Gifski – кроссплатформенный высококачественный кодировщик GIF

Объедините несколько GIF-файлов в один

Вы можете комбинировать изображения GIF. Просто создайте столько GIF-файлов, сколько хотите, как показано выше, и сохраните их в одной папке.

Затем выполните следующую команду, чтобы объединить их все:

convert -delay 120 -loop 0 *.gif cutekids_crying.gif

Создать GIF из списка изображений

Мы видим, как создать GIF-изображение из видео. Теперь мы увидим, как создать GIF из списка изображений.

Перейдите в папку, в которой вы сохранили все изображения, и запустите следующую команду из терминала, чтобы создать файл GIF.

convert -delay 120 -loop 0 *.jpg linux.gif

Здесь,

  • -delay 120: скорость анимации GIF.
  • -loop 0: бесконечные циклы анимации.

Вот и все. Ваш GIF готов.

Надеюсь это поможет.

Статьи по данной тематике