Pradėjau rašyt straipsnį (jis nebeišvys dienos šviesos), susidūriau su poreikiu padaryt veiksmų  vaizdo įrašą, nes išreikšt tai tekstu buvo sudėtinga. Kai pradėjau domėtis kas ir kaip su darbastalio filmavimu, radau daug programų, su savais pliusais ir minusais. Kažkuri programa turi tai, bet neturi ano, beto reiktų įsirašyt milijoną priklausomybių. Kita programa turi ir tą, ir aną, bet kažkaip stringa vaizdas ir išsaugo netinkamu formatu. Vienu žodžiu yra daug puikių programų, bet aš aprašysiu universalų darbastalio filmavimo variantą, betkokiam distributyvui, betkokiai darbastalio aplinkai, betkokio lygio linux naudotojui betkokio lygio nekreivarankiui linux naudotojui, betkokiem poreikiam (jei truks kažkokios galimybės, visada yra galimybė ją pridėti). Iki šiol niekad nesusidūriau su video darymu ir kėlimu į youtube, mano pirma patirtis šioje srityje yra rašant šį straipsnį, jei turit ką pasakyt rašykit komentarus.

Sukuriam video

Viso ekrano vaizdas:

ffmpeg -f x11grab -r 25 -s 1280x1024 -i :0.0 vcodec libx264 -preset ultrafast -threads 0 video.mkv

Vaizdas aplink pelės žymeklį:

ffmpeg -f x11grab -follow_mouse centered  -r 25 -s 640x480 -i :0.0 -vcodec libx264 -preset ultrafast -threads 0 video.mkv

-f x11grab – šaltinis, jei reik ir garso pridedam ir „-f alsa -ac 2 -i hw:0,0“
-follow_mouse – ir taip aišku, įrašyti tik kvadratą aplink pelę. Vietoj „centered“ galim įrašyt skaičių pikseliais, tada įrašomas kvadratas pasislinks tik tada kai pelė pajudės per tiek pikselių
-show_region 1 – rodo kvadratą kurio vaizdas įrašomas, nenaudoju, nes maišo:)
-r – kadrai per sekundę
-s – dydis. Pirmu atveju ekrano rezoliucija, antru – įrašomo kvadrato dydis
-i – jei reik įrašyt tik dalį ekrano, tada ten nurodoma kur prasideda ir kur baigiasi įrašoma dalis, šiuo atveju įrašoma aplink pelę todėl neaktualu. Jei pridėsime „+nomouse“ pelės žymeklis nebus įtraukiamas į video, pvz. „-i 0.0+nomouse“
-vcodec – kodekas

ffmpeg -encoders #visų encoder'ių sąrašas

-preset nustatymų rinkinys

Tam skirtos programos turi galimybę po pelės žymekliu rodyt spalvotą apskritimą, taip geriau matosi kur randasi pelė. Tą kvadratą gali sukurti compiz ar kita langų tvarkyklės efektų programa, galima parsisiųst pelės žymeklių temų su spalvotu fonu (pvz. http://mbossg.deviantart.com/art/DMZ-Highlight-Cursor-For-Ubuntu-Linux-309840060 ), etc. kadangi aš taikau į universalumą tai aprašysiu kaip susikurt savo pelės žymeklį. Žemiau yra video kuriame parodyta kaip aš kūriau pelės žymeklį naudojamą tame video.

1. Variantas

Video parodyta kaip sukurt ir išsaugot būsimą pelės žymeklį png formatu. Sukuriam failą cursor.conf su turiniu: 128 0 2 test.png

128 – žymeklio dydis
0 – hotspot x koordinatė
2 – hotspot y koordinatė
test.png – būsimas žymeklis

xcursorgen cursor.conf left_ptr

ir sukuriamas naujas pelės žymeklis.

2. Variantas

Šitas variantas nelabai universalus, nes skirtas tik GIMP programai ir šiaip netinka tada jei reikia automatizuot, rašyt scenarijų. Sukuriam žymeklį (turi būt vienas sluoksnis, kitaip bus animuotas), File->export->left_ptr.xmc įrašom „hostpot“ koordinates ir išsaugom. Tada pašalinam failo plėtinį, paliekam tik „left_ptr“.

Sukūrus žymeklį (-ius) sudedam juos į ~/.icons/cursors_for_video/cursors aplanką. Vietoj „cursors_for_video“ galim rašyt betką, svarbiausia jog tam aplanke būtų aplankas „cursors“, o jame žymekliai. Iš esmės tai gana ir dviejų „left_ptr“ ir „xterm“, kitus galim paimt iš org. temos. Ir įjungiam žymeklių temą „cursors_for_video“

Jei turit laiko ir noro galit sukurt pilną (panaudojamą) pelės žymeklių temą. Išsamų straipsnį apie tai galima rasti čia (angliškai)

Vandens ženklas (Watermark)

Sukūrus video, reik uždėt „watermark“, net jei video skirta visiems ir platinama pagal GNU licenciją, nepakenks pranešt kas video autorius ar kam tas video buvo kurtas 🙂

ffmpeg -i video.mkv -vcodec libx264 -preset ultrafast -threads 0 -vf "movie=logo.png [wm]; [in][wm] overlay=X:Y [out]" video_su_logo.mkv

logo.png – logotipas (vandens ženklas) png formatu, galim daryt viso video dydžio arba mažą. Didelio atveju naudojam overlay=0:0 Darant didelį lengviau nurodyt vietą ir tai suteikia daugiau galimybių.
X – x koordinatė, kurioje prasidės logo
Y – y koordinatė, kurioje prasidės logo

Kėlimas į youtube

Turime video kuriame matomas išryškintas pelės žymeklis ir kuriame pridėtas vandens ženklas. Kaip ir viskas baigta, beliko įkelt į youtube. Konvertuojam:

ffmpeg -i video_su_logo.mkv -ss 00:01:15 -t 00:05:15 -s 1024x768 -vcodec libx264 -acodec libmp3lame -preset slow youtube.mp4

-ss  – video pradžia. Savaime aišku reikia ne viso ilgio, nes prieš reikalingą video dalį dar reikėjo atsidaryt programą, perskaityt email, po reikalingos dalies padarymo reikėjo uždaryt programą, etc. visa tai yra tam video, todėl paliksim tik reikalingą dalį pvz. nuo  00:01:15 iki 00:05:15
-t – video trukmė (nuo -ss)
-s – originaliai mano video buvo 640×480, bet įkėlus į youtube jis tapo labai sulietas, bandžiau padaryt jį tokio dydžio kaip youtube rodo 320×240, bet tai negelbėjo. Bandžiau įvairius kodekus ir skirtingus nustatymus, bet vistiek originalas atrodė žymiai geriau nei įkeltas į youtube. Todėl padidinau iki 1024×768 tai pagelbėjo, video tapo beveik toks pat aiškus kaip ir originale.
-acodec – mano video neturi garso, bet youtube skundžiasi jog nesupranta audio formato, todėl dėl visa ko konvertuojam neegzistuojantį garsą į mp3.

P.S.

Perskaičiau daug straipsnių, visur „-sameq“ naudojamas manant jog tai „same quality“, tai netiesa! Ta parinktis yra „same quantizers“. ffmpeg dokumentacijos įrašas ta tema: wiki
Beto šitas įrašas yra jūsų kelionės į darbastalio filmavimą pradžia, o ne pilnas kelionių gidas. Yra begalė kodekų, begalė parinkčių ir nesuskaičiuojama daugybė galimų poreikių. Dalinuosi informacija kuri padės žengti pirmus žingsnius, bet toliau jau patys…