Camera2-es szoftverpárbaj

Bevezető

Nem tudom, hogy ki mennyire szeret bíbelődni mobiltelefonjának kamerabeállításaival, mindenesetre két okból is az az opciók között babrálva találhatja magát az ember: készüléke nem elég jó, hogy finomhangolások nélkül minőségi képet lőjön, vagy pont annyira jó, hogy megéri még egy kis pofozgatás a tökéletes albumfotóért. Jómagam előszeretettel ugrom a kameraszoftverbe egy-egy tesztkészülék beüzemelése után, mert abba a csoportba tartozom, aki nem fotóz annyira sokat, hogy egy DSLR-szettet megérje összevásárolni és cipelni, az optikai zoom hiányát leszámítva pedig megfelel az, amit a jobb mobilkamerák nyújtanak. Ma már tényleg nem rossz a helyet a csúcskategóriában, és vaskos kameratelefont sem kell vásárolni a jó fényképekért, ám ez nem mindig volt így, és árban lefele haladva most sincs: szerkesztőségünk minden nap belefut a minőségi fotózás hardveres és szoftveres gátjaiba, a túlbuzgó képfeldolgozást beleértve (túlzott zajmentesítés, élesítés, telítettség kontraszt).

A Lumiák kameraszoftvere régóta széles körben paraméterezhető
A Lumiák kameraszoftvere régóta széles körben paraméterezhető [+]

A Lumia tulajdonosok most mosolyognak, mert sok ilyen készülék felkínálja a kézi beállítások sorát, hogy nappal és este is sokat ki lehessen belőlük hozni – nem véletlenül várjuk meg a legújabb PureView-s masinát nagy kameratesztünkkel, ha már az előző megmérettetést is egy Lumia nyerte. Ma már némi támogatást az Apple is nyújt a kézi beállítások terén a fejlesztőknek, bár lehetne ezen finomítani, Androidon ugyanakkor lassan bukkantak csak fel a hobbifotós lehetőségek pár esetet leszámítva, és sok gyári szoftverrel ma sem lehet az expozíciót, az érzékenységet, a fehéregyensúlyt vagy a fókuszt pontosítani, főleg nem a záridőt, ami este vagy gyors mozgásnál jöhet jól. Itt jön a képbe az android.hardware.camera2 application programming interface, vagyis a camera2 API: a Google tavaly közzétett fejlesztői opciója olyan iránymutatások és kódsorok összessége, amelyre a fejlesztők a korábbiaknál fejlettebb kameraalkalmazásokat építhetnek, és mivel Android 5.0-tól kezdve ez az API elvileg a zöld robotos rendszer része, minden lollipopos vagy újabb készülék előtt megnyílik az út az egységes, funkcióban gazdag ilyen szoftverek használata előtt. Vagy mégsem?

Fapados gyári szoftver és problémás képfeldolgozás rontott a Nexus 5 kamerarendszerének képességein
Fapados gyári szoftver és problémás képfeldolgozás rontott annak idején a Nexus 5 fotós képességein

A gyakorlatban sajnos nagyon kevés az a mobil, amelyik kompatibilis, és a camera2-es szoftverek minden kézi beállítását ki tudja használni – ilyenek az újabb Nexus variánsok és egy-két gyártói darab (pl. S6 edge+). Az API-t és speciális opcióit, mint mondjuk a záridő paraméterezését, a kamerahardvernek és a drivereknek is támogatniuk kell, emellett sok gyártó nem is foglakozik a camera2 API-val. Így olyannal is gyakran találkozni, hogy a gyártói szoftver sok kézi beállítást felkínál, a camera2-es opciók mégsem működnek, esetleg részben vagy hibásan, fagyásokkal. Az, hogy egy készülék támogatja-e az API-t, és ha igen, milyen paraméterek érhetők el egy camera2-es alkalmazással, például a Manual Camera Compatibility megmondja. Ez nem jelenti azt, hogy más API-ra épülő kameraszoftverek ne kínálnak fel egy rakás opciót, és egy-egy alkalmazásnak van camera2-es és régi API-ra épülő működési módja is, most viszont kifejezetten az újra koncentrálunk az L Camera, a Manual Camera, az AZ Camera, az A Better Camera, a Camera FV-5 és a Snap Camera HDR esetében.

