Анимираните GIF са повсеместни на социалните медийни уебсайтове, пратеници и др. Обикновено те са кратки и прав до този момент. Били ли сте някога да искате да споделите кратък клип на интересна част от видеоклипа? Можете да създадете анимиран GIF от видеофайл, който можете да споделяте чрез множество социални сайтове и / или приложения за чат.

Тази статия е дискусия за това как да създадете анимиран GIF на фрагмент от видеоклип в Linux, като използвате инструменти на командния ред.

Настройвам

За да създадем анимиран GIF от видеоклип, ние се нуждаем от два инструмента. Първият ще бъде използван за изрязване или изрязване само на част от видеото, от което се интересуваме, и в същото време да правим снимки и да генерираме индивидуални GIF изображения. Вторият инструмент ще комбинира тези генерирани GIF в крайния анимиран GIF.

Инструмент 1 е ffmpeg, който според собствената си дефиниция е в състояние да декодира, кодира, прекодира, mux, demux, поток, филтрира и играе почти всичко, което хората и машините са създали . За съжаление, поради причини извън обхвата на тази статия, ffmpeg не е налице в официалните хранилища на Ubuntu за версии на Ubuntu между 11.10 и 14.10. За щастие, ffmpeg е планирано да се върне в официалните хранилища на Ubuntu от Ubuntu 15.04, които ще бъдат пуснати през април 2015 г.

За да инсталирате ffmpeg във версии на Ubuntu, където не е в официалните хранилища, можете да изтеглите статичните графики от тук, да клонирате изходния код с git,

 git клонинг git: //source.ffmpeg.org/ffmpeg.git ffmpeg 

или добавете PPA на Jon Svenrinsson, като използвате следните команди:

 sudo apt-add-repository ppa: jon-severinsson / ffmpeg sudo apt-get актуализация sudo apt-get install ffmpeg 

Вторият инструмент е imagemagick, който позволява на потребителите да манипулират изображения по различни начини. Imagemagick е достъпен чрез официалните канали за инсталиране на Ubuntu и може да бъде инсталиран със следната команда:

 sudo apt-get инсталирате imagemagick 

Премахване на видеоклипа

Анимираните gif са по-добри като кратки клипове. Анимиран GIF е поредица от различни GIF изображения, показани един след друг. Ако всеки GIF е 1 МБ и анимацията ви има 100 изображения, анимираният Ви GIF би бил 100 МБ. Определено не искате да превърнете двучасовия филм в анимиран GIF. Първото нещо, което бихме направили, е да направим снимки на видеоклипа между избрана стартова и спирка и да запазим тези снимки като GIF изображения.

Първо създайте директория, в която ще бъдат запаметени създадените gif.

 mkdir ffmpeg_dir 

След това изпълнете командата, замествайки "video.mp4" с желания видео файл:

 ffmpeg -ss 00:00:02 -i видео.mp4 -на 5 -r 5 -vf мащаб = 400: -1 ffmpeg_dir / out% 04d.gif 

В горната команда опциите и описанията им са:

  • ss - стартирайте записа на място. Позицията може да бъде число в секунди или абсолютна позиция във видеото, изразено в "hh: mm: ss [.xxx]" (с милисекунди по избор)
  • i - входното видео.mp4
  • to спрете записа на място. Позицията може също така да бъде число в секунди (което означава запис за дадения брой секунди), или то може да бъде абсолютна позиция във видеоклипа.
  • vf - филтърна графика. Използваме го за мащабиране на генерираните изображения до желания от нас размер (мащаб = ширина: височина). Посочихме -1 за височина, което показва, че съотношението трябва да бъде поддържано, докато ширината трябва да бъде 400 пиксела. Генерираните изображения могат да бъдат изкривени чрез задаване на произволни стойности за ширина и височина
  • r - скорост на кадрите (кадъра в секунда). По-висока стойност означава, че ще бъдат заснети още изображения, което ще доведе до по-плавна анимация, но до по-голям анимиран GIF.

Папката "ffmpeg_dir" вече трябва да съдържа gif изображения. Общият брой изображения зависи от дължината на желания клип и скоростта на кадрите.

Създаване на анимацията

За да обединим джиповете в гигантски анимиран GIF, използваме инструмент imagemagick, наречен convert .

 конвертиране-разместване 1x5 -клуп 0 ffmpeg_dir / out * .gif ffmpeg_dir / animation.gif 

  • delay - указва продължителността на пауза между изображения (т.е. скоростта на анимация). 1 × 5 показва 5 кадъра в секунда.
  • loop - показва броя на изискваните повторения. 0 означава безкраен.

заключение

В този момент трябва да имате персонализирана анимация, готова за споделяне с reddit, google +, facebook, bbm и др. Експериментирайте с честотата на кадрите на ffmpeg (-r) и конвертирайте (-delay), за да постигнете най-плавната анимация на най-малкия общ размер на файла. Сега можете да създавате анимирани GIF изображения на фрагменти от любимите си видеоклипове.