Το CameraX API της Google επιτρέπει στις εφαρμογές να χρησιμοποιούν τις καλύτερες δυνατότητες της φωτογραφικής μηχανής

click fraud protection

Το API επεκτάσεων προμηθευτή CameraX της Google δίνει τη δυνατότητα στις εφαρμογές κάμερας τρίτων να χρησιμοποιούν μερικές από τις καλύτερες δυνατότητες της εφαρμογής φωτογραφικής μηχανής στοκ.

Υπάρχει ένα μακροχρόνιο αστείο στο Διαδίκτυο που μπορείτε να καταλάβετε εάν κάποιος χρησιμοποιεί τηλέφωνο Android από το κακή ποιότητα των selfies τους. Αν και τα μιμίδια είναι σίγουρα υπερβολικά αρκετά, υπάρχει, δυστυχώς, λίγη αλήθεια πίσω από αυτά. Τα τηλέφωνα Android ήταν συνήθως μπροστά από τα iPhone όσον αφορά την απόδοση της κάμερας, τουλάχιστον στα χαρτιά. OEM όπως η LG και η Samsung τείνουν να χρησιμοποιούν κάμερες με περισσότερα pixel και μεγαλύτερα διαφράγματα από τα ανταγωνιστικά iPhone. Ωστόσο, οι προδιαγραφές δεν είναι το παν. Μέρος του γιατί η Apple μπορεί να ανταγωνιστεί στο παιχνίδι της κάμερας οφείλεται στο λογισμικό του iOS. Όλοι οι OEM, από την Apple έως τη ZTE, χρησιμοποιούν κάποια μαγεία λογισμικού για να κάνουν τις φωτογραφίες και τα βίντεο να φαίνονται καλύτερα. Οι εταιρείες χρησιμοποιούν αλγόριθμους για να μειώσουν το θόρυβο, να τροποποιήσουν τον κορεσμό των χρωμάτων και την αντίθεση, ακόμη και να φωτίσουν σκοτεινές σκηνές, όλα αυτά για να κάνουν τα τελικά αποτελέσματα πιο ευχάριστα. Αυτό είναι, ιστορικά, όπου οι ΚΑΕ Android υπολείπονται της Apple.

Εξελίξεις λογισμικού

Πιο πρόσφατα, όμως, τα πράγματα έχουν αρχίσει να αλλάζουν. Το μεγαλύτερο παράδειγμα αυτής της αλλαγής είναι πιθανώς η Google και η σειρά Pixel. Όσον αφορά το υλικό, οι κάμερες Pixel πραγματικά δεν μπορούν να συγκριθούν με άλλες ναυαρχίδες. Ωστόσο, το λογισμικό είναι όπου η Google κάνει τη διαφορά. Με λειτουργίες όπως Λειτουργία Πορτραίτου, Νυχτερινή όραση, HDR+ και Super Res Zoom, τα Pixel έχουν κερδίσει τη φήμη ότι διαθέτουν μερικά από τα καλύτερες κάμερες smartphone στην αγορά.

Άλλοι ΚΑΕ Android ακολουθούν το παράδειγμα της Google. Οι Samsung, OPPO, Xiaomi, Vivo, OnePlus, κ.λπ., έχουν εισαγάγει όλες τις δικές τους εκδόσεις των πιο δημοφιλών χαρακτηριστικών της κάμερας του Pixel και έχουν ακόμη και μερικά δικά τους μοναδικά χαρακτηριστικά. Με τσιτάτα όπως "AI" και "machine learning", οι OEM Android προσπαθούν να σας πείσουν ότι το λογισμικό τους είναι το λογισμικό που θέλετε να βελτιώσετε τις φωτογραφίες και τα βίντεό σας. Έχουμε φτάσει σε ένα σημείο όπου τα τηλέφωνα Android μπορούν πραγματικά να ανταγωνιστούν τα iPhone σε όλες τις πτυχές της απόδοσης της κάμερας.

Το πρόβλημα

