Google CameraX API ļauj lietotnēm izmantot labākās kameras funkcijas

click fraud protection

Google CameraX piegādātāja paplašinājumu API ļauj trešo pušu kameru lietotnēm izmantot dažas no labākajām kameru lietojumprogrammas funkcijām.

Internetā jau sen klīst joks, pēc kura var saprast, vai kāds lieto Android tālruni slikta pašbildes kvalitāte. Lai gan mēmi noteikti diezgan daudz pārspīlē, diemžēl aiz tiem slēpjas daļa patiesības. Android tālruņi parasti ir apsteiguši iPhone tālruņus kameru veiktspējas ziņā, vismaz uz papīra. Oriģinālo iekārtu ražotāji, piemēram, LG un Samsung, mēdz izmantot kameras ar vairāk pikseļu un lielāku diafragmu nekā konkurējošie iPhone. Tomēr specifikācijas nav viss. Daļa no tā, kāpēc Apple var konkurēt kameru spēlē, ir iOS programmatūras dēļ. Visi oriģinālo iekārtu ražotāji, sākot ar Apple un beidzot ar ZTE, izmanto kādu programmatūras maģiju, lai fotoattēli un videoklipi izskatītos labāki. Uzņēmumi izmanto algoritmus, lai samazinātu troksni, pielāgotu krāsu piesātinājumu un kontrastu un pat paspilgtinātu tumšās ainas, lai gala rezultāti būtu patīkamāki. Vēsturiski šī ir vieta, kur Android oriģinālo iekārtu ražotāji ir atpalikuši no Apple.

Programmatūras izstrāde

Tomēr pavisam nesen lietas ir sākušas mainīties. Lielākais šo izmaiņu piemērs, iespējams, ir Google un Pixel klāsts. Aparatūras ziņā Pixel kameras tiešām nevar salīdzināt ar citiem flagmaņiem. Programmatūra ir vieta, kur Google nosaka atšķirību. Ar tādām funkcijām kā portreta režīms, nakts skats, HDR+ un Super Res Zoom, pikseļi ir izpelnījušies reputāciju ar dažiem labākās viedtālruņu kameras tirgū.

Citi Android oriģinālo iekārtu ražotāji seko Google piemēram. Samsung, OPPO, Xiaomi, Vivo, OnePlus utt. ir ieviesuši savas Pixel populārāko kameru funkciju versijas, un tām pat ir dažas unikālas funkcijas. Izmantojot tādus modes vārdus kā “AI” un “mašīnmācība”, Android oriģinālo iekārtu ražotāji cenšas jūs pārliecināt, ka viņu programmatūra ir programmatūra, ar kuru vēlaties uzlabot savus fotoattēlus un videoklipus. Esam sasnieguši punktu, kurā Android tālruņi var patiesi konkurēt ar iPhone tālruņiem visos kameras veiktspējas aspektos.

Problēma

Diemžēl joprojām ir viens būtisks izņēmums: trešo pušu lietotnes. Jūsu super-duper 50 kameru flagmanis var uzņemt pārsteidzošus fotoattēlus, izmantojot iebūvēto kameras lietotni, taču pārslēdzieties uz Instagram, Snapchat vai pat trešās puses kameras lietotne, un tā būtībā ir garantija, ka tas, ko jūs uzņemat, neizskatīsies gandrīz kā labi. It kā ar to vēl nepietiktu, jūs zaudējat arī visas lieliskas kameras funkcijas un režīmus. Tas ir tāpēc, ka atšķirībā no iOS operētājsistēmai Android īsti nav vienota kameru ietvara. Protams, pamatfunkcijas ir tur. Trešās puses lietotne joprojām var uzņemt fotoattēlus un videoklipus, kā arī izmantot zibspuldzi. Bet kas notiek, ja jūsu tālrunim ir sekundārais sensors platleņķa vai telefoto uzņemšanai? Iespējams, izstrādātāji varēs piekļūt šim otrajam sensoram, taču viņu izmantotajai metodei būs jāatbilst jūsu ierīcei.

Pieņemsim, ka jums ir LG V40 (es zinu, es zinu, iedomājieties, ka jūs to darāt). V40 ir trīs sensori: standarta, telefoto un īpaši platleņķa sensori. Iebūvētajai kameras lietotnei nav problēmu pārslēgties starp visiem šiem dažādajiem sensoriem. Bet aizmirstiet par īpaši platā sensora izmantošanu Instagram. Tagad Instagram varētu apskatīt, kā LG kameru lietotne izmanto dažādus sensorus, un izstrādāt veidu, kā lietotāji var uzņemt platleņķa vai tālummaiņas attēlus. Bet tas, iespējams, darbotos tikai LG V40. Lai gan Galaxy S10 ir vienādi trīs sensoru režīmi (standarta, telefoto un īpaši plats), Instagram komandai Samsung būtu jāizstrādā cita metode.

Tagad pievienojiet Huawei, Vivo, OnePlus, Xiaomi, OPPO, Nokia, ZTE, HTC un jebkuru citu zīmolu, ko varat iedomāties. Kā jūs varat iedomāties, mēģinājums izstrādāt metodi, lai piekļūtu tikai potenciālajiem papildu sensoriem katram tālrunim no katra zīmola, būtu neticami nogurdinošs. Un tad jums ir jāuztur saderība ar visiem esošajiem un jaunajiem tālruņiem.

