Google-ის CameraX API საშუალებას აძლევს აპებს გამოიყენონ საუკეთესო საფონდო კამერის ფუნქციები

click fraud protection

Google-ის CameraX გამყიდველის გაფართოებების API შესაძლებელს ხდის მესამე მხარის კამერის აპებს გამოიყენონ საფონდო კამერის აპის ზოგიერთი საუკეთესო ფუნქცია.

არსებობს დიდი ხნის ხუმრობა ინტერნეტში, რომელიც შეგიძლიათ გაიგოთ, იყენებს თუ არა ვინმე Android ტელეფონს მათი სელფის ცუდი ხარისხი. მიუხედავად იმისა, რომ მემები ნამდვილად გაზვიადებულია, მათ უკან, სამწუხაროდ, ცოტა სიმართლე იმალება. ანდროიდის ტელეფონები ჩვეულებრივ უსწრებდნენ iPhone-ებს კამერის მუშაობის თვალსაზრისით, ყოველ შემთხვევაში ქაღალდზე. OEM-ები, როგორიცაა LG და Samsung, ჩვეულებრივ იყენებენ კამერებს მეტი პიქსელით და უფრო დიდი დიაფრაგმით, ვიდრე კონკურენტი iPhone-ები. სპეციფიკაციები არ არის ყველაფერი, თუმცა. იმის ნაწილი, თუ რატომ შეუძლია Apple-ს კამერის თამაშში კონკურენცია გაუწიოს, არის iOS-ის პროგრამული უზრუნველყოფის გამო. ყველა OEM, Apple-დან ZTE-მდე, იყენებს პროგრამულ მაგიას, რათა ფოტოები და ვიდეოები უკეთესად გამოიყურებოდეს. კომპანიები იყენებენ ალგორითმებს ხმაურის შესამცირებლად, ფერების გაჯერების და კონტრასტის შესაცვლელად და ბნელი სცენების გასანათებლადაც კი, რათა საბოლოო შედეგი უფრო სასიამოვნო გახდეს. ეს არის, ისტორიულად, სადაც Android OEM-ები ჩამორჩნენ Apple-ს.

პროგრამული უზრუნველყოფის განვითარება

თუმცა, ცოტა ხნის წინ, ყველაფერი შეიცვალა. ამ ცვლილების ყველაზე დიდი მაგალითია ალბათ Google და Pixel-ის ხაზი. ტექნიკის თვალსაზრისით, Pixel კამერები ნამდვილად ვერ შეედრება სხვა ფლაგმანებს. თუმცა, პროგრამული უზრუნველყოფა არის ის, სადაც Google ქმნის განსხვავებას. ისეთი ფუნქციებით, როგორიცაა პორტრეტის რეჟიმი, ღამის ხედვა, HDR+ და Super Res Zoom, Pixels-მა მოიპოვა რეპუტაცია ზოგიერთი საუკეთესო სმარტფონის კამერები ბაზარზე.

სხვა Android OEM-ები მიჰყვებიან Google-ს. Samsung-მა, OPPO-მ, Xiaomi-მ, Vivo-მ, OnePlus-მა და ა.შ. ყველამ წარმოადგინეს Pixel-ის უფრო პოპულარული კამერის ფუნქციების საკუთარი ვერსიები და მათ აქვთ საკუთარი უნიკალური ფუნქციებიც კი. ისეთი სიტყვებით, როგორიცაა "AI" და "მანქანური სწავლება", Android OEM-ები ცდილობენ დაგარწმუნონ, რომ მათი პროგრამული უზრუნველყოფა არის ის პროგრამული უზრუნველყოფა, რომელიც გსურთ გააუმჯობესოთ თქვენი ფოტოები და ვიდეო. ჩვენ მივედით იმ წერტილამდე, როდესაც Android ტელეფონებს შეუძლიათ ნამდვილი კონკურენცია გაუწიონ iPhone-ებს კამერის მუშაობის ყველა ასპექტში.

Პრობლემა

სამწუხაროდ, ჯერ კიდევ არსებობს ერთი ძირითადი გამონაკლისი: მესამე მხარის აპლიკაციები. თქვენი სუპერ-დუპერ 50-კამერიანი ფლაგმანი შეიძლება გადაიღოს საოცარი ფოტოები ჩაშენებული კამერის აპლიკაციით, მაგრამ გადაერთეთ Instagram-ზე, Snapchat, ან თუნდაც მესამე მხარის კამერის აპი, და ეს ძირითადად გარანტიაა იმისა, რომ ის, რასაც გადაიღებთ, არ გამოიყურება ისე, როგორც კარგი. თითქოს ეს საკმარისი არ იყოს, თქვენ ასევე დაკარგავთ კამერის ყველა მაგარ მახასიათებელს და რეჟიმს. ეს იმიტომ ხდება, რომ iOS-ისგან განსხვავებით, Android-ს ნამდვილად არ აქვს ერთიანი კამერის ჩარჩო. რა თქმა უნდა, ძირითადი მახასიათებლები არსებობს. მესამე მხარის აპს მაინც შეუძლია ფოტოების და ვიდეოების გადაღება და ფლეშის გამოყენება. მაგრამ რა მოხდება, თუ თქვენს ტელეფონს აქვს მეორადი სენსორი ფართო კუთხით ან ტელეფოტოსთვის? შესაძლებელია, რომ დეველოპერებს შეეძლოთ წვდომა მეორე სენსორზე, მაგრამ მეთოდი, რომელსაც ისინი გამოიყენებენ, სპეციფიკური უნდა იყოს თქვენი მოწყობილობისთვის.

