Lollipop Camera API - hol tartunk?

2014.12.16. 18:54 decoati

A legújabb Android főverzió egyik nagy visszhangot kiváltó változása az újragondolt, fotó -és videokészítésért felelős programozási interfész, mely már a beharangozók során eszelős vigyorgásra késztette az arra fogékony közönséget.

funny-people-taking-photos-food.jpg

Miről is beszélünk?

Az AOSP 5.0-s Android verzióig a kamera interfész roppant limitált beállítási lehetőségekkel rendelkezett, a kamera manuálisan nem volt vezérelhető, nincs normális burst mód, videózás közben nem lehetett állóképeket lőni, stb. OEM oldalon (nem Nexus készülékek esetén) a gyártók ezeket a hiányosságokat a camera API toldozgatásával orvosolták, amely megoldások természetesen csak saját magukkal kompatibilisek, ezzel eléggé megnehezítve a 3rd party kamera app készítők dolgát. Programozói szinten Lollipop előtt a kamera lekérdezése csak olyan globális változók előre megadásával volt lehetséges, amely egyben tartalmazta a teljes képfeldolgozó láncolat összes beállítását, a szenzor paramétereitől az ISP zajszűrésig, vagyis ha használat közben változtak a körülmények / változtattunk a beállításokon, a változ(tat)ás pillanatában a képfeldolgozó "futószalagon" lévő valamennyi képkocka érvénytelenné vált (a feldolgozás alatt lévő képkocka szenzorból történő kiolvasása és utófeldolgozása eltérő, inkonzisztens paraméterekkel valósult meg, mivel közben globálisan változtattunk egyszerre, az összes beállításon). Az új API a képfeldolgozó láncolat egyes részeihez rendelt egyedi paramétereket a lekérdezett képkockához csatolja, így változtatás alatt is érvényes lesz minden lekérdezés, nem kell megvárni amíg a képfeldolgozó futószalag kiürül, az egész kamera sebessége nagy mértékben növekszik (N5 esetén full res felbontásban 1-3 fps-ről 30 fps-re, sőt, de ezt majd később). Mivel a kamera eddigi három, eltérő üzemmódja összeolvad, így technikailag lehetségessé válik full hd-nál nagyobb felbontású videók rögzítése is.

Az ígéretek

  • RAW kimenet
  • manuális beállítások (ISO, expozíciós idő, fókusz)
  • nagy sebességű burst mód
  • sokkal gyorsabb HDR mód

Ujjongás helyett nézzük meg, melyek azok az appok, amelyek ebből bármit is megvalósítottak.

Google fényképezőgép: ez a stock kamera alkalmazás, elméletileg 5.0 kompatibilis, de ebből kb. semmit nem veszünk észre. A manuális beállítások teljes mértékben hiányoznak, burst mód nincs, RAW nincs, a HDR (és az egész app sebessége) csak annyival gyorsult, amennyivel a Lollipop appok általában. Hát, nem is tudom mit mondjak.

A Better Camera: a bekapcsolható api2 üzemmóddal megkaptuk a RAW kimenetet, de manuális fókusz és expozíciós idő nincs. ISO ugyan állítható manuálisan, de az elkészített képekben tárolt EXIF információk (és a képminőség) ezt nem nagyon támasztják alá. Vicces, haha. 

screenshot_2014-12-16-13-49-21.png

Camera FV-5: na végre valami. Gesztusvezérléses manuális fókusz, záridő: 0.8s - 1/8000s, ISO: 100-3200, RAW kimenet van, HDR nincs, a burst mód ugyanolyan lassú. Viszont ezekkel párhuzamosan valami történt a fókuszvezérléssel, állandóan kifókuszál exponálás közben. A fejlesztő még nem válaszolt, de jó lesz ez. Majd. Remélem.

screenshot_2014-12-16-13-32-41.png

L Camera: a csodafegyver, kísérleti kamera app. Egy taiwani srác írja, openszósz keretek között. Full fapad, napi használatra gyakorlatilag alkalmatlan, de. Manuális fókusz: pipa, RAW: pipa, manuális ISO: 40-10000, manuális expozíciós idő: 1/75000s - 1/1.2s, burst: jééé, 30fps! Video rögzítés: 3264x2448@30, ami némi mókolással 1080p@60, sőt, 800x600@120 is lehet. Ja, és video rögzítés közben a manuális fókusz és az expozíció eltolás ugyanúgy működik, mint a fotó előnézetnél.

 

Tanulság: a Google nem kamuzott. A stock kamera appal csinálhatnának valamit, mert ez így eléggé hmm... maradjunk annyiban, hogy szeretném a Nexus bétateszter státusz napos oldalát is megtapasztalni. Tanulság 2: no lám, mit tesz ha egy tehetséges Mr. Ripley pusztán szórakozásból írkál kódokat, és nem a pénzt számolja. Mellesleg kíváncsi vagyok, hogy egy Samu, egy Motorola, vagy egy Sony mit hoz ki az új api-ból, gondolom érezhető, milyen óriási lehetőségek vannak benne.

Szóval jelenleg hol is tartunk?

Hát, sehol. :)

 


A bejegyzés trackback címe:

https://androlib.blog.hu/api/trackback/id/tr856986751

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Erik H. 2014.12.16. 22:15:33

Nagyon jó cikk! Köszi a teszteket.
Amire én nagyon várok az a giroszkóppal megtámogatott videó stabilizácó. Ha valamit irigylek az iphone6-ból az a video cinematic stabilization. Amit az Instagram fejlesztők is meg tudtak csinálni a Hyperlapse-ben, de csak iOS-re, az API eddigi hiányossága miatt. Bizom benne, hogy előbb-utóbb lesz olyan camera app ami képes rá.

decoati 2014.12.16. 22:22:55

@Erik H.: thx :) én a szifonból azt a marhagyors fázisdetektoros autofókuszt irigylem, bár azt a szenzor tudja, az meg Sony. Úgyhogy a jövő évi androidos csúcsmodellekben már remélhetőleg az lesz.

Darkcomet 2014.12.17. 06:46:34

Open Camera? Ez is egy nyílt forráskódu kamera app. A RAW kivételével szerintem mindent tud, amiről írtál.

decoati 2014.12.17. 08:17:59

@Darkcomet: az N5-tel masszív problémái vannak. :) A doksija sem írja az új api támogatást, az utolsó frissítés is "túl régi" hozzá... talán az opensource közösség gyorsabban beemeli az újdonságokat, megtartom, köszi.

decoati 2015.01.24. 13:42:25

@Darkcomet: kicsit bugzik még, de van benne néhány zseniális megoldás.

Darkcomet 2015.07.02. 17:12:56

Na, van valami változás ez ügyben? Ebben a hónapban én is beléptem a Lollipoposok táborába egy LG G3-al.

Google+
süti beállítások módosítása