Šie ierobežojumi attiecas arī uz kameras funkcijām. Tādām lietām kā portreta režīms, nakts skats un HDR+ ir nepieciešamas īpašas katrai ierīcei paredzētas metodes, vai arī tās nav pilnībā pieejamas trešo pušu lietotnēm.

Acīmredzot tādai lietotnei kā Instagram tas nav pārāk liels darījums. Tas nav viņu fokuss, un jūs vienmēr varat izmantot tālruņa kameras lietotni, lai vispirms uzņemtu kadru. Bet kā ir ar īpašām kameru lietotnēm?

Efekti

Atveriet Google Play veikalu un meklējiet “kamera”. Jūs atradīsit simtiem rezultātu. Pat ar pirmās puses kameru programmatūras uzlabojumiem trešo pušu kameru lietotnes joprojām ir ļoti populāras. Dažu pakalpojumu mērķis ir nodrošināt tehniskākas funkcijas, piemēram, manuālo ekspozīciju un fokusu (funkcijas, kuru, iespējams, nav jūsu tālruņa kameras lietotnē). Citu mērķis ir nodrošināt konsekventu lietotāja pieredzi visās jūsu ierīcēs.

Īpaši pēdējā iemesla dēļ Android kameru sadrumstalotība var apgrūtināt plaši saderīgas kameras lietotnes izstrādi un uzturēšanu. Ja vēlaties nodrošināt papildu funkcijas, kā jūs plānojat iekļaut visas iespējamās visu iespējamo pirmās puses lietotņu funkcijas? Ja meklējat konsekventu pieredzi, kā jūs varat reāli garantēt, ka piekļuve platleņķa sensoram katrā ierīcē, kurā tas ir, darbosies?

Atbilde ir: jūs nevarat. Varat mēģināt atbalstīt pēc iespējas vairāk funkciju pēc iespējas vairākās ierīcēs, taču galu galā tas būs daudz darba par salīdzinoši nelielu atlīdzību. Nav grūti iedomāties, ka vismaz daži izstrādātāji ir vienkārši atteikušies no pilnībā aprīkotas kameras lietotnes Android ierīcēm. Patiesībā vairākiem ir.

Cietušie

Meklējiet kameras lietotnes Play veikalā. Jūs pamanīsit dažas lietas. Viens, ir a daudz no iespējām. Otrkārt, lielākā daļa no viņiem dara diezgan līdzīgas lietas (lieto filtrus pēc tam un tamlīdzīgi). Treškārt, uzlabotās opcijas, iespējams, netiek atjauninātas tik bieži. Jūs pat varat atrast Google tīklā rezultātus, kas vairs nav pieejami veikalā.

Nesen mēs esam saņēmuši diezgan nozīmīgu piemēru, kad kāds to sauc. Moment nolēma pārtraukt savas Pro Camera lietotnes Android ierīcēm izstrādi.

Moment Pro Camera lietotnes mērķis ir nodrošināt uzlabotas fotoattēlu un video funkcijas Android ierīcēs. Šīs ir tikai dažas no šīm funkcijām:

  • RGB histogrammas
  • Sadalīts fokuss
  • Ekspozīcijas, ISO, slēdža ātruma, baltā balansa manuāla vadība
  • Fokusa maksimums
  • RAW uztveršana
  • Dinamiskās kadru ātruma un izšķirtspējas izmaiņas
Moment Pro Camera ekrānuzņēmumi. Caur: 9to5Google

Problēma ir tā, ka daudzas no šīm funkcijām vienkārši nedarbojas daudzās ierīcēs. Skatīšanās uz Moment funkciju saderības sarakstu ir kā skatīšanās uz deju grīdas attēlu. Pat tajā pašā produktu līnijā funkciju atbalsts ir neticami sadrumstalots. Pēc divu gadu izstrādes Moment vairs nav iespējas turpināt izstrādi savā lietotnē.

Zaļš = atbalsta Moment Pro Camera. Dzeltens = atbalsta ierīce, bet ne mana Moment Pro kamera. Sarkans = ierīce neatbalsta. Attēla avots: Moment. Iegūts, izmantojot: 9to5Google.

Atrisinājums?

Ir pagājuši gandrīz 12 gadi kopš Android pirmās izlaišanas, taču, iespējams, beidzot būs risinājums kameras sadrumstalotībai.

Šis risinājums nāk tieši no Google, lai gan tas nav iebūvēts tieši operētājsistēmā Android. Tā vietā tas ir a Jetpack atbalsta bibliotēka. Ja esat iepazinies ar Android lietotņu izstrādi, iespējams, esat saskāries ar AppCompat un AndroidX atbalsta bibliotēku komplektiem. Šo Google bibliotēku mērķis ir atvieglot izstrādātājiem saglabāt saderību ar vecākām Android versijām, vienlaikus nodrošinot jaunas funkcijas un stilus.

