detta blogginlägg försöker kasta lite ljus i en av Android fragmentering hörn – en som är främst relevant för personer som är intresserade av mer avancerade fotografering och videografi program för att ta manuell kontroll över sina bild sammansättning.
först måste jag säga att jag inte är en kodare / mjukvaruexpert alls så det här kommer från en lekmans synvinkel och jag kommer av uppenbara skäl inte att gräva för djupt i de mer tekniska aspekterna under ytan.
vad är ett API? API står för”application programming interface”. Ett operativsystem använder API: er för att ge (tredje part) utvecklare verktyg och tillgång till vissa delar av systemet för att använda dem för deras tillämpning. Omvänt betyder det att tillverkaren av operativsystemet också kan begränsa åtkomsten till vissa delar av systemet. För att citera från Wikipedia: ”generellt sett är det en uppsättning tydligt definierade kommunikationsmetoder mellan olika programvarukomponenter. Ett bra API gör det lättare att utveckla ett datorprogram genom att tillhandahålla alla byggstenar, som sedan sätts ihop av programmeraren.”Nu vet du det.
upp till version 4.4 (KitKat) av Android var standard API för åtkomst till kamerafunktionen inbäddad i operativsystemet mycket begränsad. Med version 5 (Lollipop) introducerade Google det så kallade Camera2 API för att ge kameraapputvecklare bättre tillgång till mer avancerade kontroller av kameran, som manuell exponering (ISO, slutartid), fokus, RAW capture etc. Medan telefontillverkarna själva inte nödvändigtvis är helt beroende av Googles nya API, eftersom de kan anpassa sin egen version av Android OS, är tredjepartsapputvecklare i stor utsträckning – de kan bara arbeta med de verktyg de ges.
så har alla Android-enheter som kör Lollipop det nya Camera 2 API? Ja och nej. Medan Camera2 API är den nya standarden kamera API sedan Android Lollipop, det finns olika nivåer av genomförandet av denna API som varierar mellan olika telefon beslutsfattare och enheter. Det finns fyra olika nivåer av Camera2-implementering: Legacy, Limited, Full och Level 3. ’Legacy’ betyder att endast funktionerna från det gamla Camera1 API är tillgängliga,’ Limited ’ betyder att vissa funktioner i det nya API: et är tillgängliga, ’Full’ betyder att alla grundläggande nya funktioner i Camera2 är tillgängliga och ’Level 3’ lägger till några bonusfunktioner som RAW capture utöver det.
beroende på implementeringsnivån kan du använda dessa funktioner i avancerade bildinspelningsappar – eller inte. En app som Filmic Pro kan bara installeras om Camera2 – supportnivån är minst ’Full’-annars kan du bara installera den mindre funktionsspäckade Filmic Plus. Lumio Cam å andra sidan kan installeras på de flesta enheter men du kan bara aktivera pro-läget med manuell exponering och fokus om supportnivån är minst ’Full’ igen. Så om du är intresserad av att använda avancerade tredjepartsappar för att fånga foton eller spela in video med manuella exponeringskontroller etc. du vill ha en enhet som åtminstone har ’Full’ Camera2 API stöd.
men vilka enheter har ’Full’ Camera2 stöd? För närvarande finns det två huvudkategorier: Googles hårdvara (telefoner) och (många/mest) flaggskeppstelefoner som släpptes efter Android Lollipop kom ut. Egentligen verkar det som om den senare verkligen bara kom igång med Android 6 Marshmallow (jag antar att telefontillverkare behövde lite tid att ta reda på vad det handlade om ;)) det kommer inte som en överraskning att Google ger sina egna enheter Fullt stöd (Nexus & Pixel lines). Det betyder att även en nästan gammal, pre-Lollipop-enhet som den ursprungliga Nexus 5 har fått fullt stöd under tiden (via OS-uppdatering). Naturligtvis ingår alla Nexus-telefoner efter det (Nexus 6, Nexus 5X, Nexus 6P) och det säger sig självklart också Googles Pixel-telefoner.
låt oss nu gå över till andra smarttelefontillverkare (så kallade OEM-tillverkare, originalutrustningstillverkare) som Samsung, LG, HTC, Huawei, Sony, Lenovo/Motorola, OnePlus etc. Många av dem erbjuder åtminstone den avgörande’ Full ’ stödnivå på sina flaggskepp som kom ut med Android 6 Marshmallow installerat, några redan på de som kom ut med Android 5 Klubba: Samsung med sin S-serie (S6, S6 kant, S6 kant Plus via uppdatering, S7, S7 kant etc.G-serien (börjar med G4) och V-serien (börjar med V10), HTC (börjar med HTC 10), Lenovo/Motorola (börjar med Moto Z), OnePlus (börjar med OnePlus 3/3T) och Sony (börjar med Xperia Z5 via uppdatering så vitt jag vet). Sony är dock ett speciellt fall: deras Xperia – serie har svartlistats av utvecklarna av FilmicPro/Plus på grund av stora problem som uppstod med deras enheter-du kan inte installera deras appar på en Sony-telefon just nu. Å andra sidan finns det också några stora smarttelefontillverkare som ännu måste erbjuda fullt Camera2-stöd för sina flaggskepp, det mest framträdande svarta fåret är Huawei med sin P & Mate-serien, även den helt nya Huawei P10 med all sin kameraförmåga har endast begränsat stöd. Detsamma gäller-inte överraskande-för Huaweis budgetmärke Honor. Andra OEM-tillverkare som inte erbjuder fullt Camera2-stöd i sina flaggskepp inkluderar Asus (Zenfone 3) och Blackberry (KeyOne). Låt oss hoppas att de snart kommer att lägga till detta stöd och låt oss också hoppas att korrekt stöd sipprar ner till mellanklassen och kanske till och med nybörjartelefoner i Android-universum.
är du nyfiken på vilken Camera2-supportnivå din telefon har? Du kan använda två olika appar (båda gratis) i Google Play Store för att testa nivån på Camera2-implementeringen på din enhet. Camera2 sond & Camera2 sond.
Du kan också hitta en (naturligt ofullständig) lista över Android-enheter och deras nivå av Camera2 API-stöd här, skapad och underhållen av utvecklaren av appen ”Camera2 probe”:
https://github.com/TobiasWeis/android-camera2probe/wiki
Om du har en enhet som inte är listad kan du hjälpa till att utöka listan genom att skicka enhetens resultat (Inga personuppgifter) till utvecklaren (Det finns en speciell knapp längst ner i appen).
För mer detaljerad information om Camera2 API, kolla in dessa källor:
https://spectrastudy.com/camera2-api-on-mwc-2015-devices/
https://developer.android.com/reference/android/hardware/camera2/package-summary.html
som alltid, om du har frågor eller kommentarer, släpp dem här eller slå mig på Twitter @smartfilming. Om du gillar den här artikeln kan du också överväga att prenumerera på min gratis telegramkanal (t.mig / smartfilming) för att få meddelande om nya blogginlägg och få det månatliga ten Telegram Takeaways-nyhetsbrevet om viktiga saker som hände i mobilvideovärlden.
för en översikt över alla mina blogginlägg klicka här.
jag investerar mycket tid och arbete i den här bloggen och jag betalar till och med för att hålla den annonsfri för en ostörd läsupplevelse. Om du tycker att något av innehållet är användbart, överväg att göra en liten donation via PayPal (klicka på PayPal-knappen nedan). Det är mycket uppskattat. Tack! 🙂