Δυστυχώς, εξακολουθεί να υπάρχει μια σημαντική εξαίρεση: εφαρμογές τρίτων. Η ναυαρχίδα σας με 50 κάμερες μπορεί να τραβήξει εκπληκτικές φωτογραφίες με την ενσωματωμένη εφαρμογή κάμερας, αλλά μεταβείτε στο Instagram, Snapchat, ή ακόμα και μια εφαρμογή κάμερας τρίτου μέρους, και είναι βασικά μια εγγύηση ότι αυτό που τραβάτε δεν θα μοιάζει σχεδόν με Καλός. Σαν να μην έφτανε αυτό, χάνετε επίσης όλες τις εντυπωσιακές λειτουργίες και λειτουργίες της κάμερας. Αυτό οφείλεται στο γεγονός ότι, σε αντίθεση με το iOS, το Android δεν έχει πραγματικά ένα ενοποιημένο πλαίσιο κάμερας. Φυσικά, τα βασικά χαρακτηριστικά υπάρχουν. Μια εφαρμογή τρίτου μέρους μπορεί να τραβήξει φωτογραφίες και βίντεο και να χρησιμοποιήσει το φλας. Τι συμβαίνει όμως εάν το τηλέφωνό σας διαθέτει δευτερεύοντα αισθητήρα για ευρυγώνιο ή τηλεφακό; Είναι πιθανό οι προγραμματιστές να έχουν πρόσβαση σε αυτόν τον δεύτερο αισθητήρα, αλλά η μέθοδος που χρησιμοποιούν θα πρέπει να είναι συγκεκριμένη για τη συσκευή σας.

Ας πούμε ότι έχετε ένα LG V40 (ξέρω, ξέρω, φανταστείτε ότι έχετε). Το V40 διαθέτει τρεις αισθητήρες: στάνταρ, τηλεφακό και υπερευρυγώνιο. Η ενσωματωμένη εφαρμογή κάμερας δεν έχει πρόβλημα εναλλαγής μεταξύ όλων αυτών των διαφορετικών αισθητήρων. Αλλά ξεχάστε να χρησιμοποιήσετε τον υπερευρυγώνιο αισθητήρα στο Instagram. Τώρα, το Instagram θα μπορούσε να ρίξει μια ματιά στον τρόπο με τον οποίο η εφαρμογή κάμερας της LG χρησιμοποιεί τους διαφορετικούς αισθητήρες και να αναπτύξει έναν τρόπο για τους χρήστες να τραβούν λήψεις ευρείας γωνίας ή ζουμ. Αλλά αυτό πιθανότατα θα λειτουργούσε μόνο στο LG V40. Παρόλο που το Galaxy S10 έχει τις ίδιες τρεις λειτουργίες αισθητήρα (τυπική, τηλεφακό και υπερευρυγώνιο), η ομάδα του Instagram θα έπρεπε να αναπτύξει μια άλλη μέθοδο για τη Samsung.

Τώρα προσθέστε Huawei, Vivo, OnePlus, Xiaomi, OPPO, Nokia, ZTE, HTC και ό, τι άλλο εμπορικό σήμα μπορείτε να σκεφτείτε στο μείγμα. Όπως μπορείτε να φανταστείτε, η προσπάθεια ανάπτυξης μιας μεθόδου πρόσβασης μόνο στους πιθανούς επιπλέον αισθητήρες για κάθε τηλέφωνο από κάθε μάρκα θα ήταν απίστευτα κουραστική. Και τότε πρέπει να διατηρήσετε τη συμβατότητα με όλα τα τρέχοντα και νέα τηλέφωνα.

Αυτοί οι περιορισμοί ισχύουν και για τα χαρακτηριστικά της κάμερας. Πράγματα όπως η Λειτουργία Πορτραίτου, η Νυχτερινή όραση και το HDR+ είτε χρειάζονται συγκεκριμένες μεθόδους ανά συσκευή για χρήση είτε είναι εντελώς απρόσιτα σε εφαρμογές τρίτων.

Προφανώς, για μια εφαρμογή όπως το Instagram, αυτό δεν είναι πολύ μεγάλη υπόθεση. Δεν είναι το επίκεντρό τους και θα μπορούσατε πάντα να χρησιμοποιήσετε την εφαρμογή κάμερας του τηλεφώνου σας για να τραβήξετε πρώτα τη λήψη. Τι γίνεται όμως με τις αποκλειστικές εφαρμογές κάμερας;

Τα αποτελέσματα

