Portál AbcLinuxu, 2. května 2025 06:13
Obvyklé využití webkamery jsou videohovory — typicky přes Skype. Nedávno se ale objevila snadno použitelná alternativa, byť také proprietární: Google Hangout. Jako další způsob použití vytane na mysli nahrávání videa, co za aplikaci zvolit na linuxovém desktopu pro tyto účely? Možností překvapivě není mnoho: v důsledku vlastně jen Cheese a GUVCViewer…
V tomto článku se nehodlám věnovat hardwaru a ovladačům. Jen bych na úvod rád zmínil, že podpora v GNU/Linuxu bývá obvykle vcelku bezproblémová díky UVC, nicméně některá zařízení standard podporují jen částečně. Proto doporučuji porozhlédnout se před koupí webkamery po webu a ověřit stav ovladačů a především kvalitu obrazu z webkamery — mezi různými modely jsou totiž propastné rozdíly především v tom, jak se zařízení chová ve špatných světelných podmínkách a jak ostří, pokud umí ostřit automaticky. Obecně se dají považovat za jistotu moderní webkamery od Logitechu.
První věc, kterou můžeme s webkamerou dělat, je monitorovat nějaký prostor, nechat si automatizovaně — ať už pravidelně, nebo nepravidelně (např. Motion umí detekovat pohyb) — posílat snímky na web atd. Tím se v tomto článku nebudu zabývat, jen zde pro úplnost nechám alespoň odkaz na populární aplikaci ZoneMinder.
Další, ne právě překvapivé, využití je videochat, a to obvykle v souvislosti s nějakým softwarem pro instant messaging, přičemž nemůže chybět obligátní zmínka o Skype. O tom však bylo napsáno již mnoho, proto bych raději zmínil relativní novinku, a sice Google Hangout. Vedou mě k tomu dva důvody, konkrétně snadnost použití a možnost jednoduše sdílet obsah obrazovky — službu jsem použil např. ke kolektivní přípravě na zkoušku na dálku.
Předpokladem pro používání je účet u Google s aktivovaným profilem na sociální síti Google+ (je tedy snad zřejmé, že na sdělování tajností asi hangout nebude to pravé). Když v G+ v levém sloupci vyberete Hangouty a pak vpravo nahoře klepnete na červené tlačítko Zahájit hangout, otevře se nové okno prohlížeče, ve kterém budete při prvním spuštění uvítáni průvodcem, jenž vás rámcově provede instalací zásuvného modulu. Bude vám nabídnut balíček google-talkplugin
pro operační systém dle vaší volby, v případě GNU/Linuxu 32-/64bitový RPM nebo DEB. Instaluje se do /opt
a adresáře s webovým prohlížečem. Pak už by se Google Hangout měl načíst a “prostě fungovat” — nebo taky ne, přičemž chybové hlášky nejsou právě informativní.
Pomocí šedých ikonek vpravo nahoře můžete vypnout/zapnout webkameru nebo mikrofon a regulovat kvalitu obrazu (nejnižší úroveň je pouze zvuk bez obrazu); ikonami v levém sloupci přepínáte možnosti pohledu:
Konečně se dostáváme k pořizování snímků a hlavně natáčení pomocí webkamery — typicky asi pro účely tvorby video blogu/podcastu/… Můžeme samozřejmě použít FFmpeg, VLC, MPlayer nebo jiné, převážně konzolové, nástroje, leč tato problematika by vydala na samostatný článek techničtějšího ražení. Mým cílem je ukázat zde především snadno použitelné aplikace. Smutná zpráva ovšem je, že výběr není velký: jako prakticky použitelné se ukázaly pouze aplikace Cheese a GUVCViewer.
Cheese spadá pod projekt GNOME, nepřekvapí tedy jednoducȟé uživatelské rozhraní chudé na funkce — ale aspoň funguje spolehlivě. Je možné jak pořizovat jednotlivé snímky, příp. jejich série, tak nahrávat video (ukládá se ve formátu WebM). Problém je v možnostech nastavení — naštěstí si jde vybrat aspoň rozlišení a mírně korigovat jas, kontrast a barevné podání, nicméně ocenil bych hlavně možnost “manuálně” ostřit. Pak je tu už jen sbírka více či méně psychedelických efektů různě deformujících obraz.
Nestává se často, aby toho aplikace zamýšlená pro prostředí KDE uměla méně než alternativa z GNOME, ale jeden takový příklad se nabízí: knihoven KDE využívají toliko dvě aplikace určené k nahrávání pomocí webkamery — Kamerka a Kamoso. Obě se zdráhám označit za použitelné. První jmenovaná neumí nic než pořizovat statické snímky; druhá dokonce natáčí video a měla by být schopná odeslat ho na YouTube (nikdy se mi to nepodařilo), leč možnosti konfigurace jsou veškeré žádné, a to včetně tak elementární záležitosti jako rozlišení obrazu.
Nyní malá odbočka: při screencastingu, typické je to u podžánru Let’s Play nebo záznamů z přednášek, se občas může hodit mít vedle dění na obrazovce také pohled na mluvčího — ať už z praktických důvodů, nebo jen pro lepší navázání kontaktu s divákem. Nejjednodušší je prostě umístit na obrazovku okno s obrazem z webkamery, jenže dosud zmíněné aplikace mají pro tento účel zbytečné lišty, které jen zabírají místo.
Řešením je např. prográmek CamDesk napsaný v Pythonu. Stačí stáhnout a rozbalit archiv, spustit camdesk.py
a zapamatovat si několik klávesových zkratek: když je okno s obrazem aktivní, F1 webkameru zapne, F2 ji vypne, Esc program ukončí a konečně F5 otevře dialog s možnostmi nastavení. Zaškrtávátko Pin značí, zda bude okno vždy nahoře, a do políček width a height můžete vyplnit požadovanou velikost okna. Je toho málo, ale aspoň něco. Mimochodem, okno (vzhledem k tomu, že nemá dekoraci) se pak přesouvá podle nastavení vašeho správce oken, obvykle tedy tažením kurzoru se stisknutým modifikátorem Alt.
Konečně přichází zlatý hřeb článku — GUVCViewer. Proč zlatý hřeb? Obrázek řekne víc než tisíc slov — podívejte se na snímky obrazovky. Můžete si na nich všimnout nastavení ostření — ručního i automatického — a úprav barevného podání; konfigurace nejen rozlišení a framerate, ale i formátu, do kterého se má ukládat; a konečně nastavení zvuku. Užitečná je možnost konfiguraci si uložit pro použití jindy za podobných např. světelných podmínek.
Jedno malé upozornění: když ukončíte záznam stisknutím tlačítka Zazn. Video, může chvíli trvat, než se odznačí — neklikejte na něj urputně vícekrát, nebo se vám vytvoří nová, velmi krátká nahrávka a v horším případě přepíše soubor s videem, jestliže nemáte zaškrtnuté Soubor, Auto. Po ukončení nahrávání se webkamera vypne a může se také stát, že obraz z webkamery zamrzne a nahrávat se bude jen zvuk. Proto mezi nahrávkami upravte nastavení záznamu, např. rozlišení — přitom obraz znovu naskočí.
Pokud někde narazíte na luvcview
, vězte, že GUVCViewer je na něm založen, ale má o poznání snesitelnější uživatelské rozhraní. Další programy pro snímání obrazu webkamerou, se kterými se můžete setkat, jsou Camorama (umí pouze pořizovat statické obrázky, a to i vzdáleně) a HasciiCam (zobrazuje obraz z webkamery jako ASCII art).
Přijde mi totálně neintuitivní — ostatně v článku zmíněno je:
Můžeme samozřejmě použít FFmpeg, VLC, MPlayer nebo jiné, převážně konzolové, nástroje, leč tato problematika by vydala na samostatný článek techničtějšího ražení. Mým cílem je ukázat zde především snadno použitelné aplikace.
No a shánět někde kamerku, která je kompatibilní s Linuxem se mi taky nechce.
Ehm.
Obecně se dají považovat za jistotu moderní webkamery od Logitechu.
No kdysi jsem od Logitechu...
Ano, tím se to vysvětluje, viz zařízení podporovaná UVC.
ideální by bylo vzít starší fotoaparát a ten použít jako webkameru vč. dálkového ovládání, ale to bych chtěl asi moc.
gPhoto to v zásadě pro některé aparáty umí, leč ideální mi to v řadě případů nepřipadá.
No a shánět někde kamerku, která je kompatibilní s Linuxem se mi taky nechce.
Používám EyeToy pro PlayStation 2 a funguje na jedničku Vyměnil jsem ji se známým, protože driver měla jen pro WinXP (on potřeboval Win7), zato moje Trust byla podporovaná všude
Letos vydaný guvcview 1.7.3 má jednak lepší GUI než verze v článku, jednak už podporuje H264, je k tomu potřeba GStreamer s plugins-bad včetně uvch264src
. Háček je v tom, že na Ubuntu 14.04 si to chce přeložit guvcview (nebo použít sestavení z nějakého pochybné PPA) a na Fedoře 20 pro změnu GStreamer.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.