Jaunāks Jetpack papildinājums (sava ​​veida) ir CameraX bibliotēka. Līdzīgi kā citām Jetpack bibliotēkām, CameraX mērķis ir atvieglot kameru izstrādi. Savā visvienkāršākajā formā CameraX aptver Android Kamera 2, API, kas ļauj lietotnēm pārbaudīt kameras funkcijas ierīcē, ja OEM šīs kameras funkcijas pakļauj API. Lietotāji var pārbaudīt, kuras kameras funkcijas ir pakļautas Camera2 API, izmantojot lietojumprogrammu Camera2 API Probe, un pēc tam salīdzināt to ar funkcijām, kas pieejamas akciju kameras lietojumprogrammā.

Camera2 API zondeIzstrādātājs: March Media Lab

Cena: bezmaksas.

4.2.

Lejupielādēt

Ieguvums no CameraX izmantošanas kā Camera2 API iesaiņojuma ir tāds, ka tas iekšēji atrisina visas ar ierīci saistītās saderības problēmas, kas var rasties. Tas vien būs noderīgi kameru lietotņu izstrādātājiem, jo ​​​​tas var samazināt standarta kodu un laiku, kas pavadīts kameras problēmu izpētei. Tomēr tas nav viss, ko CameraX var darīt.

Lai gan šī pirmā daļa galvenokārt ir interesanta tikai izstrādātājiem, ir vēl viena daļa, kas attiecas gan uz izstrādātājiem, gan gala lietotājiem: Pārdevēju paplašinājumi. Šī ir Google atbilde uz kameras funkciju sadrumstalotību operētājsistēmā Android. Ierīču ražotāji var izvēlēties nosūtīt paplašinājumu bibliotēkas ar saviem tālruņiem, kas ļauj CameraX (un izstrādātājiem un lietotājiem) izmantot vietējās kameras funkcijas. Piemēram, sakiet, ka jums ļoti patīk Samsung portreta režīma efekts, bet jums nepatīk pati kameras lietotne. Ja Samsung nolems savos tālruņos ieviest CameraX Portrait Mode paplašinājumu, jebkura trešās puses lietotne, kas izmanto CameraX, varēs izmantot Samsung portreta režīmu. Acīmredzot tas neaprobežojas tikai ar šo vienu funkciju. Ražotāji teorētiski var atvērt jebkuru savu kameras funkciju lietotnēm, izmantojot CameraX.

Diemžēl ir brīdinājums, ko es minēju iepriekš: ražotājiem tā nav obligāta. Google saka tie atbalstīs paplašinājumus visās jaunajās un gaidāmajās Pixel ierīcēs, sākot ar Pixel 4. OPPO saka viņi ir atvēruši savus skaistuma un HDR režīmus. Citi oriģinālo iekārtu ražotāji varēja izvēlēties CameraX padarīt pieejamus tikai savus nakts režīmus vai arī vispār neieviest nekādus paplašinājumus. Tas ir pilnībā atkarīgs no ražotāja, kura ierīce atbalsta kādus CameraX paplašinājumus (ja tādi ir). Google izmanto, lai uzturētu ierīču sarakstu kas atbalsta pakalpojumu sniedzēju paplašinājumus un kādas kameras funkcijas tie atvēra, taču pēdējos vairākus mēnešus tie nav atjauninājuši sarakstu. Pirms dažām nedēļām mēs sazinājāmies ar Google, vaicājot, vai viņi varētu sniegt atjauninātu sarakstu, taču uzņēmums vēl nav atbildējis ar sarakstu. Par cik tas ir vērts, a nesenais Google emuāra ieraksts norāda, ka Samsung, LG, OPPO, Xiaomi un Motorola ierīces (operētājsistēmā Android 10) nodrošina dažus paplašinājumus. funkcijas, taču emuāra ierakstā nav precīzi norādīts, kuras ierīces tiek atbalstītas un kādas tās funkcijas nodrošināt.

Ja pietiekami daudz ražotāju nolems ieviest paplašinājumus, Android trešās puses kameru aina būs daudz spilgtāka. Izstrādātājiem nebūs jātērē laiks, lai atkārtoti ieviestu kameras funkciju katrā ierīcē, jo par to parūpēsies CameraX sistēma. Funkciju sadrumstalotība būs mazāka, jo līdzīgas funkcijas dažādās ierīcēs būs pieejamas, izmantojot kopīgu saskarni. Un ir vēl daudz iespēju.


Protams, tas viss ir atkarīgs no Google spējas pārliecināt ražotājus ieviest CameraX Vendor Extension bibliotēkas turpmāk. Ja vien CameraX netiks plaši ieviests, tas tikai palielinās pašreizējo sadrumstalotību. Tomēr personīgi es ceru. Google var būt ļoti pārliecinošs, kad tas vēlas, un šķiet, ka CameraX tiek ieguldīts daudz darba. Ir aizraujoši redzēt iespējamo risinājumu Android kameru problēmām, un es ar nepacietību gaidu, kā CameraX laika gaitā uzlabosies un paplašināsies.

Ko jūs domājat par CameraX? Vai Google izdosies izveidot vienotu kameru pieredzi Android ierīcēm?