Ανοίξτε το Google Play Store και αναζητήστε "κάμερα". Θα βρείτε εκατοντάδες αποτελέσματα. Ακόμη και με τις βελτιώσεις στο λογισμικό κάμερας πρώτου κατασκευαστή, οι εφαρμογές κάμερας τρίτων εξακολουθούν να είναι πολύ δημοφιλείς. Ορισμένα στοχεύουν στην παροχή περισσότερων τεχνικών χαρακτηριστικών, όπως η μη αυτόματη έκθεση και εστίαση (χαρακτηριστικά που μπορεί να μην έχει η εφαρμογή κάμερας του τηλεφώνου σας). Άλλοι στοχεύουν να παρέχουν ένα συνεπές UX σε όλες τις συσκευές σας.

Ειδικά για τον τελευταίο λόγο, ο κατακερματισμός της κάμερας του Android μπορεί να κάνει απίστευτα δύσκολη την ανάπτυξη και τη διατήρηση μιας ευρέως συμβατής εφαρμογής κάμερας. Αν θέλετε να παρέχετε επιπλέον δυνατότητες, πώς θα συμπεριλάβετε όλες τις πιθανές δυνατότητες όλων των πιθανών εφαρμογών πρώτου κατασκευαστή; Εάν αναζητάτε μια σταθερή εμπειρία, πώς μπορείτε να εγγυηθείτε ρεαλιστικά ότι η πρόσβαση στον ευρυγώνιο αισθητήρα σε κάθε συσκευή που τον διαθέτει θα λειτουργήσει;

Η απάντηση είναι: δεν μπορείς. Μπορείτε να προσπαθήσετε να υποστηρίξετε όσο το δυνατόν περισσότερες δυνατότητες σε όσο το δυνατόν περισσότερες συσκευές, αλλά στο τέλος, θα χρειαστεί πολλή δουλειά για σχετικά μικρή ανταμοιβή. Δεν είναι δύσκολο να φανταστεί κανείς ότι τουλάχιστον μερικοί προγραμματιστές έχουν απλά εγκαταλείψει τη δημιουργία μιας εφαρμογής κάμερας με πλήρη δυνατότητα για Android. Στην πραγματικότητα, αρκετοί έχουν.

Τα θύματα

Κάντε μια αναζήτηση για εφαρμογές κάμερας στο Play Store. Θα παρατηρήσετε μερικά πράγματα. Ένα, υπάρχουν ένα παρτίδα των επιλογών. Δύο, οι περισσότεροι από αυτούς κάνουν αρκετά παρόμοια πράγματα (εφαρμόζουν φίλτρα εκ των υστέρων και τέτοια). Τρίτον, οι πιο προηγμένες επιλογές μάλλον δεν ενημερώνονται τόσο συχνά. Μπορεί ακόμη και να βρείτε αποτελέσματα στο Google που δεν είναι πλέον στο κατάστημα.

Πρόσφατα, λάβαμε ένα αρκετά σημαντικό παράδειγμα κάποιου που το αποκάλεσε. Η Moment αποφάσισε να σταματήσει την ανάπτυξη της εφαρμογής Pro Camera για Android.

Η εφαρμογή Moment's Pro Camera είχε στόχο να φέρει προηγμένες λειτουργίες φωτογραφίας και βίντεο στο Android. Αυτά είναι μερικά μόνο από αυτά τα χαρακτηριστικά:

  • Ιστογράμματα RGB
  • Διαχωρίστε την εστίαση
  • Χειροκίνητος έλεγχος έκθεσης, ISO, ταχύτητα κλείστρου, ισορροπία λευκού
  • Η εστίαση κορυφώνεται
  • Λήψη RAW
  • Δυναμικός ρυθμός καρέ και αλλαγές ανάλυσης
Στιγμιότυπα οθόνης Moment Pro Camera. Μέσω: 9to5Google

Το πρόβλημα είναι ότι πολλά από αυτά τα χαρακτηριστικά απλά δεν λειτουργούν σε πολλές συσκευές. Η εξέταση της λίστας συμβατότητας χαρακτηριστικών του Moment είναι σαν να κοιτάζεις μια εικόνα μιας πίστας χορού. Ακόμη και στην ίδια σειρά προϊόντων, η υποστήριξη χαρακτηριστικών είναι απίστευτα κατακερματισμένη. Μετά από δύο χρόνια ανάπτυξης, το Moment δεν έχει πλέον τη δυνατότητα να συνεχίσει την ανάπτυξη στην εφαρμογή του.

