Начало > проблеми, GNU/Linux, MS Windows, решения и уроци, софтуер и хардуер > Създаване на видео screencast, на анимиран GIF файл от видео или чрез запис на част от работния плот

Създаване на видео screencast, на анимиран GIF файл от видео или чрез запис на част от работния плот

В последно време анимираните GIF файлове възвърнаха своята популярност и се използват често, особено в комбинация с емотикони, за да изразят дадено чувство, състояние, мнение или общо настроение. Видео уроците, представляващи запис на дейността на работния плот (т.е. desktop-а, често придружени от инструкции под формата на озвучаване на видеото чрез записан чрез микрофон глас), пускани в YouTube и подобни уебсайтове за качване и споделяне на видеоклипове, са също много популярни от много години насам.

В тази статия ще разгледам накратко най-известните и добре работещи начини за създаване на видео screencast („екранопредаване“ — да не се бърка нито със screensharing, което е споделяне в реално време на това какво се случва на работния ви плот, нито с програмите за отдалечен достъп до работния плот), както и на анимиран GIF файл — било то от нарисувани от нас (или взети от другаде) изображения-кадри, било чрез извличане чрез офлайн програми или онлайн услуги на част от видеоклип, било чрез използване на офлайн програми за пряк запис на дейността на работния ви плот (т.нар. screencast) като видео или като анимиран GIF. Няма да дам подробни указания, а само общи насоки за работа с програмите.

1. Запис на видео на дейността на работния ви плот