A Google Kamera tud egy-két trükköt, a kézi beállítások viszont nincsenek közöttük
A Google Kamera tud egy-két trükköt, a kézi beállítások viszont nincsenek közöttük [+]

Felesleges volna most belemenni, hogy a fejlesztői és hardveres oldaláról mennyi hasznos újítást kínál az camera2 API (erről itt egy hasznos kiselőadás), elég annyit tudni, hogy bár számos végfelhasználói beállítás a régivel is beépíthető volt a kameraszoftverekbe (mérési mód, önkioldó, arcfelismerés, HDR, érzékenység, fehéregyensúly stb.), a camera2-vel viszont már natív módon, egy komolyabb fényképezőgépez hasonlóan paraméterezni lehet az expozíciókorrekciót, a fehéregyensúlyt, a záridőt, a fókusztávolságot és érzékenységet, és ebbe a videofelvétel és az előlapi kamera is beletartozik. Sorozatfelvételre és expozíciósorozatra is akad passzoló camera2-es programkód, a tömörítetlen DNG fájlba való mentésre úgyszintén, úgyhogy ha egy alkalmazás mindezeket implementálja, a felhasználó rendelkezésére áll egy széles beállítási paletta, hogy a saját szájíze szerint paraméterezze kattintás előtt a dolgokat. A tömörítetlen képfájlba mentése azért jó hír, mert ahogy már említettük, a mai okostelefonok képfeldolgozó egysége sokszor „javítja” negatívan a képeket (telítettség feltolása, zajmentesítés, élesítés, agyontömörítés), a méretes DNG fájllal a tarsolyban ugyanakkor a felhasználó maga dolgozhatja fel a szenzorról érkező, szinte „nyers” adathalmazt.

A tömörítetlen DNG feldolgozása történhet számítógépen és telefonon is
A tömörítetlen DNG feldolgozása történhet számítógépen és telefonon is [+]

Engem például nem zavar némi zaj, így ilyen fájl kezelésekor érintetlenül hagyom a képek természetes részletgazdagságát, inkább a fehéregyensúlyon, a telítettségen, az expozíción és a kontrasztokon korrigálok, amennyiben szükséges, a Nexus 6P esetében egy csokornyi ilyen képet tettem közzé. A feldolgozás történhet mondjuk Photoshoppal, vagy olyan áruházas alkalmazással, amelyik a DNG-fájlt beolvassa (pl. Snapseed). A Nexus 6P azért ideális ehhez a kis teszthez a teljes camera2 támogatáson túl (mínusz expozíciókorrekció, ami nem elérhető), mert a 12,3 megapixeles Sony IMX377-es szenzor, a fejlett ISP, az f/2-es lencse, a lézeres autófókusz és a dupla ledes villanó tényleg sokra hivatott kombináció, a Google Kamera alapszoftver viszont nagyon kevésre. A gyári app automatikája mondjuk elég jó, hogy sokan ne vágyjanak alternatív szoftverre, és módok is akadnak szép számmal (a HDR+ este is kiváló), sokunknak ennyi azonban nem elég: mi akarunk izélni a paraméterekkel. Szerencsére, ha már a Google nem, mások szép számmal írtak alkalmazást a camera2 API-ra építve, a következő oldalon hat ilyen versenyzőt mutatunk be.

A versenyzők

Az L Camera volt az első, amelyik az új API alapján, az XDA Developers buzgó fejlesztőinek közbenjárásával megjelent, és alapot adott, hogy más csapatok a kódjából tanuljanak. Mivel az L Camera tesztelni és nem a végfelhasználónak lett kitalálva, a kezelőfelület bevallottan puritán és hiányos (nincsenek módok, rácsvonalak, önkioldó, fehéregyensúly állítás, vaku, a 6P esetében pedig érintőfókusz). A legfontosabb kézi beállítások mindenesetre paraméterezhetők (záridő, expozíciókorrekció, érzékenység), videofelvételek esetében is. Újabb baki, hogy a referencia phablet teljes képernyőjét nem tölti ki az információszegény élőkép. Az L Camera kifejezetten az Google API-jára lett fejlesztve.