Πράσινο = υποστηρίζεται από την κάμερα Moment Pro. Κίτρινο = υποστηρίζεται από τη συσκευή αλλά όχι από την κάμερα Moment Pro. Κόκκινο = δεν υποστηρίζεται από τη συσκευή. Πηγή εικόνας: Στιγμή. Ανακτήθηκε μέσω: 9to5Google.

Η λύση?

Έχουν περάσει σχεδόν 12 χρόνια από την πρώτη κυκλοφορία του Android, αλλά μπορεί επιτέλους να έχουμε μια λύση για τον κατακερματισμό της κάμερας.

Αυτή η λύση προέρχεται απευθείας από την Google, αν και δεν είναι ενσωματωμένη απευθείας στο Android. Αντίθετα, είναι ένα Βιβλιοθήκη υποστήριξης Jetpack. Εάν είστε εξοικειωμένοι με την ανάπτυξη εφαρμογών Android, πιθανότατα έχετε συναντήσει τις σουίτες βιβλιοθήκης υποστήριξης AppCompat και AndroidX. Αυτές οι βιβλιοθήκες της Google στοχεύουν στο να διευκολύνουν τους προγραμματιστές να διατηρήσουν συμβατότητα με παλιότερες εκδόσεις Android, ενώ θα μπορούν να εισάγουν νέες δυνατότητες και στυλ.

Μια νεότερη προσθήκη στο Jetpack (κάπως), είναι η βιβλιοθήκη CameraX. Όπως και άλλες βιβλιοθήκες Jetpack, στόχος της CameraX είναι να διευκολύνει την ανάπτυξη της κάμερας. Στην πιο βασική του μορφή, το CameraX αναδιπλώνει το Android Κάμερα 2, ένα API που επιτρέπει στις εφαρμογές να διερευνούν τις λειτουργίες της κάμερας σε μια συσκευή, υπό την προϋπόθεση ότι ο OEM εκθέτει αυτές τις λειτουργίες της κάμερας στο API. Οι χρήστες μπορούν να ελέγξουν ποιες δυνατότητες κάμερας εκτίθενται στο Camera2 API χρησιμοποιώντας την εφαρμογή Camera2 API Probe και, στη συνέχεια, να το συγκρίνουν με τις δυνατότητες που είναι διαθέσιμες στην εφαρμογή φωτογραφικής μηχανής στοκ.

Camera2 API ProbeΚατασκευαστής: March Media Lab

Τιμή: Δωρεάν.

4.2.

Κατεβάστε

Το όφελος από τη χρήση του CameraX ως περιτύλιγμα για το Camera2 API είναι ότι, εσωτερικά, επιλύει τυχόν ζητήματα συμβατότητας για τη συσκευή που μπορεί να προκύψουν. Αυτό από μόνο του θα είναι χρήσιμο για τους προγραμματιστές εφαρμογών κάμερας, καθώς μπορεί να μειώσει τον κώδικα του boilerplate και τον χρόνο που αφιερώνεται στην έρευνα προβλημάτων κάμερας. Δεν είναι μόνο αυτό που μπορεί να κάνει το CameraX.

Ενώ αυτό το πρώτο μέρος είναι ως επί το πλείστον ενδιαφέρον μόνο για προγραμματιστές, υπάρχει ένα άλλο μέρος που ισχύει τόσο για προγραμματιστές όσο και για τελικούς χρήστες: Επεκτάσεις προμηθευτών. Αυτή είναι η απάντηση της Google στον κατακερματισμό των χαρακτηριστικών της κάμερας στο Android. Οι κατασκευαστές συσκευών μπορούν να επιλέξουν να αποστέλλουν βιβλιοθήκες επεκτάσεων με τα τηλέφωνά τους που επιτρέπουν στο CameraX (και στους προγραμματιστές και στους χρήστες) να αξιοποιούν τις εγγενείς λειτουργίες της κάμερας. Για παράδειγμα, ας πούμε ότι σας αρέσει πολύ το εφέ Portrait Mode της Samsung, αλλά δεν σας αρέσει η ίδια η εφαρμογή κάμερας. Εάν η Samsung αποφασίσει να εφαρμόσει μια επέκταση CameraX Portrait Mode στα τηλέφωνά της, οποιαδήποτε εφαρμογή τρίτου κατασκευαστή που χρησιμοποιεί CameraX θα μπορεί να χρησιμοποιήσει τη λειτουργία Portrait της Samsung. Προφανώς, αυτό δεν περιορίζεται μόνο σε αυτό το χαρακτηριστικό. Οι κατασκευαστές μπορούν θεωρητικά να ανοίξουν οποιαδήποτε από τις δυνατότητες της κάμεράς τους σε εφαρμογές που χρησιμοποιούν το CameraX.