Вече съществуват достатъчно много добри програми за създаване на видео чрез запис на дейността на работния плот (включително и безплатни такива) — сред най-добрите се нареждат:

  • CamStudio (свободен софтуер с отворен код, за Windows, лиценз: GNU GPLv3, записва в по-стария видео формат AVI, но при наличие на свободни програми за преобразуване (конвертиране) на видео в по-ползвани днес формати, това не е проблем — програми като WinFF и HandBrake биха ви свършили добра работа, можете дори да ползвате и ffmpeg през командния ред за същата цел… Ако изберете да ползвате тази програма, е най-добре да ползвате един от следните кодеци: CamStudio Lossless Codec или x264vfw, като и двата се налага да бъдат изтеглени допълнително.);
  • ShareX (написана е на езика за програмиране C# и ползваща .NET Framework 4.0, лиценз: GNU GPLv3, освен това може да записва екрана и като анимиран GIF, пък и има цяла дузина ефекти, които могат да се приложат върху записа, пък и може да качва автоматично резултатите в популярни уебсайтове за хостване на изображения);
  • Freeseer (за GNU/Linux, записва в свободния формат OGG);
  • Wink (безплатна, но със затворен код (т.е. freeware); от форматите, които поддържа като краен резултат, само Flash върши работа… което е тъпо предвид конкуренцията…);
  • SimpleScreenRecorder (изглежда е най-добрият избор за GNU/Linux, но лично аз не съм я пробвал; уж може да записва и игри, които работят под OpenGL, което я прави еквивалент на FRAPS, но за Линукс);
  • recordMyDesktop (написана е на езика за програмиране C, само за GNU/Linux е, записва само в свободния формат Ogg (Theora за видео и Vorbis за аудио, изглежда по нея не е работено от няколко години насам…);
  • FRAPS (комерсиален софтуер със затворен код, но най-добрата за запис на видео от компютърни игри — в популярните торент тракери се намират по-стари нейни версии, ако не се свените да пиратствате платен софтуер);
  • vokoscreen (за GNU/Linux);
  • Silentcast  (за GNU/Linux, може да записва видео на екрана във формати WebM, MP4, като отделни кадри във формат PNG, а поддържа и запис на екрана като анимаран GIF);
  • Kazam Screencaster (за GNU/Linux, поддържа запис във формат MP4 (H264), WebM (VP8) и AVI (RAW, HUFFYUV и lossless JPEG), за урок как се работи с нея вижте тук);
  • FFcast (за GNU/Linux);
  • Byzanz (може да записва видео на дейността от екрана в няколко видео формата, а и като анимиран GIF, само за GNU/Linux, страница в Launchpad, ръководство за употреба във формат man).
  • Istanbul (записва видео на дейността от екрана като OGG (Theora)).
  • Други за GNU/Linux:
    http://screenstudio.crombz.com/
    https://launchpad.net/tibesti = WebM, Ogg Media, Flash and several types of Matroska
    https://github.com/edartuz/scshoot
    http://askubuntu.com/questions/4428/how-to-create-a-screencast
    http://askubuntu.com/questions/107726/how-to-create-animated-gif-images-of-a-screencast
    http://sourceforge.net/directory/graphics/graphics/graphics-capture/screencapture/os:linux/freshness:recently-updated/
    http://sourceforge.net/projects/jscreenrecorder/
    http://sourceforge.net/projects/capturedit/
  • Съществуват и по-сложни методи, пак с използване на командния ред и ffmpeg/libav:
    http://askubuntu.com/questions/107726/how-to-create-animated-gif-images-of-a-screencast и
    http://unix.stackexchange.com/questions/113695/gif-screencasting-the-unix-way.
  • и много други…

Някои дори ползват ffmpeg или libav направо от командния ред (т.е. чрез изписване в текстов терминал на текста на командата за запис), но лично аз не виждам смисъл да се ползва нещо през команден ред, ако има графична обвивка (т.е. версия с ГПИ (GUI) на същото или на нещо със същата функционалност), все пак не всеки има желание да бъде професионален системен администратор на сървъри с GNU/Linux. 😀 Въпреки това смятам, че в немалко случаи работата чрез командния ред е далеч по-бърза, по-лесна и изпълнена с повече функционалности от тази с обвивка с ГПИ при някои програми.

Ако смятате в YouTube да качите видео, създадено чрез запис с някои от горните програми, ви препоръчвам да се запознаете с препоръчаните характеристики за входни видео файлове, с които ще получите най-добри резултати при качване на видео в YouTube.com: тук, тук и тук.

2. Създаване на анимиран GIF файл

Преди да дам примери за програми, с които можете да създадете анимиран GIF файл, е важно да спомена, че въпреки че форматът GIF е доказал качествата си (съществува от 1987 г., т.е. е на 28 години, като най-новата версия на формата е от 1989 г.!!!) и се поддържа от практически всички съвременни уеббраузъри и програми за разглеждане на картинки, той има сериозни недостатъци, като ограничението от максимум 256 цвята за всеки кадър.

За целта в днешно време е препоръчително да се използват нови формати, които превръщат анимирани GIF изображения във видео, което се пуска чрез HTML5 — gfy, gifv. WebM и MP4 видеоклипове също вършат работа. Това се налага, защото те поддържат повече цветове от GIF (но при преобразуване на GIF към тях няма как цветовете да станат повече от тези на входния файл…) и най-вече, защото са в пъти по-малки откъм размер на файла от анимираните GIF файлове; освен това могат да се пускат и спират и можете да отидете на определено място във времевата линия на анимацията (т.нар. replay и seeking). В днешно време видео форматите са заместител на анимираните GIF-ове, пък и поддържат звук. Въпреки това GIF файловете са по-прости и популяризирането на видео форматите едва ли ще доведе до пълния край на използването на изображения от тип GIF.

2.1. Създаване на анимиран GIF файл чрез програми за сливане на отделни изображения-кадри

Няма да се спирам подробно на тази тема, просто ще изброя някои програми, които да ви послужат за целта:

  • UnFREEz (много лека и лесна за ползване безплатна програма с отворен код, която обаче работи само с GIF файлове като входни изображения (но всички входни кадри трябва да са с еднакви размери откъм дължина и височина!), поддържа само една продължителност за всички кадри в анимацията, работи с мерната единица cs (сентисекунди = 10 милисекунди = 0,01 секунда).
  • GiftedMotion (друга много добра програма, с нея дори можете да отваряте готови GIF анимации и да извлечете техните кадри като отделни файлове (но това върши работа само ако GIF анимацията не е била оптимизирана, т.е. ако всеки кадър от нея е цял, а е само такъв, който включва разликите спрямо предишния кадър), като дори можете да сложите отделна продължителност в ms (1 милисекунда = 1/1000 от секундата) за всеки кадър; Написана е на Java и затова работи под повечето операционни системи, стига да имате инсталирана Java).
  • Beneton Movie GIF (също нелоша програма, но понякога много натоварва компютъра).
    AnimateGif (проста като UnFREEz, с възможност на настройка на качеството на крайния резултат, т.е. без загуба на качеството спрямо входните изображения-кадри или с използването на някакви оптимизации върху тях с цел намаляване на големината на файла на крайния резултат).
  • За тези, които обичат да се мъчат, мога да препоръчам да използват GIMP с приставката за него, наречена GAP (GIMP Animation Package). 😀
  • За още по-големите мазохисти, GNU/Linux предлага и по-екзотични възможности като тази, тази и други.

Можете да използвате програми като GIF Frame Extracter и XnView (при нея пуснете анимиран GIF файл, отидете в Tools -> Options -> и сложете отметка на „Disable APNG/GIF… animation“, после затворете и отворете отново файла и използвайте Tools -> Multipage File -> Extract All Into) за извличане на кадрите от вече наличен анимиран GIF файл, а има и онлайн услуги, които могат да ви помогнат да направите същото (например http://gifmaker.me/exploder/), но за файлове с по-малка големина на файла.

За по-фини манипулации на GIF файлове под GNU/Linux можете да ползвате следните програми: gifsicle и giflossy, както и могъщата програма ImageMagick (под формата на командата convert).

2.2. Създаване на анимиран GIF файл чрез използване на програми за пряк запис на дейността на работния плот като анимиран GIF

Може би най-известната такава програма е LICEcap, която е много лесна за използване и просто не е нужно да я обсъждаме, защото всичко е пределно ясно, стига да знаете английски на елементарно ниво (с „Record“ записвате (превръща се в „Pause“ докато записвате), а със „Stop“ спирате записа, указвате честотата на кадрите в секунда в полето за въвеждане на число след „Max FPS:“):
Скрийншот на интерфейса на LICEcap.
Работи под Windows и Mac OS X и дори е с отворен код.
Ето ви един нескопосан пример за анимиран GIF файл, създаден чрез LICEcap: 😀
Друга програма, която изпълнява същата функция, но предлага повече опции и е моят личен фаворит за Windows що се отнася до програми от този сорт, е GifCam:
Основните опции на GifCam.
Сред многото ѝ възможности най-много изпъкват: възможността за избор между 7 начина (алгоритъма) за редуциране на цветовете на крайния анимиран GIF файл (като Quantize изглежда дава най-добри резултати, ако търсите максимално качество на цветна картина), възможност за отваряне на създадени чрез програмата готови анимирани GIF файлове с основни опции за редактиране на отделните кадри от анимацията и това, че не се записват целите кадри, а само променените неща спрямо предишния кадър, което намалява значително големината на крайния анимиран GIF. Препоръчвам да ползвате честота на кадрите в секунда (FPS), равна на 10 (т.е. продължителност от 0,1 секунда за всеки кадър), защото повечето уеббраузъри не поддържат по-малка продължителност на отделните кадри. Програмата има и редица други възможности, просто прочетете инструкциите за употребата ѝ от официалния ѝ уебсайт, за да се ориентирате. Можете да записвате и пуснато видео!

Ето ви поредният нескопосан пример, този път е файл, създаден чрез GifCam (можете да получите пристъп от въртенето на екрана 😀 ): 😀
Пример за анимиран GIF файл, създаден чрез програмата GifCam.Вече споменах ShareX, затова ще премина към 4-тата добра програма за извършване на този вид дейност: ScreenToGif. Няма да я обсъждам в подробности, ще кажа само, че включва много възможности и върши отлична работа, но е само за Windows и е написана на езика за програмиране C#.

Има и програми за създаване на GIF анимации и за други операционни системи:
GifGrabber (за Mac OS X) — подобна е на LICEcap.
GIF Camera (за Android) — записва „видео“ от камерата на устройството ви направо като анимиран GIF.

Още статии по темата:
http://opensourcehacker.com/2012/11/21/creating-animated-gif-screen-captures-on-osx/
http://superuser.com/questions/20381/is-there-a-screen-recording-app-that-saves-as-gif

Ето списък с някои статии и дискусии по темата:
http://pushka.co/tech-blog/linux-nuxlin/ubuntu-gif-screen-cast/
http://primedotprog.com/creating-screencast-gifs-in-linux-ubuntu-14-04-lts/
http://ubuntuhandbook.org/index.php/2013/09/record-animated-gif-screencasts-ubuntu/
http://www.upubuntu.com/2012/09/how-to-record-screencasts-as-animated.html
http://www.unixmen.com/make-animated-gif-screencasts-easily-byzanz/
http://superuser.com/questions/81826/how-do-i-create-a-gif-screencast-in-windows
http://www.sublimetext.com/~jps/animated_gifs_the_hard_way.html

2.3. Създаване на анимиран GIF файл чрез използване на програми за извличане на част от видеоклип и конвертирането ѝ в анимиран GIF

Има два основни метода, чрез които можем да създадем анимиран GIF от видео (а с GNU/Linux можем и обратното с програми като gif-video) — чрез офлайн програми или чрез ползване на уебсайтове-услуги за преобразуване (конвертиране) на (част от или цяло) видео към GIF, т.е. програмите на сървърите на тези уебсайтове извършват преобразуването вместо сами да ползвате офлайн програма за целта.

Първият начин може да включва ползването на програма за извличане на кадрите от даден видеоклип и после те да бъдат слети с друга програма, а може и направо от видеоклипа да се създаде анимиран GIF. За първия вариант можете да ползвате ffmpeg чрез командния ред, както е обяснено тук (предимно за GNU/Linux). Според мен е по-разумно да ползвате програми, които направо преобразуват (част или цял) видеоклип в анимиран GIF и да не си играете да извличате кадрите от видеоклипа и после да ги сглобявате.

Вторият начин е за по-мързеливите — вече много уебсайтове (като Imgur.com и GfyCat.com) пуснаха опцията да можете с тях да извличате определен диапазон от кадри от даден видеоклип, който е хостнат в по-популярните уебсайтове за качване и споделяне на видео, като YouTube и Vimeo. Освен Imgur.com, други известни уебсайтове за качване на смешни изображения и мемове (вкл. и под формата на анимирани GIF файлове), са Giphy.com, 9GAG.com, FunnyJunk.com, MemeCenter.com и други. Даже има българи, които се опитаха да имитират 9GAG.com — troll.bg

Засега съм открил 3 сравнително добри програми за създаване на анимиран GIF файл от част от видеоклип — QGiffer, Free Video to GIF Converter и GifApp.

QGiffer изглежда много добра и е май най-добрата програма с тази функционалност за GNU/Linux, като има и версия за Windows, но, за съжаление, не успях да получа резултат от нея под Windows по някаква причина (анимираният GIF файл, създаден от нея, се оказа с напълно черни кадри…).

Free Video to GIF Converter (v2.0)

Тази програма за Windows при мен даде най-добри резултати и сработи всеки път. Поддържа следните входни видео формати: AVI (DivX/XviD), WMV, MPEG, FLV, MOV, MP4, 3GP, VOB, MKV, RMVB.
Скрийншот от интерфейса на програмата Free Video to Gif Convertor.Ако видеото, част от което искате да превърнете в анимиран GIF файл, е в с друго разширение (тип) на файла, можете да използвате програми с отворен код, като вече спомената WinFF, за да преобразувате (конвертирате) видеото към някой от горните формати (аз лично препоръчвам това да е или MP4, или MKV) и после да използвате Free Video to GIF Converter, за да получите желания от вас резултат.

Можете да изтеглите видео от YouTube с множество програми, аз ползвам приставката Video DownloadHelper за уеббраузъра ми Firefox, приставката Download YouTube Videos as MP4 за същия уеббраузър също върши добра работа. За уеббраузъра Chrome също има аналогични приставки, а и има уебсайтове, чрез които можете да изтеглите видео от YouTube, стига да им зададете URL адреса на видеото. Ще ви оставя да ги откриете сами, просто са на едно разстояние от търсене с уебтърсачка…

Ето пример за анимиран GIF, който направих от видео с помощта на тази програма:
За GNU/Linux също има програми за преобразуване на видео в анимиран GIF, но по-добрите от тях работят само чрез командния ред (CLI):
https://github.com/vvo/gifify — преобразува (конвертира) всякакви видео файлове в анимирани GIF файлове и дори оптимизира крайната GIF анимация.
https://github.com/dergachev/screengif (за GNU/Linux, преобразува САМО .mov видео файлове в анимирани .GIF файлове)

GifApp изглежда добре и би трябвало да работи, но не съм я пробвал лично. Написана е на езика за програмиране Java и изисква да имате инсталирана Java (JRE), което означава, че работи под много операционни системи.

Заключение

Лично аз ви препоръчвам ShareX и GifCam, ако като мен ползвате предимно Windows (и FRAPS за запис на това как играете компютърни игри). Едни от най-ефектните неща, които могат да се направят с GIF файлове, са т.нар. „кинемаграфи/кинографи“ (cinemagraphs), ето малко повече информация за тях: тук, тук и тук. Надолу съм сложил пример за кинемаграф. Приятно създаване и ремиксиране на анимирани GIF файлове! 🙂

Advertisements
  1. Все още няма коментари.
  1. No trackbacks yet.

Вашият коментар

Попълнете полетата по-долу или кликнете върху икона, за да влезете:

WordPress.com лого

You are commenting using your WordPress.com account. Log Out / Промяна )

Twitter picture

You are commenting using your Twitter account. Log Out / Промяна )

Facebook photo

You are commenting using your Facebook account. Log Out / Промяна )

Google+ photo

You are commenting using your Google+ account. Log Out / Промяна )

Connecting to %s

%d bloggers like this: