Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Kamarád si nainstaloval kameru a stavěl server podle www.iomojo.com. Toto řešení má nevýhody, protože je distribuce jednoúčelová a na dost starém základě. A také je na zbytečně velkém disku. Server se mi velice líbil, ale díky ořezané distribuci se nedá použít na nic jiného. A kromě toho Iomojo poskytuje služby, které mi přijdou zbytečné (třeba funkce fotoalba, chatu nebo hýbání s kamerou). A tak jsem se inspiroval a postavil si takový server na plné distribuci na mém oblíbeném Slackwaru. Pokud byste ale chtěli opravdu jen webkameru a distribuci ještě více ořezat, tak to také není problém, ukáži zhruba jak na to. I když je tedy otázka, zda by se nevyplatilo koupit rovnou kameru s ethernetovým rozhraním a integrovaným webserverem.
Vezmeme tedy standardní distribuci Linuxu; Slackware jsem zvolil jako svou distribuci také kvůli tomu, že po nainstalování zabírá nejméně místa (po naistalování serveru třeba jen 150 MB). Pro začátečníky připojím seznam nutných balíčků, protože jedním z velmi častých dotazů na mě je, co všechno vlastně potřebuji za balíčky, aby to chodilo, a kde vezmu ty, které nejsou součástí distribuce.
Všimněte si, že zde mám například uveden jak server Boa, který ovšem není součástí distribuce, tak i Apache, který součástí distribucí bývá. Je jasné, že na konec použijete jen jeden a je jen na vás, pro který se rozhodnete.
Boa web server jsem získal na stránkách www.linuxpackages.net, kde je slušný archiv různých programů ve formě balíčků pro Slackware. Program bttvgrab, který nám získává obrázky z kamery, je zase z rpmfind.net, kde byl jako rpm pro Mandrake. Ovšem lze ho převést pomocí konvertoru rpm2tgz a normálně nainstalovat. Jak vidíte, snažil jsem se vyhnout nutnosti vlastní kompilace a zdařilo se.
Pozastavím se u volby web serveru. Boa server je jednoduchý a hlavně malý webový server na zobrazování statických stránek, ale umí i CGI. Rozhodl jsem se ho použít právě z těchto důvodů. Jediné, co ale nemá, je autorizace jako Apache. PHP a další věci zde nejsou potřeba, ale je jen na vás, který ze serverů vám vyhovuje více. Nicméně já se v článku zmíním o obou. Pokud by někdo toužil po ukládání obrázků, které se právě snímají, také není problém, já to ukáži na Boa serveru pomocí CGI skriptu. Ale do detailů možností už opravdu zabíhat nebudu, protože pomocí CGI nebo PHP a dalších skriptovacích jazyků není problém obrázky posílat poštou a podobně. Fantazii se meze nekladou.
Jestli někdo použije jinou distribuci, třeba Fedoru či Mandrake, názvy balíčků budou podobné a závislosti za vás vyřeší zbytek problémů. Ovšem určitě se nedostanete na mnou avizovaných 150 MB. V případě instalace na flash budete balíčky ze seznamu potřebovat také, ale ne celé. Třeba z libungif potřebujete jen jednu knihovnu, tak proč instalovat celý balíček.
Jak ten server vlastně pracuje? Bttvgrab sype obrázky z kamery do jpg souboru, který se stále přepisuje. Samozřejmě není problém použít místo bttvgrabu xawtv či jiný program. Web server se na obrázek odkazuje a pomocí Javy se vytváří plynulý obraz. Já si k tomuto serveru přidal i teploměr a teplota se mi také zobrazuje na stránce.
Jak vidíte, teorie je snadná, a tak můžeme přistoupit k praxi. Budeme potřebovat počítač, stačí P120, ale pokud máte něco rychlejšího, je to lepší, protože obraz může mít pak větší rozlišení a bude plynulejší. RAM 64 MB stačí. Grabovací kartu jsem měl k dispozici AVER EZ Capture, ale je v podstatě fuk, co použijete, protože podstatné je, aby to Linux uměl ovládat a brát z toho obrázky. Co se týče výběru hardware, odkáži vás na dokumentační projekt linuxu a tam si najděte video4linux a hardware, který je podporován pro bttv a pro xawtv. Disk mám 800 MB, ale ukážeme si i způsob, jak kameru narvat i na 32 MB flash. Pro kartu, jakou jsem použil já, připojíte libovolnou kameru, která má výstup kompozitního videa. Výhoda je, že karta nám pro kameru poskytuje přímo i napájení, a tak ho nemusíme tahat externím zdrojem nebo přes stabilizátor z PC. Ovšem pozor na velikost napětí.
Zde se trochu vrátím. Spousta lidí bude asi chtít použít USB kameru. Já se zde o ní bohužel nezmíním, protože se mi žádnou nepodařilo rozchodit. Měl jsem půjčené asi 4, ale všechny chtěly modul sn9c102. Ten je ale psán dost divoce a vyžaduje určitá jádra, jinak nechodí. Ovšem v diskuzích a v popisu hardware na abclinuxu.cz bylo napsáno, že chodí. Proto také nemám vyzkoušeno, jestli chodí s bttvgrabem, ale xawtv jde použít stejně dobře a s tím chodí určitě. Příkaz, který bude grabovat, je pěkně popsán v dokumentaci. A jakmile získáme obraz do souboru, je další postup stejný. USB kamery mají ale také nevýhodu; nelze jejich signál přepínat, u nás se to dá sehnat třeba na www.papouch.com. U Papoucha, možná to dělá u nás i někdo jiný, seženete jak ten přepínač, tak i teploměr, kterému posíláte ASCII znak a on vám v ASCII odpoví. Je ale pro rozhraní RS485 a na RS232 potřebujete ještě převodník. Kompozitní videosignál lze tahat na mnohem delší vzdálenost, máme odzkoušeno asi 30 metrů. A jako zdroj může sloužit opravdu jakékoliv zařízení.
Všechen ten HW si tedy sešijte do kupy a nainstalujte systém. Pro méně zkušenné uživatele vám může být pomocníkem můj starší článek na rootu Linux jako internetová gateway; berte jen začátek, kde je instalace popsána (vím, že by potřeboval zrevidovat, ale i já se učím :-) Na abclinuxu.cz vyšel seriál Inštalácia Slackware.
Pokud necháte spuštěný na Slackware hotplug, tak se vám karta při bootu
najde sama a zavedou se k ní potřebné moduly. Na RedHatu 7, na kterém
je postavena distribuce Iomojo, jsou ovšem potřeba zadat parametry do
/etc/modules.conf
, ovšem na Slackwaru se mi osvědčilo, aby si
systém vše našel sám:
Linux video capture interface: v1.00 i2c-core.o: i2c core module i2c-algo-bit.o: i2c bit algorithm module bttv: driver version 0.7.107 loaded bttv: using 4 buffers with 2080k (8320k total) for capture bttv: Host bridge is Intel Corp. 430VX - 82437VX TVX [Triton VX] bttv: Host bridge needs ETBF enabled. bttv: Bt8xx card found (0). bttv0: Bt878 (rev 2) at 00:0a.0, irq: 11, latency: 32, mmio: 0xe0000000 bttv0: using: BT878( *** UNKNOWN/GENERIC **) [card=0,autodetected] bttv0: enabling ETBF (430FX/VP3 compatibilty) i2c-core.o: adapter bt848 #0 registered as adapter 0. bttv: readee error bttv0: using tuner=-1 bttv0: i2c: checking for MSP34xx @ 0x80... not found bttv0: i2c: checking for TDA9875 @ 0xb0... not found bttv0: i2c: checking for TDA7432 @ 0x8a... not found bttv0: registered device video0 bttv0: registered device vbi0 root@thovt:~# lsmod Module Size Used by Not tainted bttv 94432 1 i2c-algo-bit 6984 1 [bttv] i2c-core 12740 0 [bttv i2c-algo-bit] soundcore 3332 0 [bttv] videodev 5664 3 [bttv]
Ale nelekejte se detekce trvá opravdu dost dlouho, klidně i 5 minut, ale
jen při zavádění modulu. To bude ale jen při bootu systému, což asi nebude
tak často. Pro parametry do modules.conf
vás odkážu opět na tldp.org, kde je to
velmi dobře popsáno. Detekce by pak měla proběhnout rychleji.
Pokud nám systém kartu vidí, a to ověříme tak, že se nám objeví v procu
položka video (/proc/video/...
), můžeme zkusit sejmout první
obrázek. Program bttvgrab má spoustu parametrů týkajících se norem, ale mně
se opět osvědčila automatika.
bttvgrab -b2 -w320 -W240 -ojpg -S1 -f
webcam:/home/www/ramdisk/webcam.jpg -Q -dq &
Co se parametrů týče, podrobnosti nám poskytne dokumentace či manuálové
stránky. Ale b
je buffer, rozměry obrázku asi poznáte, formát
je také jasný. S
je kanál, Q
bez zvuku a nakonec
d
. Parametr q
vypne zobrazování statistiky
grabování a dalších údajů. Když pustíte totiž bttvgrab bez parametrů objeví
se vám okno s informacemi o počtu sejmutých snímků, datovém toku a podobně,
které ovšem při provozu nebudeme potřebovat.
Zde udělám odbočku pro začátečníky, kterým se může stát, že jim program zařve, že mu chybí knihovna a co teď. Jednoduše si můžeme zjistit, které dynamické knihovny program vyžaduje a to takto:
root@thovt:~# ldd `which bttvgrab` libm.so.6 => /lib/libm.so.6 (0x40019000) libpthread.so.0 => /lib/libpthread.so.0 (0x4003d000) libungif.so.4 => /usr/lib/libungif.so.4 (0x4008e000) libaa.so.1 => /usr/lib/libaa.so.1 (0x40096000) libncurses.so.5 => /lib/libncurses.so.5 (0x400af000) libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x400eb000) libXext.so.6 => /usr/lib/libXext.so.6 (0x40108000) libX11.so.6 => /usr/lib/libX11.so.6 (0x40117000) libc.so.6 => /lib/libc.so.6 (0x401de000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) libslang.so.1 => /usr/lib/libslang.so.1 (0x40314000) libgpm.so.1 => /lib/libgpm.so.1 (0x40386000) libdl.so.2 => /lib/libdl.so.2 (0x4038c000)
A pokud programu nějaká dynamická knihovna chybí, napíše, že ji nenašel,
a vy víte, co řešit. Slackware na
svých stránkách spustil databázi, kde zadáte název souboru. Třeba
libungif.so
(nedávejte celé názvy včetně koncových čísel, ta
se občas liší, protože jedna knihovna má několik linků) a vypadne vám
balík, kde knihovna je. Než byla taková databáze spuštěna, prohledával jsem
balíčky na CD skriptem, a tak zjišťoval, kde je knihovna obsažena. Bylo to
dost zdlouhavé. Kdyby vám test knihoven prošel, ale program se přesto
nespustil s odkazem na špatnou verzi GCC, je to tím, že jste ho brali třeba
z rpm balíčku jiné distribuce a ta je kompilovaná novější verzí GCC. Také
platí, že balíček ze Slackware 10.1 nechodí na systému
Slackware 9.1 Použijte tedy starší verzi balíčku, nebo si budete muset
zkompilovat svou. Nicméně verze, které jsou popsány na začátku v seznamu
balíčků, spolu korektně chodí.
Pokud nám bttvgrab chodí, objeví se v adresáři, kam jsme ho nechali obrázek ukládat, následující soubory:
-rw-r--r-- 3 Nov 2 16:48 format -rw-r--r-- 2218 Nov 2 19:28 image -rw-r--r-- 0 Nov 2 19:28 image-new prw-r--r-- 0 Nov 2 19:28 status| prw-r--r-- 0 Nov 2 19:28 status-lock| lrwxrwxrwx 23 Nov 2 16:48 webcam.jpg -> /home/www/ramdisk/image
Výpis, řekl bych, nepotřebuje vysvětlení, ale soubor image
je právě oním neustále se obnovujícím obrázkem z kamery. Jeho
překopírováním pod novým jménem získáme fotku. Po ukončení programu
(sestřelením přes kill) nám soubory zmizí. Pozor, někdy zůstanou a je nutno
je smazat manuálně, jinak si bttvgrab myslí, že je již spuštěn. Grabování
obrázku tedy spustíme jako proces na pozadí, já ho třeba mám v
rc.local
, aby se mi spustil sám po startu systému.
Ne náhodou se v příkladu můj soubor ukládá do adresáře
ramdisk
. Jde o to, že soubor se neustále přepisuje a disk
je tedy stále aktivní, zapisuje dokolečka jeden soubor. A pokud budeme
kameru rozcházet z flash, brzo bychom ji oddělali. Proto jsem vytvořil
ramdisk, kam obrázek zapisuji. Při výpadku napájení mi navíc v adresáři
nemohou zůstat zamykací soubory z výpisu, ramdisk se po výpadku napájení
maže. Vytvoření ramdisku je triviální záležitost, Slackware má jeho podporu
standardně zakompilovanou v jádře. A tak stačí zadat
mke2fs /dev/ram0
mount /dev/ram0 /home/www/ramdisk
a je hotovo. Samozřejmě musí adresář ramdisk už existovat, abychom k
němu mohli nový disk připojit. Formátování ramdisku se musí přidat třeba
do rc.local
, aby se při startu vytvořil. A disk je hned
ušetřen neustálého zápisu. Takovýto ramdisk je nutný pro chod systému z
flash, kde adresáře, do kterých se při chodu systému zapisuje (jako
/var
a /tmp
) nalinkují symbolické odkazy do
ramdisku.
Začnu tím jednodušším serverem, Boa. Je mnohem snazší jej rozchodit, ale jeho možnosti jsou oproti Apachi dost omezené. Není tak výkonný, neumí autentizaci, omezování přístupu k adresářům bere podle práv na filesystému a ze skriptů podporuje jen CGI. Otázkou ale je, zda skutečně potřebujeme kanón jako je Apache.
Konfigurace je v jednom souboru v /etc/boa/boa.conf
a já z
ní vytáhnu pouze pár řádek.
Port 80 |
Nastavení portu, na kterém má server naslouchat. |
User nobody |
Uživatel a skupina, pod kterou má server běžet. |
#ErrorLog /var/log/boa/error_log |
Po úspěšném rozchození logování vypínám. |
ServerName thovt.vetrnik.net |
|
DocumentRoot /home/www |
Cesta k výchozímu HTML souboru, tj. kde máte vaše HTML stránky. |
DirectoryIndex index.html |
Jaký soubor z document rootu server poskytne, když nezadáte konkrétní soubor. |
KeepAliveMax 1000 |
Server umí HTTP 1.1 takže tento parametr nám říká, kolik souborů na jedno spojení může poskytnout, a timeout je čas, kdy server spojení ukončí, jestli nemáme žádné další dotazy. |
MimeTypes /etc/mime.types |
Cesta k MIME typům souborů; zde pozor, tento soubor není součástí balíku a musíte použít libovolný jiný, třeba z Apache. |
ScriptAlias /cgi-bin/ /home/www/cgi-bin/ |
Alias k cestě k CGI skriptům. |
S dalšími parametry nemusíte hýbat, ale server umí i virtuální servery
atd. Pak už stačí do /home/www
nahrát pokusný
index.html
a server spustit. Na Slackwaru
/etc/rc.boa start
. Pozor, startovací skripty Slackwaru s
tímto serverem nepočítají jako třeba s Apachem, a proto je nutno spouštění
třeba do rc.local
dopsat manuálně.
V druhém a závěrečném díle bude popsána konfigurace Apache, vytvoření souboru s hesly pro autorizovaný přístup, příprava prezentační stránky a také instalace Linuxu na flash.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
CMOS rozhodně nekupovat! Jedině CCD.hm, a to jako proč? ... škoda, že to před nákupem nikdo neřekl třeba mému kámošovi, spokojenému majiteli Canon EOS300D
Klasicka web kamerka?ne, právěže ta ne ... normální videokamera(*) - jako laik poznáš "kompozitní video" podle toho, že se do televize (do videa) připojuje přes žlutý konektor cinch (američani říkají RCA) - viz (*) kolega výše zmiňuje VHS - ehm, VHS je způsob záznamu, to se způsobem přenosu nemá až tak moc do činění, ale je fakt, že pro VHS (VHS-c) zařízení je použití kompozitního videa typické
VHS je způsob záznamu, to se způsobem přenosu nemá až tak moc do činění ...ještě jednou: chtěl jsem názorně říci, že kompozitní video používají např. kamery systému Sony Video8 (a stejný výstup se najde snad i na všech modelech Hi8 a Digital8)
Začnu tím jednodušším serverem, Boa. Je mnohem snazší jej rozhodit, ale jeho možnosti jsou oproti Apachi dost omezené.Z kontextu věty mi připadá, že by tam mělo být spíš rozchodit. Pokud jsou jeho možnosti omezené a ještě je snadné jej rozhodit, tak bych ten server asi radši nepoužíval
emerge bttvgrab Calculating dependencies emerge: there are no ebuilds to satisfy "bttvgrab".Zo officialnej stranky bttvgrab:
News: 06.05.2002: This project is now officially abandoned....
Download: bttvgrab is available in source form only. With all that fast changing driver stuff, you should really compile it yourself. And really do patch the driver, you won't break anything with it, but you will profit from it when grabbing. * bttvgrab-0.15.10.tar.bz2, 664kb, 13.04.2000, source, for any video4linux driverNemalo toto howto vyjst pred piatimi rokmi :)? Len zartujem... vpohode clanok.
#!/bin/sh /usr/local/bin/mplayer tv:// -tv driver=v4l2:input=1:width=768:height=576 -vf pp=lb -vo tga -ao null -frames 1 convert -quality 90 00000001.tga kamera.jpg rm ./00000001.tga rm ./00000002.tgaVysledek muzete videt zde: http://www.gavanet.org:81/kamera/ Zdenek