čtvrtek 22. srpna 2013

Kniha Zátah na hackery ve formátu MOBI pro čtečky Kindle

Z českého překladu Václava Bárty jsem vyrobil elektronickou knihu formátu MOBI, který je praktičtější než běžně dostupné PDF této knihy. MOBI obsahuje metadata a kapitoly.



Stahujte na Ulož.to nebo na Dropbox 

Pokud dáváte přednost PDF, tak je zde.

sobota 3. srpna 2013

Stream z webkamery přímo v prohlížeči pomocí VLC

Úvod

Už delší dobu jsem hledal možnost, jak streamovat video z webkamery takovým způsobem aby ho případný divák nemusel otvírat v žádném externím programu, ale aby se mu zobrazilo přímo v prohlížeči. Předpokládejme tedy situaci, kdy je webkamera připojena k serveru, kde běží Debian či Ubuntu Server, tedy nebudeme spouštět grafické rozhraní a klienti se budou připojovat právě na tento server.

Po projití několika návodů a postupů, jsem skončil u všeobecně oblíbeného VLC, které je známo spíše jako přehrávač multimédií na desktopu, ale už méně, jako výkoný streamovací nástroj.

Instalace

VLC nainstalujeme z příkazové řádky takto:
sudo apt-get install vlc
Nyní připojíme webkameru a zkontrolujeme, jestli systém zaregistroval kameru mezi USB zařízeními pomocí příkazu
lsusb
 Dále se podíváme, zda je v systému kamera viditelná jako video zařízení /dev/video*
ls -l /dev/video*
 Odpovědí systému na tento příkaz by mělo být něco takového:
crw-rw----+ 1 root video 81, 0 srp  3 10:42 /dev/video0
Nyní tedy k samotnému streamování. V příkazové řádce zadáme příkaz (vše na jeden řádek!)
cvlc v4l2:///dev/video0 --sout '#transcode{vcodec=theo,vb=256}:standard{access=http,mux=ogg,dst=:8888}'
Vysvětlivky:
  • cvlc - spouští VLC v režimu příkazové řádky, bez grafického rozhraní. Vhodné pro server.
  • v4l2 - Video4Linux, aplikace pro zachytávání signálu z TV tunerů a webkamer
  • /dev/video0 - zařízení prezentované v systému
V řádku  dále následuje co se má s výstupem z kamery dělat. Provede se překódování pomocí kodeku Theora s datovým tokem 256 kb/s. Video stream je zmuxován (sloučen) do kontejneru Ogg který je nativně podporován např. ve Firefoxu a proto ho použijeme. Stream je dostupný pomocí protokolu HTTP na portu 8888. Číslo portu lze samozřejmě měnit.

Z jiného počítače zadáme v prohlížeči IP adresu serveru (zde jen jako příklad) a port:
http://192.168.5.33:8888
Nyní už jsme měli vidět obraz z kamery.

Poznámky

  • Přehrávání vyzkoušeno v Mozilla Firefox 22.0. V Chromu a Opeře by myslím neměl být problém, u IE si ale nejsem jist.
  • Kódování v reálném čase vyžaduje hodně systémových prostředků (paměti) a výpočetní síly (CPU), proto je potřeba počítat s tím, že streamování bude server znatelně zatěžovat. S tím souvisí i plynulost přehrávání, zpoždění obrazu a max. počet připojených uživatelů. Odhaduji, že 1 GB RAM a 2 GHz procesor jsou minimum.

pátek 2. srpna 2013

Nefunkční WD My Book Essential a záchrana dat

Asi po roce jsem se pokoušel rozchodit nefunkční externí disk Western Digital Essential 1TB USB 2.0, koupený v roce 2009. Je to starší verze, ještě s USB 2.0. Zjednodušeně řečeno, uvnitř je klasický 3,5" SATA disk od WD a k počítači se připojuje přes rozhraní USB 2.0 a napájení je řešeno externím adaptérem.

Porucha My Booku se projevuje tak, že se disk po připojení napájení krátce (asi na sekundu) roztoči, ale pak se zastaví a je slyšet jen jemné klapání. Ve Windows se zařízení neukáže a ani diody nesvítí. Na první pohled tedy zřejmá hardwarová porucha, zřejmě samotného disku.

Bez otevření se nedalo nijak zjistit podrobnosti, takže nezbývalo než celí My Book otevřít. Trochu mě zarazilo, že na těle nejsou žádné šrouby, ale stačilo se poradit s googlem. Asi nejlépe je otevření ukázáno v tomto videu (kde je sice novější verze, ale konstrukce zařízení je pořád stejná.

Vlastně jde o dva kusy plastu, které k sobě spojuje několik plastových západek. Stačí se podívat na video z předchozího odkazu a s trochou zručnosti je se možné dostat k samotnému disku bez poškození. Uvnitř je pevný disk v kovovém rámečku a dále je zde plošný spoj, který provádí převod z USB na SATA rozhraní + napájení. Toto vše jde bez problémů odšroubovat a dostanete se až k samotnému pevnému disku. V mém případě to byl Western Digital Caviar Green WD10EACS.

Nyní už stačí vzít disk a připojit jej k počítači který má na základní desce port pro SATA2 disky. Návod s obrázky je zde. Pokud po startu váš počítač zaregistruje další disk v operačním systému máte vyhráno a data jsou zachráněna.

Příčina nefunkčnosti tedy není v disku samotném, ale zřejmě v elektronice, která komunikuje mezi diskem a počítačem přes USB.