თქვი, რომ გყავს LG V40 (ვიცი, ვიცი, წარმოიდგინე, რომ გაქვს). V40-ს აქვს სამი სენსორი: სტანდარტული, ტელეფოტო და ულტრაფართო. ჩაშენებულ კამერის აპლიკაციას არ აქვს პრობლემა ყველა ამ განსხვავებულ სენსორს შორის გადართვისთვის. მაგრამ დაივიწყეთ ინსტაგრამზე ულტრაფართო სენსორის გამოყენება. ახლა, 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-შიც კი იპოვოთ შედეგები, რომლებიც აღარ არის მაღაზიაში.

ცოტა ხნის წინ, ჩვენ მივიღეთ საკმაოდ მნიშვნელოვანი მაგალითი იმისა, რომ ვიღაცამ ის დატოვა. მომენტმა გადაწყვიტა შეეწყვიტა თავისი Pro Camera აპლიკაციის განვითარება Android-ისთვის.

Moment's Pro Camera აპი მიზნად ისახავდა მოწინავე ფოტო და ვიდეო ფუნქციების Android-ში შემოტანას. ეს მხოლოდ რამდენიმე ფუნქციაა:

  • RGB ჰისტოგრამები
  • ფოკუსის გაყოფა
  • მექანიკური კონტროლი ექსპოზიციაზე, ISO, ჩამკეტის სიჩქარე, თეთრი ბალანსი
  • ფოკუსირება პიკს აღწევს
  • RAW გადაღება
  • დინამიური კადრების სიხშირე და გარჩევადობა იცვლება
Moment Pro კამერის ეკრანის ანაბეჭდები. მეშვეობით: 9to5 Google

პრობლემა ის არის, რომ ბევრი ეს ფუნქცია უბრალოდ არ მუშაობს ბევრ მოწყობილობაზე. Moment-ის ფუნქციების თავსებადობის სიის ყურება ჰგავს საცეკვაო მოედნის სურათს. ერთი და იგივე პროდუქტის ხაზის ფარგლებშიც კი, ფუნქციების მხარდაჭერა წარმოუდგენლად ფრაგმენტულია. განვითარების ორი წლის შემდეგ, Moment-ს აღარ აქვს შესაძლებლობა განაგრძოს განვითარება თავის აპლიკაციაში.

მწვანე = მხარს უჭერს Moment Pro კამერას. ყვითელი = მხარს უჭერს მოწყობილობას, მაგრამ არა ჩემს Moment Pro კამერას. წითელი = არ არის მხარდაჭერილი მოწყობილობის მიერ. სურათის წყარო: მომენტი. მოძიებული მეშვეობით: 9to5 Google.

Გადაწყვეტილება?

Android-ის გამოშვებიდან თითქმის 12 წელი გავიდა, მაგრამ საბოლოოდ შეიძლება გვქონდეს გამოსავალი კამერის ფრაგმენტაციისთვის.

ეს გამოსავალი პირდაპირ 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-ის შესაფუთად არის ის, რომ იგი წყვეტს მოწყობილობის სპეციფიკურ თავსებადობის საკითხს, რომელიც შეიძლება წარმოიშვას. ეს მხოლოდ სასარგებლო იქნება კამერის აპლიკაციების შემქმნელებისთვის, რადგან მას შეუძლია შეამციროს ქვაბის კოდი და კამერის პრობლემების კვლევაზე დახარჯული დრო. თუმცა, ეს არ არის ყველაფერი, რისი გაკეთებაც CameraX-ს შეუძლია.

