CHDK aneb Kompakty Canon trochu jinak

Pod pojmem hacking si dnes většina lidí představí něco negativního, spojeného s počítačovou kriminalitou atd. Prvotní význam tohoto slova však vychází spíše ze snahy o pochopení funkce nějakého systému opravdu do hloubky místo jeho prostého používání a hledání jiných možností funkce, než nabízí přímo výrobce, což v řadě případů může být naopak aktivitou pozitivní. V tomto článku bych rád napsal několik postřehů o jednom z produktů spadajícím právě do oblasti “pozitivního hackingu”, totiž o alternativním firmwaru rozšiřujícím možnosti kompaktních fotoaparátů Canon Powershot.

O co vlastně jde?

Asi nikoho nepřekvapí, že digitální fotoaparáty obsahují mimo jiné i počítač, který má nějaký operační systém a programy, které řeší jednotlivé funkce fotopřístroje. Narozdíl od klasických počítačů jsou funkce dány fixně a oficiálně je nelze měnit buď vůbec anebo jen kompletním přehráním systému (známý upgrade firmwaru). Nicméně zvídaví uživatelé po čase zjistili, že není zcela vyloučeno si do fotopřístroje vytvořit systém vlastní, nebo alespoň modifikovat existující.

Patrně první šíře známý případ pochází z doby nástupu DSLR. Canon tehdy uvedl přístroj EOS 300D s na tehdejší dobu výborným snímačem a za velmi dobrou cenu, ovšem s poměrně dost omezenými možnostmi nastavení. Šlo o čistě softwarové omezení patrně z obchodních důvodů, bylo poměrně evidentní, že reálný důvod pro to není. To inspirovalo řadu “hackerů” k výzkumu a výsledkem skutečně byl firmware pro EOS 300D, který většinu omezení řešil. U pozdějších zrcadlovek už bylo (možná i díky této události) omezení mnohem méně a tak alternativní firmwary ustoupily do pozadí, nicméně ukázka, že to jde, byla na světě.

V současné době se u DSLR asi nejčastěji setkáme s alternativními firmwary v oblasti natáčení videa (například Magic Lantern). Kromě toho ale vznikl i firmware CHDK (Canon Hack Developement Kit), cílený pro změnu do oblasti kompaktních fotopřístrojů, v článku se podíváme právě na něj.

Co CHDK slibuje a pro jaké přístroje je určen?

CHDK Logo

Alternativní firmware CHDK využívá mechanismů, primárně určených pro upgrade firmwaru – do přístroje se vloží patřičně připravená paměťová karta, ze které místo upgradu firmware ten alternativní přímo nabootuje. Toto řešení je velice zajímavé, protože vlastně vůbec nedojde k zásahu do přístroje, firmware v něm zůstane vždy původní. Proto je prakticky vyloučen problém se zárukou, zásah do přístroje se zkrátka nekoná vůbec.

K dispozici je podpora pro přístroje z rodiny kompaktů PowerShot počínaje vyloženými lowendy jako třeba A810 a konče top kompakty z řady G (například G15).

Stránka CHDK slibuje zdokonalení ve čtyřech oblastech:

  • Profesionální ovládání zahrnuje možnost focení do formátu RAW (DNG) i s lowend kompakty, větší možnosti manuálního nastavení expozice, zdokonalení v oblasti videa atd.
  • Detekce pohybu umožní automatické expozice při zjištění pohybu v záběru, využitelné pro různé fotopasti, ale například i pro fotografování blesků
  • USB Remote je v podstatě možnost doplnit i nejlevnější přístroje o kabelovou spoušť, připojenou do USB
  • Skriptování – vlastně cokoli z funkcí fotoaparátu lze ovládat skriptem a vytvořit tak programy pro intervalové snímání (timelapse), různé varianty bracketingu, práci s výše uvedenou detekcí pohybu

Instalace CHDK