Az L Camera puritán felülete
Az L Camera puritán felülete [+]

A camera2 API-ra épülő alkalmazások összehasonlítása. Kattintson a táblázat kiterjesztéséhez!
Szoftver L Camera Manual Camera AZ Camera A Better Camera Camera FV-5 Snap Camera
Autofókusz igen igen igen igen igen igen
Érintőfókusz nem igen igen igen igen igen
Kézi fókusz igen igen igen 5 séma 5 séma igen
Fehéregyensúly nem igen 5 séma + kézi 7 séma + kézi 4 séma 7 séma
Érzékenység igen igen igen igen igen igen
Záridő igen igen igen igen igen igen
Expozíciókorrekció nem igen igen érintő igen nem
Mérési módok nem nem 3 séma 3 séma 4 séma 3 séma
Vaku nem ki, be, auto ki, be, auto ki, be, vörös szem, lámpa,
fókuszáláshoz, auto
ki, be, vörös szem, lámpa,
auto
ki, be, auto
Sorozatkép igen igen igen igen nem igen
Expozíciósorozat igen nem igen igen igen igen
Környezeti téma,
egyéb módok
nem nem nem 13 séma,
DRO,
HDR,
preshot,
legjobb kép,
panoráma,
kódolvasó
time-lapse 8 séma,
HDR,
stabilizálás,
time-lapse
Effektek nem 8 séma nem 8 séma nem 12 séma
Digitális zoom nem igen igen igen igen igen
Önkioldó (másodperc) nem 2, 10 3, 10 3, 5, 10, 15, 60 2, 5, 10 2, 5, 10, 20, 30, 45, 60
DNG fájba mentés igen igen igen igen igen igen
Előlapi kamera kézi beállítások igen igen igen igen nem igen
Videofelvétel igen nem igen igen külön app igen
Videofelvétel kézi beállítások igen nem igen igen igen igen
Rácsvonalak nem igen igen igen igen igen
Hisztogram nem nem igen igen igen nem
Élő képinformációk nem nem igen igen igen igen
Beépített galéria nem igen igen igen igen igen
Ingyenes változat igen nem igen igen limitált próbaváltozat

A Manual Camera keresője
A Manual Camera keresője [+]

A Manual Camera egy komplettebb, viszont már fizetős szoftver. Az élőképén bal oldalt lehet a kézi opciókat kiválasztani, a jobb alsó sarokban pedig, egy „kameragyűrűt” tekergetve paraméterezni. Ez roppant praktikus és sokak számára ismerős elrendezés. Akad még DNG-be való mentés, sorozatfelvétel, önkioldó, rácsvonalak és effektek, videofelvétel viszont nem készíthető. A Manual Camera a camera2 API-ra lett fejlesztve, egyes félig vagy nem támogatott újabb készülékeken azonban néhány funkció elérhető lehet.

Az AZ Camera élőképe
Az AZ Camera élőképe [+]

Az AZ Camera felülete hasonló, csak itt alul lehet az opciókat kiválasztani. Akad három és ötelemes expozíciósorozat, a paraméterek pedig videofelvételnél és a szelfikameránál egyaránt elérhetők. A legjobb az AZ Camerában az, hogy ingyenes, a fejlesztők támogatásért hisztogram és hasonló apróságok járnak. A DNG mentés is alapból elérhető opció, és akad még egy-két apróság. Az AZ Camera kifejezetten a Google API-jára lett fejlesztve, így a nem kompatibilis eszközökkel nem is látható a Play Áruházban.

Az A Better Camera főképernyője
Az A Better Camera főképernyője [+]

