vokoscreen
Vokoscreen, je aplikace pro nahrávání dění na linuxové ploše. Narazil jsem na něj, když jsem chtěl udělat sérii videotutoriálů o Synfig Studiu a ihned mi padnul do oka.
Zpočátku jsem uvažoval o tom, že bych pro nahrávání využil konzolovou utilitu recordmydesktop, ale nechtělo se mi číst manuál. I když nakonec i na něj došlo.
U vokoscreenu mne zaujalo především přehledné GUI, které má pět záložek pro nastavení:
- Obrazu
- Zvuku
- Výstupního formátu
- Cest
- A případnou integraci výstupu z webkamery či jiného zařízení s video výstupem do zaznamenávané plochy.
Na rozdíl od konzolové utility recordmydesktop tak není nutné zjišťovat přes wmctrl jaký je identifikátor okna které chci nahrávat, ani počítat geometrii výřezu, pokud chci nahrávat pouze dění v určité oblasti pracovní plochy.
Okno, které chceme nahrávat si můžeme vybrat kurzorem myši – podobně jako když chceme udělat jeho screenshot přes utilitu Snímek obrazovky. A pro nastavení výřezu používá vokoscreen rámec, kterým lze nastavit jak velkou oblast chci nahrávat a pak ho přesunout nad vybranou oblast pracovní plochy. Není tedy nutné zjištovat geometrii okna ani přepočítávat souřadnice v rámci pracovní plochy, pokud používáme více monitorů.
user@stroj~$ recordmydesktop -x=0 -y=0 --width=800 --height=896 --no-sound --no-cursor --no-wm-check -o zaznam.ogv
S těmito parametry recordmydesktop zaznamenával obsah levé poloviny displeje mého notebooku – mimo něj mám totiž pracovní plochu roztaženou přes další dva na výšku postavené monitory s rozlišením 1920x1200 – bez zvuku, a se skrytým kurzorem, do souboru zaznam.ogv
Aby bylo možné záznam dále zpracovávat přes avidemux, musel být soubor zaznam.ogv
překonvertován z kontejneru OGV (theora) do MP4 (H.264)
user@stroj~$ ffmpeg -i zaznam.ogv zaznam.mp4
Předdefinování velikosti a pozice výřezu
Pozici výřezu a jeho rozměry vokoscreen ukládá do souboru .config/vokoscreen/vokoscreen.conf
A tady se dá podle potřeby nastavení rámce přednastavit:
[Area] Height=768 Width=1024 X=40 Y=50
Zobrazování myši a klávesových zkratek v záznamu
KeyMon – (z angl. Keyboard Status Monitor) je utilita, která umí na linuxové ploše zobrazit stisky tlačítek na myši a klávesové zkratky – nezobrazuje souvislou linii textu jako podobná utilita screenkey.
Protože umí zobrazovat i tlačítka na myši, hodí se při nahrávání videotutoriálů k aplikacím se kterými se pracuje pomocí myši v kombinaci s klávesovými zkratkami.
Instalace…
root@stroj~# apt-get install key-mon
Nejspíš proto, že se s myší v kombinaci s klávesami pracuje nejčastěji u grafických aplikací, nenajdeme po instalaci KeyMon v menu Příslušenství ale Grafika.
Po suštění se na ploše objeví symbolické zobrazení myši, základních modálních kláves (Ctrl, Alt) a jedné klávesy.
(Obrázek)
Pokud chcete změnit výchozí vzhled tlačítek, či přidat zobrazování dalších kláves – kupř. pokud využíváte klávesu Compose namapovanou na klávesu Meta (obvykle je to ta, na které najdete logo Widows) – stiskněte nad tímto symbolickým zobrazením pravé tlačítko myši. Po jeho uvolnění se ukáže dialog, přes který lze otevřít okno pro další nastavení (Settings)
(obrázek první záložky dialogu) (obrázek druhé záložky dialogu)
Na první záložce se nastavuje zobrazení tlačítek, a na druhé jsou další volby, mezi jinými i nastavení vzhledu.
Symbolické zobrazení tlačítek lze přesunout na libovolné místo pracovní plochy uchopením pomocí levého tlačítka myši a přetažením.
Utilitu lze spustit i na příkazové řádce terminálu, příkazem key-mon. To ovšem dává smysl jen v případě, že vás zajímá případné hlášení chyb.
Sofistikované zobrazování kláves na displeji při psaní textu
I když má vokoscreen checkbox, kterým lze zapnout zobrazování kláves stisknutých během nahrávání záznamu, nemá ani zdaleka takové konfigurační možnosti, jako má Screenkey – aplikace, která zobrazuje na ploše linuxového desktopu stisknuté klávesy. Oproti podobné utilitě key-mon, nezobrazuje tlačítka myši, ani symbolická tlačítka se zobrazením stisknutých kláves, ale souvislý textový řádek s textem. Obě aplikace se z hlediska funkcionality potkávají pouze v jednom bodě: obě umí zobrazit stisky modálních kláves. Je v repozitářích Debianu, takže instalace je jednoduchá:
root@stroj~# apt-get install screenkey
Po instalaci naleznete ikonu pro screenkey v menu Příslušenství (…)
(Obrázek s tlačítkem)
Po spuštění se v oznamovací části vašeho panelu objeví tlačítko, přes které lze otevřít dialog, kterým lze podle potřeby zobrazování kláves na ploše zapnout či vypnout. Je-li zobrazování (Show keys) zapnuto, začne se po stisku libovolné klávesy zobrazovat v dolní polovině obrazovky pruh, na kterém bude vidět vše, co na klávesnici stisknete.
(Screenshot obrazovky)
Tohle tlačítko také zpřístupní dialog další nastavení.
(obrázek dialogu pro nastavení)
Jeho prostřednictvím můžete změnit nastavení zobrazovacího fontu, upravit barvu písma, pozadí zobrazovacího pruhu, které (pokud máte zapnutý kompozitor) může být i průhledné. Upravit se dá i časový interval pro neaktivitu. Po jeho uplynutí se zobrazovací pruh vždy automaticky skryje.
Ve výchozím nastavení screenkey zobrazuje tento pruh nad dolním okrajem prostřední třetiny vaší obrazovky, přes celou její šířku. To můžete změnit nastavením geometrie při spouštění z příkazové řádky:
user@stroj~$ screenkey -g 400x200+40+100 -p fixed
S takto nastavenou geometrií bude screenkey zobrazovat stisknuté klávesy v rámci obdélníku o velikosti 400x200 pixelů, jehož levý horní roh bude 40 pixelů od levého a 100 pixelů od horního okraje pracovní plochy.
Máte-li povoleno použití kompozitoru, můžete být i průhledný.
Máte-li nainstalován také slop, můžete nastavit oblast, kde se mají zobrazovat stisknuté klávesy, přes dialog Nastavení pomocí myši.
Screenkey svoje aktuální nastavení ukládá do JSON souboru .config/screenkey.json/vokoscreen.conf
ve kterém je uložená i poslední nastavená geometrie. Tu lze před novým spuštěním přednastavit, podobně jako u vokoscreenu.
… "geometry": [Y, X, H, W] …
Pozor na pořadí parametrů, které je jiné, než když se nastavuje geometrie okna na příkazové řádce:… -g WxH+Y+X …
|
Slop je utilita, která vrací aktuální geometrii vybraného okna či plochy. Její instalace je u Debianu triviální, protože je součástí distribuce:
~# apt-get install slop
(Obrázek se zaměřovacím křížem, zarovnaný vpravo)
Po spuštění zobrazí na ploše zaměřovací kříž, kterým vyberete okno co vás zajímá a na výstupu se zobrazí jeho aktuální geometrie. Pokud kliknete na plochu, zobrazí se aktuální geometrie plochy.
Tato utilita se může hodit především v shellových skriptech, pokud chcete zjistit aktuální nastavení vybraného okna a pomocí wmctrl nastavit jiné.
Postprocessing záznamu
Přes vokoscreen lze nahrávat komentář rovnou při pořizování záznamu. Další možnost je: nahrát komentář při sledování záznamu např. prostřednictvím audacity (ke stažení je i verze pro MS Windows) a potom zvukovou stopu do videa naklíčovat přes avidemux (ke stažení je i verze pro MS Windows).
Při dodatečném komentáři lze "vystříhat" hluchá místa a přebrepty. Popřípadě jednotlivé komentáře podle potřeby přeskupit.
Pro nahrávání zvukového doprovodu je lepší místo vestavěného mikrofonu v notebooku použít sluchátka s mikrofonem – na pozadí pak nebude slyšet hučení ventilátoru a klepání na klávesnici.
Volba kodeku
Volba kodeku při pořizování záznamu je důležitá pro jeho následné zpracování a přehrávání. Oproti aplikaci recormydesktop, která nahrává video pouze do OGG kontejneru (Theora + Vorbis), umožňuje vokoscreen vybrat nejenom typ kontejneru, ale i použitý kodek. Umí dokonce nahrát obrazový záznam jako animovaný GIF.
Chceme-li záznam umístit na web, tak aby ho bylo možné přehrávat přímo prostřednictvím webového prohlížeče, jsme limitováni tím, že linuxová verze Firefoxu podporuje pouze opensource kodeky. Můžeme použít buď MKV kontejner nebo WEBM. Ovšem WEBM kontejner podporuje pro video pouze kodeky VP8/9, které se nehodí pro dodatečné zpracování. Do budoucna by měl podporovat i nový kodek AV1, ale pokud chceme aby bylo možné záznam přehrávat i v rámci starších webových prohlížečů, jako je např. moje oblíbená Opera 12.16, nebo přes webové prohlížeče na starších mobilních zařízeních, je nejlepší použít kontejner WEBM s kodeky VP8 (pro video) a Vorbis (pro audio). U distribuční verze vokoscreenu 2.5.0[1] však podpora pro přímé nahrávání do WEBM není[2].
Pokud vám nezáleží na podpoře starších prohlížečů můžete použít pro video novější kodek VP9 a pro audio kodek Opus.
Ořezání videa
Pokud nahráváte přes vokoscreen okno, může být součástí záznamu i okraj, který ve výsledném záznamu mít nechcete. K ořezání můžete použít ffmpeg a jeho filtr crop
. V následujícím ukázkovém příkladu je záznam okna o velikosti 1024 x 834 pixelů oříznut o 70 pixelů shora:
user@stroj~$ ffmpeg -i vokoscreen-1024x834.mp4 -filter:v "crop=1024:768:0:70" vokoscreen-1024x768.mp4
Konverze videa do VP8/9
Hotové video, které je v MP4 (nebo MKV) můžete do WEBM dodatečně překódovat přes ffmpeg. Toto je dvouprůchodová konverze zpracovaného záznamu do WEBM (VP8 + Vorbis).
První průchod…
user@stroj~$ ffmpeg -i "vokoscreen.mp4" -codec:v libvpx -quality good -cpu-used 0 -b:v 600k -qmin 10 -qmax 42 -maxrate 500k -bufsize 1000k -threads 2 -vf scale=-1:480 -an -pass 1 -f webm /dev/null
Vytvoří soubor, který se pak využije při druhém průchodu…
user@stroj~$ ffmpeg -i "vokoscreen.mp4" -codec:v libvpx -quality good -cpu-used 0 -b:v 600k -qmin 10 -qmax 42 -maxrate 500k -bufsize 1000k -threads 2 -vf scale=-1:480 -codec:a libvorbis -b:a 128k -pass 2 -f webm vokoscreen.webm
Výsledkem je mírně rozostřený záznam, což ovšem v tomto případě nebylo na škodu, neboť díky tomu vynikly titulky.
Titulky
Hotový záznam lze kromě audiostopy doplnit také o titulky. Ty mohou doplnit zvýšit informační hodnotu videozáznamu a taky se dají překládat.
Pro tvorbu titulků lze použít aegisub – opensource titulkový editor, dostupný i pro MS Windows.