V zásadě je nutno provést následující kroky:

  1. Zjistit, zda máme podporovaný přístroj (informace na webu)
  2. Stáhnout pro něj verzi firmware a dále utility pro přípravu paměťové karty
  3. Připravit paměťovou kartu – v zásadě se přeformátuje tak, aby byla bootovací
  4. Zkopírovat na ni CHDK pro daný přístroj
  5. Přepnout ji do read only režimu (“šoupátko” Lock na kartě)
  6. Vložit do přístroje a zapnout – měl by naběhnout CHDK. Mimochodem po opětném odemknutí karty pro zápis se přístroj spustí v původním stavu, volba skutečně probíhá pouze přepínáním “šoupátka” na kartě, na přístroji se nemění vůbec nic!

    CHDK - lock

V praxi vyžadují zkušenosti pouze kroky 3 a 4, které jsou o příkazech pro práci s partition karty atd. Na Linuxu a MACu je lze provést čistě s využitím systémových utilit (postup je popsaný), nicméně je to celkem zbytečné, protože existuje několik utilit, které instalaci CHDK udělají automaticky. Připojený screenshot je z programu SDMInst na MACu, jde o JAVA program, který funguje i na Linuxu, jiná utilita je dostupná pro Windows – vše volně ke stažení z CHDK wiki. Reálně postup může přinést jisté problémy a jisté znalosti ovládání počítače žádoucí jsou, nejde ale o žádný “hardcore”. K postupu instalace celkem nemám námitky.

SDMinst

První dojmy

CHDK jsem krátce testoval s Canonem A810, bohužel jsem ho zanedlouho “utopil” při rybaření (to asi na firmware nesvedu 🙂 ). Aktuálně ho mám nasazení v A2500, což je v podstatě identický přístroj s A810, jen místo 2xAA už používá LiION akumulátor. V obou případech byla instalace bez problémů. Po vložení “uzamčené” karty se spustí CHDK a lze ho začít používat. Poznámka – karta je “uzamčená”, ale fotky se na ní samozřejmě ukládají, přepínač na kartě SD je čistě o poskytnutí SW informace, kterou ale systém fotopřístroje s alternativním firmwarem ignoruje a klidně zapisuje. Zní to možná divně, ale problém s tím není žádný. Jak jsem zmiňoval výše, k přepnutí do původního stavu stačí kartu “odemknout”, pak naběhne původní stav.

CHDK boot

První dojmy z ovládání jsou popravdě řečeno dost tristní. CHDK je totiž spíše jen nastavbou původního firmwaru, na displeji fotopřístroje se vám tak prolínají původní prvky s menu CHDK, občas jedno nastavení přebíjí druhé atd. Nicméně po pochopení logiky a “ohmatání si” je systém celkem funkční a stabilní. Dojmy z jednotlivých oblastí následují dále.

Fotografická “zdokonalení” spíše s rozpaky

Začnu od toho, v čem mě CHDK spíše zklamal, což je skupina označovaná na webu jako “profesionální ovládání”, konkrétně mám na mysli věci jako focení do RAW módu, možnosti manuálního nastavení atd. On ani tak není problém s CHDK, spíše se naráží na limity vlastního přístroje. Je třeba na pohled lákavé fotit do RAW, ale pak zjistíme, že se fotka ukládá přes 5 sekund, což je na hranici nepoužitelnosti a přitom nárůst kvality proti JPG je nevelký, protože snímač kompaktu zkrátka nemá nijak zázračný rozsah. Zrovna tak je “hezké” teoretizovat o manuální expozici, jenže k čemu to je, když stejně většina levnějších kompaktů nemá clonu (nebo jen 2-3 hodnoty)? Navíc některé funkce jsou trochu sporné, například při focení do RAW u A810/2500 lze získat širší úhel záběru (snímač není plně využitý), jenže za cenu dost šílené vinětace v rozích (vlastně zjistíte, že výrobce věděl co dělá). Některá nastavení se mi navíc chovala trochu divně, ale mohlo to být i obsluhou.

CHDK RAW