Az A Better Camera az alapvető kézi beállításokon túl számos módot, környezeti témát (értsd: esti, naplemente, szivárvány stb.) és effektet felkínál, viszont a záridő, a fehéregyensúly (sémák formájában) és az érzékenység csak az menüből állítható, ami az előző szoftverekhez képest jóval több tapit jelent, ha az ember mindet szeret kontroll alatt tartani. Választható képsorozat, expozíciósorozat, esti mód, HDR, legjobb kép, bufferes felvétel, panoráma és time-lapse. A szoftver előnye, hogy kifejezetten nagy ikonokat használ, a DNG-mentésről pedig itt sem kell lemondani. Az A Better Camerának a legtöbb beállítása az ingyenes változatban elérhető, és a camera2-es működés mellett régi API-val is elindítható.

A Snap Camera opciói
A Snap Camera opciói [+]

A Snap Camera az előbbi szoftver rokona abból a szempontból, hogy rengeteg a beállítási mód, az effekt, a szcéna és egyéb nyalánkság, ráadásul ezek az élőképen függőlegesen simítva, tárcsaszerűen előhívhatók, bár a záridőállításért itt is be kell lépni a menübe. Fehéregyensúlyból 7 séma van, amire szükség lesz, mert az automatika gyakran téveszt színt.. A DNG mentés természetesen adott. Bár a Snap Camera nem ingyenes, akad próbaverziója, amely internetkapcsolat mellett 10 másodperc „kényszerszünet” után indul csak el, ha ezt viszont az ember győzi kivárni, utána minden opció elérhető. A Snap Camerának a camera2-es mód mellett akad régi API-ra épülő működése is, így sok beállítás széles körben elérhető, csak az olyan hasznosak nem, mint mondjuk a záridő.

A Camera FV-5 kezelőfelülete
A Camera FV-5 kezelőfelülete [+]

A Camera FV-5 két módra osztja a manuális beállításokat: P, vagyis program alatt az érzékenység, a fókusz, a fehéregyensúly (négy séma), a fénymérés és az expozíciókorrekció, S, vagyis shutter speed alatt pedig a záridő állítható. Akad önkioldó, intelligens sorozat (Nexus 6P-vel ez nem megy) és expozíciósorozat. Opció a DNG mentés, elérhető egyéni hosszú záridő 5 másodpercig (ez igazából több rövidebb záridejű képet gyúr össze 2 megapixelen), fehéregyensúly sémából pedig öt vethető be. A Camera FV-5 is fizetős darab, és a videorögzítésért másik alkalmazást is meg kell venni, a Cinema FV-5 ráadásul azonnal lefagyott a Nexuson, ezért gyorsan kértük is a pénzvisszatérítést. A Camera FV-5-nek is van régi és új API-ra épülő működési módja.

Tesztképek, összegzés

Egy dolog, hogy a Nexus 6P esetében elérhetők a kézi beállítások, de milyen ezeket a szoftvereket használni a mindennapokban? Szerencsére igen hasznos és jó. Általánosságban elmondható, hogy egy-egy esetet leszámítva nagyjából hasonló sebességgel operálnak, a fókusz nappal és általában este is villámgyors, az automatikus módok rendre pontosan járnak el az érzékenység és a záridőválasztás tekintetében, a DNG fájlok minősége pedig megegyezik. Apróbb eltérések inkább a jpeg mentésnél kezdődnek: fájlméretben például az A Better Camera és az AZ Camera képei a legkisebbek (nappal általában 2-3 megabájtosak), míg a Camera FV-5 és az L Camera állományai a legnagyobbak (5-7 megabájtosak). A konkrét minőséget tekintve viszont az L Camera képei valamivel puhábbak, a többi app jpeg minősége között ellenben nehéz különbségeket észrevenni a részletgazdagság vagy mondjuk tömörítési zaj terén. Ennek nyilván az az oka, hogy bár más-más szoftver intézte a kattintgatást, a kamerarendszer, az automatika és a képfeldolgozás közös. Egy DNG fájlból nyert képet is mellékeltem az AZ Camera segítségével. Minden fotónak a készítő szoftver a fáljneve.

