שדרגו את המצלמה בסלולר שלכם! מדריך התקנת אפליקציית הצילום של גוגל פיקסל עם +HDR!

בס"ד

אמ;לק:

למכשירים מבוססי מעבדי סנאפדרגון SD625 או SD820 ומעלה ותומכים בcamera2 API יש אפשרות להשתמש בפורט של אפליקציית המצלמה  של הגוגל פיקסל (!) מה שיכול להעניק ביצועים טובים יותר בתנאי תאורה גרועים או סיטואציות בעלות טווח דינאמי גבוה.
ייתכן שיידרש שינוי לקובץ הbuild.prop שידרוש הרשאות רוט או רקוברי המאפשר לעשות mount למחיצות. השינוי יכול לפגוע בOTA, אך השינוי והשחזור קלים ומהירים.

רקע:

בשנה שעברה, גוגל שחררה את זוג מכשירי הPIXEL שלה, היורשים סדרת הנקסוס האהובה שאמורים לפנות לקהל הרחב, עם דגש מיוחד על צילום. המצלמות אכן עשו רושם, זכו לדירוג הכי גבוה באותו זמן (וגם היום, נק' מתחת לציון הגבוה ביותר) באתר DxOMark והציבו רף חדש לצילום במובייל. חלק לא מבוטל מהצורה בה הם השיגו תמונות כה טובות הוא פיצ'ר ה HDR+.

כמה מילים על HDR- High Dynamic Range:
טווח דינאמי מתאר את הטווח בין ערכי המינימום למקסימום. בהקשר שלנו, הוא הטווח מהגוון הכהה ביותר לבהיר ביותר שנצליח לראות בצורה טובה.
לעין שלנו יש טווח דינאמי רחב מאוד. נוכל לראות כוכבים בליל ירח ועצמים בחדר מואר מאוד. יותר מכך, נוכל להביט בעץ על רקע שמיים בהירים ביום שמשי ולהבחין היטב בפרטי העננים וגוון השמיים, כמו גם בעלי העץ ובנמצא בצל תחתיו בלי לאבד מהפירוט.
עדשות מצלמה כיום ורסטיליות פחות ובד"כ, כשנתמקד בעצם מסוים, המצלמה תבצע חשיפה עבורו ופרטים אחרים ברמות חשיפה שונות יסבלו. אם נחזור לדוג' הקודמת, אם נתמקד בשמיים הם יוצגו היטב, אך עלי העץ והחלק המוצל יושחרו או לכל הפחות יאבדו חלק ניכר מהפירוט ואם נתמד בעץ, הצל ייראה טוב אך השמיים "יישרפו"- כלומר יאבדו פירוט ולעיתים ייצבעו בגוון לבן.
כדי להתגבר על הבעיה, צילום במצב HDR לוקח מס' תמונות, ברמות חשיפה שונות, מחפש את התמונה הברורה ביותר (או הכי פחות מטושטשת) ומציב אותה כנק' ייחוס, לאחר הן מעובדות לכדי תצלום אחד המנסה להציג חשיפה אופטימלית עבור כל מוקד בתמונה, בצורה בה חשיפה ממוצעת של תמונה בודדת לא ממש מסוגלת.

להבנתי, הייחוד בגישה של הפיקסל, תחת המיתוג HDR+, שהיה קיים גם בנקסוסים האחרונים אך השתפר כאן בצורה ניכרת, (מלבד האלגוריתמים, האופטימיזציות, שיטת הייצוב הייחודית והניצול של הISP המשופר במעבדים החדשים) היא שהצילומים המשמשים ליצירת התצלום הסופי בHDR+ מצולמים ברמת חשיפה קבועה הנמוכה בכוונה מזו הממוצעת, מה שעוזר מאוד בהפחתת רעשים, "שריפה" ברף הגבוה וגרעיניות, כיוון שככל שנעלה את רמת הרגישות מעל האופטימום של החיישן נגביר את הרעש ואז נצטרך לפצות על כך בעיבוד לאחר מכן ונאבד פרטים (מקור לדוג').

אפ' המצלמה של הפיקסל היתה ייחודית לו (כמו גם הלאנצ'ר), בקוד קנייני ולא חלק מהקוד הפתוח של אנדרואיד ולכן רק בעלי פיקסל יכלו להנות ממנה רשמית. היו כמה וכמה פורטים למצלמה, אך הם לא כללו את פיצ'ר הHDR+. כאן נכנס מפתח שכינויו B-S-G לתמונה. הוא פרסם לפני מס' ימים פורט למצלמה המאפשר למגוון מכשירים להנות מביצועים טובים יותר בתאורה חשוכה. בקישור הזה ניתן למצוא את ההודעה בXDA על כך, שגם בדקו ווידאו שאין קוד זדוני האורב לו בין השורות.

כמה זה עוזר?

תלוי כמובן בחיישן המצלמה והסיטואציה. מנסיוני ומה שראיתי באתרים שונים: בתאורה חשוכה- לא מעט! אין לי יד יציבה מאוד והמכשיר שלי נטול OIS ולכן בתאורה לא אופטימלית, HDR באפ' הסטוק נוטה לצאת מטושטש- יש סיבה לכך שאני בד"כ מותיר אותו על "אוטומטי". עם האפליקצייה של הפיקסל החדות משתפרת בצורה מובחנת והרעש יורד משמעותית. תמונות להדגמה:

מכשירים נתמכים:

רשמית, ע"פ הצהרת המפתח- המכשירים עליהם הוא אמור לעבוד הם אלו המבוססים על מעבדי SD820 ומעלה, התומכים בcamera2 API וHAL3, גם לא פעיל כברירת מחדל (נלמד לתקן זאת בהמשך).

לא רשמית- גם מכשירים מבוססי SD625 יכולים להנות ממנה, בדקתי על MI MAX 2 שמריץ MIUI 8.5 גלובאלי רשמי.
כ"כ, ראיתי דיווחים לגבי הצלחה עם redmi note 4x ומכשירים מבוססי SD660, אם כי לא בדקתי בעצמי.

אז איך מתקינים אותה?

1. אם לא עשיתם זאת כבר, יש להיכנס להגדרות-אבטחה-סימון "אפשר התקנה ממקורות לא ידועים"
לחילופין, בשאומי: הגדרות-הגדרות נוספות-פרטיות- סימון "מקורות לא ידועים".
2. אם מותקנת אצלכם אפ' המצלמה של גוגל מהחנות או פורט אחר שלה, יש להסירה קודם כל.
3. נכנסים להודעה הזו בXDA ומורידים את קובץ הAPK למכשיר (או למחשב ואז מעתיקים למכשיר).
4. מגיעים עם סייר הקבצים שלכם לקובץ, מפעילים אותו ומאשרים התקנה.

המצלמה עובדת? הידד!

היא קורסת מיד? יש לנו עוד קצת עבודה… כאן אנחנו מפשילים שרוולים (מילימטר או שניים) ונדרשים לעבוד מעט.
חשוב לי להדגיש, למרות שהשינויים לא מסובכים והפיכים –  איני אחראי לנזק כלשהו שייגרם כתוצאה מכך. אם המכשיר קורס, קופא, מצלמת הסטוק בעייתית, מצמיח שקע טעינה נוסף, הופך לירוק כשמרגיזים אותו, תוקף את החתול שלכם וכו'- אתם נושאים באחריות לפעולותיכם.

זכרו, גיבוי משמעו תיקון קל לבעיות, גבו תמיד!

שינוי במחיצת הsystem יגרור במקרים רבים שגיאה בסריקה לפני עדכוני OTA אינקרמנטליים. אם מגבים את הקובץ לפני השינויים או משנים אותו בחזרה, המצב חוזר לקדמותו. כיוון שהשינוי והגיבוי אורכים זמן מועט (כמה שניות עד דקה), איני רואה בכך חסרון משמעותי.

מוכנים? יופי.

כפי שציינו, המצלמה דורשת את camera2 API, ולא בכל מכשיר שתומך בו הוא זמין כברירת מחדל.
כדי להפעיל אותו, יש צורך בהוספת שורה אחת לקובץ הbuild.prop של המכשיר. הבעיה היא שהוא יושב במחיצת הsystem/ של המכשיר ובד"כ אין לנו הרשאות לכתוב לתוכה.

כדי לשנות את הקובץ עלינו להשיג הרשאות לכתיבה למחיצה. ניתן לגשת לכך ב2 דרכים:

1. השגת הרשאות רוט.

א. אם אתם משתמשים בmagisk, יש מודול בדיוק עבור זה. היתרון- הקובץ עצמו כלל לא משתנה, ההגדרות הרלוונטיות נטענות ממקום אחר במקום ממנו. בשיטה הזו, גם dirty flashes לא מוחקים או משנים את ההגדות, כיוון שהמידע נשמר במחיצת ה/data. אם משהו לא מסתדר, פשוט מבטלים את המודול, מאתחלים ונגמר הסיפור. תענוג.

ב. אפ' בשם Buildprop Bditor שזו כל מטרתה. מעניקים לה הרשאות רוט, היא יכולה לגבות את הקובץ, לערוך אותו וכו' בממשק נוח. מוסיפים לקובץ את השורה: persist.camera.HAL3.enabled=1
מומלץ לגבות את הקובץ כעותק פיזי לפני כן, כפי שיתואר בשלב הבא.

ג. ע"י סייר קבצים.
* מתקינים סייר רוט כלשהו (למשל זה  ודרכו פלאגין שיאפשר ניווט לתיקיות מע') ומעניקים לו הרשאות רוט, כדי לקבל גישה למחיצת system.
* מנווטים למחיצת הsystem ומוצאים את build.prop.
* חשוב! מעתיקים אותו כגיבוי- לחיצה ארוכה-העתק-הדבק.
* משנים את שם העותק ל build.prop.bak : לחיצה ארוכה על העותק-שינוי שם
* עורכים את הקובץ המקורי: לחיצה ארוכה- ערוך- מוסיפים את השורה: persist.camera.HAL3.enabled=1
* אם רוצים לבטל את הפעולה, פשוט נכנסים ומוחקים את השורה שהוספנו. אם זה עדיין לא מסתדר, מוחקים את הקוסץ הנוכחי, מעתיקים שוב את הגיבוי שהכנו, משנים לאחד מהם את השם לbuild.prop ומאתחלים את המכשיר.

2. ע"י גישה לרקוברי המאפשר ביצוע mount למחיצות (בד"כ TWRP).

במכשירי שאומי בעלי בוטלואדר נעול, אין אפשרות לבצע בוט בלבד לTWRP דרך המחשב ע" פקודת fastboot boot.

* עבור windows, להוריד את הקובץ הבא . עבור לינוקס ומק ניתן למצוא הורדות כאן . לחלץ  לתיקיה במקום נוח.
* להיכנס לתיקיה המחולצת, להחזיק את shift וקליק ימני בעכבר על שטח פנוי- בחירה ב"פתח כאן חלון של cmd/powershell"
*  להיכנס לrecovery במכשיר, לבחור בmount, לסמן את system ולחזור.
* לחבר את המכשיר למחשב, בחלון הפקודה שפתחנו להקליד fastboot devices, אם לא מופיע מזהה מכשיר, כנראה יש בעיה בדרייברים, ממליץ לוודא שהם מותקנים כראוי עבור המכשיר.
* בחלון הפקודה, להקליד: adb pull /system/build.prop וללחוץ אנטר. זה יעתיק את הקובץ לתיקיה בה פתחנו את חלון הפקודה.
* חשוב! ליצור עותק של הקובץ כגיבוי על המחשב.
* לערוך את הקובץ עם עורך הטקסט החביב עליכם, להוסיף את השורה:  persist.camera.HAL3.enabled=1  ,לשמור ולסגור את הקובץ.

* לכתוב בשורת הפקודה
adb push build.prop /system/ וללחוץ אנטר.

* כעת, נשנה את ההרשאות עבור הקובץ ששלחנו (נא להכניס כל פקודה בנפרד):
adb shell
cd system
chmod 644 build.prop

* כעת נאתחל את המכשיר דרך תפריט הrecovery וסיימנו. אם תקרה תקלה ויהיה צורך בשחזור הקובץ המקורי, נשנה את שם קובץ הגיבוי שיצרנו לbuild.prop ונחזור על 4 הפקודות האחרונות.

תחזוקת האפליקציה:

יש ראיון קצר עם המפתח בקישור להורדה. האפ' כרגע בבטא, אין לו"ז לעדכונים. כרגע הוא מתמקד פתרון בעיה מסוימת במצלמה הקדמית ולאחר מכן ימשיך להתמקד באיכות התמונה.

באגים ידועים:

* מכשירים ללא תמיכה בAPI לא יוכלו להפעיל את האפ', ביניהםAXON 7 וZUK Z2.
* ברוב המכשירים, נסיון להיכנס לאופציה של צילום וידאו בהילוך איטי יגרום לאפ' לקרוס.
* לעיתים, במעברים מהירים בין 2 האפליקציות, נתקלתי בקריסה של אחת מהן, היא נפתחת מחדש מיידית.
* עקב נסיונות לבדוק שיטות שונות לעורך את הbuild.prop קיבלתי "שגיאת מצלמה- לא ניתן להתחבר למצלמה" כשניסיתי לצלם בHDR באפ' הסטוק של המכשיר, דברים אחרים עבדו כראוי. שחזור של הbuild/prop מגיבוי, אתחול, שינוי מחדש ואתחול נוסף פתר את הבעיה.
* ראיתי באחת התגובות כי מישהו ציין שוידאו אחד שצילם לא נשמר, לא הצלחתי לשחזר.
* חלק מבעלי מכשירים עם SD808 שמריצים רומים מבוססי camera blobs מנוגט הצליחו להפעיל, אם כי המצלמה הפוכה.

את הדיון בפוסט בקב' הפייסבוק ניתן למצוא כאן .

צילום נעים!