Výše napsané samozřejmě platí na levné kompakty, při nasazení CHDK třeba do Canonu G10 či S90 by problémy odpadly, jenže tam není tato oblast funkcí nutná, protože možnosti poskytnuté přímo výrobcem jsou u této přístrojů již celkem vyhovující. Nevylučuji, že se najde nějaký přístroj, kde už se rozšíření CHDK s ohledem na hw využijí a firmware výrobce je přitom ořezaný natolik, že “alternativní” přístup má smysl, sám ale žádný takový nemám.

Užitečné naopak mohou být funkce u videa – typické omezení levných kompaktů je limit délky souboru a dále nefunkčnost zoomu při natáčení, obě tyto věci CHDK řeší a využitelnost je asi reálná.

Velmi užitečný skripting

Jestliže o přínosu z hlediska vlastního focení si dovolím hodně polemizovat, tak naopak vůbec není sporu o využitelnosti některých programových funkcí. Už jen funkce pro intervalové snímání by podle mne stačila na zdůvodnění existence CHDK – možnost fotit timelapse nejlevnějším kompaktem může být k nezaplacení například v případě umístění přístroje na přístupném místě, kde hrozí krádež.

CHDK skript

Funkce pro expozici při detekci pohybu zase umožňují využít přístroj v roli jakési “fotopasti”. Velmi ceněné jsou možnosti pro focení blesků, pokud vím, tak v této komunitě je CHDK velmi populární, toto jsem ale osobně nezkoušel.

Využít lze i expoziční řady a následné vytvoření HDR v počítači, naopak funkce pro HDR přímo v CHDK mě moc nezaujaly z podobných důvodů, které jsem zmiňoval v předchozím bodě.

Kabelová spoušť přes USB konektor je funkční také, více asi není k funkci nutno dodat. Zde už se ale neobejdeme bez znalosti pájení a upozorňuji, že při jisté nešikovnosti bych si zde netroufl vyloučit možnost poškození přístroje.

A případně můžeme také machrovat s hraním Tetrisu na displeji fotopřístroje, ale to si dovolím nechat stranou.

Celkové hodnocení

Alternativní firmware CHDK je nesporně zajímavým rozšířením možností kompaktů Canon Powershot a umím si představit, že možnost jeho nasazení může být v některých případech i argumentem, proč zvolit kompakt právě od Canonu.

Za hlavní přínos pokládám “skriptové” funkce v oblasti intervalového snímání a detekce pohybu, na druhé místo v přínosech bych zařadil zdokonalení při natáčení videa. Tyto klady oceníte asi na prakticky jakémkoli PowerShotu.

Přínos fotografických funkcí, jako například záznam do RAW, je už podstatně diskutabilnější, a bude se výrazně lišit podle přístroje, který použijete.

V každém případě ale jde o zajímavý software, který si pozornost i ocenění plně zasluhuje.

4 komentáře u „CHDK aneb Kompakty Canon trochu jinak“

  1. Obdoba pro jiné značky?

    Díky za článek. CHDK je fajn, zkoušel jsem ten časosběr na nějakém prastarém tchánově kompaktu a opravdu to funguje 🙂
    Neví někdo o podobném řešení pro jiné značky? Leží mi doma starý Olympus C745UZ …

    Odpovědět
  2. SDM

    Mě přijde nejzajímavější Stereo Data Maker, což je speciálně upravená verze pro stereofotografii. Zásadní funkce, kterou přináší, je přesná synchronizace dvou (nebo libovolného počtu) fotoaparátů přes jednoduchou USB spoušť. S lepšími kompakty to je velmi kvalitní řešení.

    Odpovědět
    • tiež som sa s tym kedysi hral

      Rád bych se pro zajímavost zeptal: Jaký jste měl prosím workflow? Na kartu jste v tom A590 ukládal DNG nebo CRW? Měl jste nějaký soubor popisující jeho optické vady (sklenutí, vinětace…)? A v jakém programu jste fotografie dále zpracovával?

      Odpovědět

Napsat komentář