Este is lőttem pár példát, és képminőségben vagy paraméterekben itt sem akadt jelentős eltérés a szoftverek teljesítménye között – mondjuk a Manual Camera, a Snap Camera HDR és az AZ Camera picivel több részletet örökített meg a másik háromnál. Ennél fontosabb tény az, hogy az első, Google Kamerával lőtt képnél mennyivel jobbak a camera2-es fotók, pedig automatikus módot vetettem be, kivéve a DNG fájl esetében. A hosszabb záridő, a fehéregyensúly-korrekció vagy az érzékenység lejjebb vétele sokat segít, hogy este is kitűnő társ maradjon egy mobilkamera, a DNG fájl használatával pedig a túlzó zajmentesítés is megkerülhető – persze akkor ilyen lehet egy extra sötétben lőtt, ISO7600-as fotó. Alacsony érzékenység mellett egyébként mindegyik szoftver lassabban fókuszált és exponált, így nem egyszer bemozdult a végeredmény, a relatív rövid maximális záridő ellenére (a Nexus 6P limitje 0,23 másodperc). Ebben az AZ Camera és a Manual Camera bizonyult a legelviselhetőbbnek.

Ha egyéni preferenciát kellene választanom a fenti hatosból, én az AZ Camera mellé tenném a voksomat, mert ingyenes, a felület átlátható és pofonegyszerűen kezelhető, ráadásul minden kézi beállítás bevethető videofelvétel és szelfizés közben is. Egyébként ez és a többi alkalmazás is hajlandó volt néha-néha leállni (a friss Android főverzió is közre játszhat, biztos jön majd erre szoftverfrissítés), ez viszont az AZ Cameránál nem volt gyakori. A hátulütője ugyanakkor az, hogy tényleg csak camera2 kompatibilis eszközre telepíthető, míg a többi alkalmazásnak egy vagy több funkciója sok készüléken elérhető, hiszen régi API-ra épülő módjuk is van (Snap Camera, Camera FV-5, A Better Camera). A hobbifotósoknak a Manual Camera lehet még alternatíva, csak itt fizetni kell az AZ Cameránál kevesebb funkcióért (videofelvétel hiánya), úgyhogy én az utóbbit hoznám ki jelen camera2 összehasonlító teszt győztesének, ezt is vetettem be a legtöbbször.

Az AZ Camera videofelvételnél is engedi a paramétereket finomhangolni
Az AZ Camera videofelvételnél is engedi a paramétereket finomhangolni [+]

A camera2 API lehetőségei az itt bemutatottakban nem merül ki, megfelelő eszközzel és szoftveres implementálással sok egyéb funkció is paraméterezhető lehet (zoom, blende, vaku, fókuszsorozat, vakus/nem vakus képek összegyúrása, pre-processing, 3D mapping, full-frame felvétel stb.), csak ehhez egy Nexus 6P-nél fejlettebb kamerarendszerre van szükség. Nem ez azonban a legfőbb megoldandó probléma jelenleg, hiszen az API már másfél éve adott, a ráépülő szoftverekkel pedig tényleg komplettebb a fotós élmény mondjuk egy Nexus 6P esetében, a DNG mentés ráadásul megkerüli a sokszor problémás képfeldogozást és tömörítést. Igazából a gyártóknak lenne az a dolga, hogy minden olyan készüléken, amelyik hardverszinten széles körben támogatja a kézi beállításokat, rendszerszinten elérhetővé tegyék azokat, illetve rágyúrjanak a camera2 API megfelelő beépítésére. Persze sokszor pont azért butítanak egy alsóbb kategóriás kamerán, hogy a felhasználó rá legyen kényszerítve a drágábbik modellek megvásárlására, mindenesetre, ha valaki elkezdi a mondjuk a záridőállítást olcsóbb készülékek esetében elérhetővé tenni, talán a többiek is követik. A Lumiák esetében ez régóta nem kérdés, és például a kedvező árú Meizu m2 is szépen paraméterezhető (bár nem használja ki a camera2-es opciókat), úgyhogy fény az van a kameralencse végén, már csak a szándék van hátra.

Bone123

A cikk elkészítésében a Telekom 4G/LTE mobilinternet volt segítségünkre.

Előzmények

Hirdetés