Δυστυχώς, υπάρχει μια προειδοποίηση, την οποία ανέφερα νωρίτερα: αυτό δεν είναι απαίτηση για τους κατασκευαστές. λέει η Google θα υποστηρίζουν επεκτάσεις σε όλες τις νέες και τις επερχόμενες συσκευές Pixel, ξεκινώντας από το Pixel 4. Λέει η OPPO έχουν ανοίξει τις λειτουργίες Beauty και HDR. Άλλοι OEM θα μπορούσαν να επιλέξουν να διαθέσουν μόνο τις νυχτερινές τους λειτουργίες στην CameraX ή θα μπορούσαν να επιλέξουν να μην εφαρμόσουν καθόλου επεκτάσεις. Εξαρτάται πλήρως από τον κατασκευαστή ποια συσκευή υποστηρίζει ποιες επεκτάσεις CameraX (αν υπάρχουν). Google χρησιμοποιείται για τη διατήρηση μιας λίστας συσκευών που υποστηρίζουν Επεκτάσεις Προμηθευτή και ποιες δυνατότητες κάμερας άνοιξαν, αλλά δεν έχουν ενημερώσει τη λίστα τους τελευταίους αρκετούς μήνες. Απευθυνθήκαμε στην Google πριν από μερικές εβδομάδες, ρωτώντας τους αν μπορούσαν να παράσχουν μια ενημερωμένη λίστα, αλλά η εταιρεία δεν έχει απαντήσει ακόμη με λίστα. Για αυτό που αξίζει, α πρόσφατη ανάρτηση ιστολογίου Google δηλώνει ότι συσκευές από Samsung, LG, OPPO, Xiaomi και Motorola (στο Android 10) παρέχουν κάποια επέκταση λειτουργίες, αλλά η ανάρτηση ιστολογίου δεν προσδιορίζει ακριβώς ποιες συσκευές υποστηρίζονται ή ποιες λειτουργίες προμηθεύω.

Εάν αρκετοί κατασκευαστές αποφασίσουν να εφαρμόσουν επεκτάσεις, η σκηνή της κάμερας τρίτου μέρους του Android θα είναι πολύ πιο φωτεινή. Οι προγραμματιστές δεν θα χρειαστεί να σπαταλήσουν χρόνο για να εφαρμόσουν εκ νέου μια λειτουργία κάμερας για κάθε συσκευή που ενδεχομένως μπορούν, καθώς το πλαίσιο της CameraX θα το φροντίσει. Θα υπάρχει λιγότερος κατακερματισμός λειτουργιών, καθώς παρόμοιες λειτουργίες σε όλες τις συσκευές θα είναι προσβάσιμες μέσω μιας κοινής διεπαφής. Και υπάρχουν πολλές περισσότερες δυνατότητες.


Φυσικά, όλα αυτά εξαρτώνται από την ικανότητα της Google να πείσει τους κατασκευαστές να εφαρμόσουν τις βιβλιοθήκες Επέκτασης Προμηθευτή CameraX στο μέλλον. Εάν το CameraX δεν εφαρμοστεί ευρέως, απλώς θα προσθέσει στον τρέχοντα κατακερματισμό. Προσωπικά, όμως, είμαι αισιόδοξος. Η Google μπορεί να είναι πολύ πειστική όταν θέλει και φαίνεται ότι γίνεται πολλή δουλειά στο CameraX. Είναι συναρπαστικό να βλέπουμε μια πιθανή λύση στα προβλήματα της κάμερας του Android στον ορίζοντα και ανυπομονώ να δω πώς το CameraX θα βελτιωθεί και θα επεκταθεί με την πάροδο του χρόνου.

Τι πιστεύετε για το CameraX; Θα πετύχει η Google να δημιουργήσει μια ενοποιημένη εμπειρία κάμερας για Android;