მიუხედავად იმისა, რომ ეს პირველი ნაწილი ძირითადად მხოლოდ დეველოპერებისთვისაა საინტერესო, არის კიდევ ერთი ნაწილი, რომელიც ეხება როგორც დეველოპერებს, ასევე საბოლოო მომხმარებლებს: გამყიდველის გაფართოებები. ეს არის Google-ის პასუხი კამერის ფუნქციების ფრაგმენტაციაზე Android-ზე. მოწყობილობის მწარმოებლებს შეუძლიათ აირჩიონ გაფართოების ბიბლიოთეკების გაგზავნა თავიანთი ტელეფონებით, რაც საშუალებას აძლევს CameraX-ს (და დეველოპერებს და მომხმარებლებს) გამოიყენონ კამერის ძირითადი ფუნქციები. მაგალითად, თქვით, რომ ძალიან მოგწონთ Samsung-ის პორტრეტის რეჟიმის ეფექტი, მაგრამ არ მოგწონთ თავად კამერის აპლიკაცია. თუ Samsung გადაწყვეტს დანერგოს CameraX Portrait Mode გაფართოება თავის ტელეფონებში, ნებისმიერი მესამე მხარის აპლიკაცია CameraX-ის გამოყენებით შეძლებს Samsung-ის პორტრეტის რეჟიმის გამოყენებას. ცხადია, ეს მხოლოდ ერთი მახასიათებლით არ შემოიფარგლება. მწარმოებლებს თეორიულად შეუძლიათ კამერის ნებისმიერი ფუნქციის გახსნა აპებისთვის CameraX-ის გამოყენებით.

სამწუხაროდ, არსებობს სიფრთხილე, რომელიც ადრე აღვნიშნე: ეს არ არის მოთხოვნა მწარმოებლებისთვის. Google ამბობს ისინი მხარს დაუჭერენ გაფართოებებს ყველა ახალ და მომავალ Pixel მოწყობილობაზე, დაწყებული Pixel 4-ით. OPPO ამბობს მათ გახსნეს სილამაზის და HDR რეჟიმები. სხვა OEM-ებს შეუძლიათ აირჩიონ, რომ მხოლოდ ღამის რეჟიმები ხელმისაწვდომი გახადონ CameraX-ისთვის, ან საერთოდ არ დანერგონ რაიმე გაფართოება. მთლიანად მწარმოებლის გადასაწყვეტია, რომელი მოწყობილობა მხარს უჭერს CameraX გაფართოებებს (ასეთის არსებობის შემთხვევაში). Google გამოიყენება მოწყობილობების სიის შესანარჩუნებლად რომლებიც მხარს უჭერენ გამყიდველის გაფართოებებს და კამერის ფუნქციებს, რომლებიც მათ გახსნეს, მაგრამ მათ სია არ განაახლეს ბოლო რამდენიმე თვის განმავლობაში. ჩვენ მივმართეთ Google-ს რამდენიმე კვირის წინ და ვთხოვეთ მათ, შეეძლოთ თუ არა განახლებული სიის მიწოდება, მაგრამ კომპანიას ჯერ არ უპასუხა სიით. რა ღირს, ა ბოლო Google ბლოგის პოსტი აცხადებს, რომ Samsung-ის, LG-ის, OPPO-ს, Xiaomi-სა და Motorola-ს მოწყობილობები (Android 10-ზე) გთავაზობთ გაფართოებას ფუნქციები, მაგრამ ბლოგის პოსტში არ არის მითითებული ზუსტად რომელი მოწყობილობებია მხარდაჭერილი ან რა ფუნქციებია ისინი უზრუნველყოფა.

თუ საკმარისი მწარმოებლები გადაწყვეტენ გაფართოებების განხორციელებას, Android-ის მესამე მხარის კამერის სცენა ბევრად უფრო ნათელი გახდება. დეველოპერებს არ მოუწევთ დროის დაკარგვა კამერის ფუნქციის ხელახლა დანერგვაზე ყველა მოწყობილობისთვის, რაც მათ შეუძლიათ, რადგან CameraX-ის ჩარჩო იზრუნებს მასზე. ნაკლები ფუნქციების ფრაგმენტაცია იქნება, რადგან მსგავსი ფუნქციები მოწყობილობებში ხელმისაწვდომი იქნება საერთო ინტერფეისის საშუალებით. და კიდევ ბევრი შესაძლებლობაა.


რა თქმა უნდა, ეს ყველაფერი დამოკიდებულია Google-ის უნარზე დაარწმუნოს მწარმოებლები მომავალში განახორციელონ CameraX Vendor Extension ბიბლიოთეკები. თუ CameraX არ არის ფართოდ დანერგილი, ის უბრალოდ დაემატება მიმდინარე ფრაგმენტაციას. თუმცა პირადად მე იმედიანი ვარ. Google შეიძლება იყოს ძალიან დამაჯერებელი, როცა მას სურს და, როგორც ჩანს, ბევრი სამუშაო მიდის CameraX-ზე. ამაღელვებელია ჰორიზონტზე Android-ის კამერის პრობლემების შესაძლო გადაწყვეტის დანახვა და მოუთმენლად ველი, როგორ გაუმჯობესდება და გაფართოვდება CameraX დროთა განმავლობაში.

რას ფიქრობთ CameraX-ზე? მიაღწევს თუ არა Google წარმატებას Android-ისთვის კამერის ერთიანი გამოცდილების შექმნას?