1 คะแนน โดย GN⁺ 2023-09-23 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Android 14 ช่วยลดความจำเป็นในการใช้แอปแยกสำหรับทำเว็บแคมบน PC โดยเปิดให้รองรับ โหมดเว็บแคม USB ในระดับ OS ได้
  • ตัวเลือก USB Preferences ใหม่จะเปลี่ยนอุปกรณ์เป็นโหมด UVC(USB Video Class) ทำให้ PC ที่ใช้ Windows, macOS และ Linux มองเห็นเป็นเว็บแคม USB มาตรฐาน
  • อย่างไรก็ตาม ฟีเจอร์นี้ไม่ได้เปิดใช้อัตโนมัติ ต้องมีการตั้งค่าเคอร์เนล การกำหนดค่า UVC, การอัปเดต USB HAL และแอประบบ Webcam Service ที่สอดคล้องกัน
  • Webcam Service ส่งต่อเฟรมจาก Camera2 API ไปยังโหนด /dev/video และผู้ใช้สามารถควบคุมการพรีวิว ซูม และเปลี่ยนเลนส์ได้จากการแจ้งเตือน
  • แม้อุปกรณ์จะอัปเกรดเป็น Android 14 แล้ว แต่อาจถูกยกเว้นได้หากมีข้อจำกัดจากเคอร์เนลเก่าหรือ HAL ดังนั้นการรองรับจริงขึ้นอยู่กับการปรับใช้ของผู้ผลิต

โหมดเว็บแคม USB ของ Android 14

  • ตั้งแต่ Android 14 เป็นต้นไป ฟีเจอร์ใช้สมาร์ตโฟนเป็นเว็บแคมสำหรับ PC สามารถรวมอยู่ใน Android OS เองได้
  • ในช่วง COVID การใช้งานแพลตฟอร์มวิดีโอคอนเฟอเรนซ์อย่าง Zoom และ Google Meet เพิ่มขึ้น แต่เว็บแคมคุณภาพดีหายากหรือมีราคาแพง และคุณภาพเว็บแคมในตัวโน้ตบุ๊กก็มีข้อจำกัด
  • กล้องสมาร์ตโฟนมีคุณภาพภาพดีกว่าเว็บแคมส่วนใหญ่ ผู้ใช้จำนวนมากจึงเคยใช้ ซอฟต์แวร์ third-party เพื่อใช้สมาร์ตโฟนเหมือนเว็บแคม
  • ใน Android 14 อาจมีตัวเลือก USB webcam ปรากฏใน USB Preferences
    • โหมด USB เดิมมีเช่น การถ่ายโอนไฟล์/Android Auto(MTP), USB tethering(NCM), MIDI, PTP เป็นต้น
    • เมื่อเลือก USB webcam หากอุปกรณ์รองรับ โหมด USB จะเปลี่ยนเป็น UVC
    • PC ที่เชื่อมต่ออยู่ซึ่งใช้ Windows, macOS หรือ Linux จะมองเห็นอุปกรณ์ Android เป็นเว็บแคม USB มาตรฐาน
    • อาจใช้งานกับอุปกรณ์ Android เครื่องอื่นได้ด้วย

เงื่อนไขที่จำเป็นสำหรับการเปิดใช้ฟีเจอร์

  • การรองรับเว็บแคมใน Android 14 ไม่ใช่ฟีเจอร์ที่เปิดไว้เป็นค่าเริ่มต้น
  • การทำงานจริงต้องมีเงื่อนไขสี่อย่าง
    • เปิดใช้งานการตั้งค่าเคอร์เนล Linux
    • กำหนดค่า UVC gadget
    • อัปเดต USB HAL
    • ติดตั้งแอประบบใหม่ไว้ล่วงหน้า

ข้อกำหนดด้านการตั้งค่าเคอร์เนล

  • การตั้งค่าเคอร์เนล Linux ที่จำเป็นคือ CONFIG_USB_CONFIGFS_F_UVC
  • การตั้งค่านี้จำเป็นเพื่อให้อุปกรณ์ Android สามารถถูกเมานต์เป็น UVC gadget ได้
  • อุปกรณ์จำนวนมากที่อัปเกรดเป็น Android 14 และอุปกรณ์เกือบทั้งหมดที่วางจำหน่ายพร้อม Android 14 มีแนวโน้มจะมีเคอร์เนลที่เปิดการตั้งค่านี้ไว้
    • Generic Kernel Image(GKI) เปิดใช้การตั้งค่านี้เป็นค่าเริ่มต้นตั้งแต่ android12-5.10
    • อุปกรณ์ที่วางจำหน่ายพร้อม Android 12 ขึ้นไปและใช้ Linux kernel 5.10 ขึ้นไป ต้องมาพร้อมเคอร์เนล GKI
  • ในระบบนิเวศ Android การอัปเกรดเวอร์ชันหลักของเคอร์เนลพบได้ไม่บ่อย และโปรแกรม Google Requirements Freeze(GRF) ยังอนุญาตให้รับรองการปรับใช้ของ vendor รุ่นเก่าได้ ดังนั้นอุปกรณ์บางรุ่นที่อัปเกรดเป็น Android 14 อาจไม่สามารถรองรับฟีเจอร์เว็บแคม USB ได้
  • วิธีที่ตรงที่สุดในการตรวจสอบการรองรับคือดูเวอร์ชันเคอร์เนลและสถานะการเปิดใช้การตั้งค่า
    • ตรวจสอบเวอร์ชันเคอร์เนล:
      • adb shell "cat /proc/version"
    • ตรวจสอบการตั้งค่าเคอร์เนล:
      • adb shell "zcat /proc/config.gz | grep 'CONFIG_USB_CONFIGFS_F_UVC'"
  • ตัวอย่างเช่น Galaxy Z Fold 5 ที่รัน Android 13 ใช้ GKI android13-5.15 และมี CONFIG_USB_CONFIGFS_F_UVC=y ดังนั้นเมื่ออัปเกรดเป็น Android 14 หากเป็นไปตามเงื่อนไขอื่น ๆ ก็อาจรองรับฟีเจอร์เว็บแคม USB ได้

แอประบบ Webcam Service

  • Android 14 QPR1 Beta สำหรับอุปกรณ์ Pixel บางรุ่นมีแอประบบใหม่ชื่อ Webcam Service รวมอยู่ด้วย
    • ชื่อแพ็กเกจคือ com.android.deviceaswebcam
    • พึ่งพาไลบรารี shared libjni_deviceAsWebcam.so
    • แอปและไลบรารีนี้มีกำหนดรวมอยู่ในการเผยแพร่ซอร์สโค้ดของ Android 14 ที่จะมาถึง
  • แอป Webcam Service ใช้งานบริการ DeviceAsWebcam ที่เปลี่ยนอุปกรณ์ Android ให้เป็นเว็บแคม
  • บริการนี้ส่งต่อเฟรมกล้องไปยังโหนด /dev/video ที่อุปกรณ์ host สามารถอ่านได้
  • ตาม SELinux policy โหนด /dev/video จะเข้าถึงได้เฉพาะโปรเซสในโดเมน device_as_webcam เท่านั้น
    • ตัวที่เข้าถึงจริงมีเพียงแอประบบ Webcam Service
    • ดังนั้นการรองรับเว็บแคม USB แบบ native ของ Android 14 จึงเป็นสิ่งที่ผู้ผลิตอุปกรณ์นำไปใช้ได้ แต่แอป third-party ไม่สามารถใช้โดยตรงได้

วิธีเริ่มเว็บแคม USB และการควบคุมของผู้ใช้

  • เมื่อเปิดตัวเลือก USB webcam ใหม่ใน USB Preferences ระบบจะ broadcast intent android.hardware.usb.action.USB_STATE
    • intent มี extras ชื่อ connected และ uvc
  • Webcam Service มี receiver ที่รับ intent นี้
    • uvc extra ถูกตั้งเป็น true
    • เมธอดเฟรมเวิร์ก android.hardware.usb#isUvcSupportEnabled() คืนค่า true
    • หากตรงตามสองเงื่อนไขนี้ ระบบจะเริ่มบริการ
  • isUvcSupportEnabled() จะคืนค่า true เมื่อ system property ro.usb.uvc.enabled เป็น true
    • OEM ต้องตั้ง property นี้ตอน build
    • หากไม่ได้ตั้งค่า ตัวเลือก USB webcam จะไม่แสดงใน USB Preferences และ Webcam Service ก็จะไม่เริ่มทำงาน
    • property นี้อ่านได้เฉพาะแอประบบ เช่น Settings และ Webcam Service
  • เมื่อ Webcam Service เริ่มทำงาน จะมีการแจ้งเตือนใหม่ให้ผู้ใช้ตั้งค่าเว็บแคมได้
    • แตะการแจ้งเตือนเพื่อเปิดพรีวิวกล้อง
    • ผู้ใช้สามารถซูมเข้า/ออก หรือเปลี่ยนเลนส์ได้
  • ภายในแอป Webcam Service จะเริ่ม foreground service เพื่อไม่ให้ระบบปิดแอป
  • ใช้ Camera2 API และรองรับการสตรีม 720p(1280×720) หรือ 1080p(1920×1080)
  • บนอุปกรณ์ host ที่เชื่อมต่ออยู่ ชื่ออุปกรณ์เว็บแคมจะแสดงเป็น Android Webcam

ConfigFS และ USB HAL

  • ชื่อที่แสดงบน host, พารามิเตอร์วิดีโอ และวิธีเข้ารหัสที่แน่นอน ขึ้นอยู่กับว่าผู้ผลิตอุปกรณ์กำหนดค่า UVC gadget ด้วย configfs อย่างไร
  • บนอุปกรณ์ Pixel ที่ใช้ Tensor การกำหนดค่า UVC gadget function ของ Google อยู่ในไฟล์ init.gs[101|201].usb.rc ภายใต้ /vendor/etc/init/hw
  • เพื่อให้ Android เปลี่ยนโหมด USB ที่เลือกใน Settings เป็น UVC ได้ จำเป็นต้องมี USB HAL ที่อัปเดตแล้ว
  • เนื่องจากโปรแกรม GRF อุปกรณ์จำนวนมากที่อัปเกรดเป็น Android 14 อาจไม่ได้รับ USB HAL ที่อัปเดตแล้ว และในกรณีนั้นฟีเจอร์นี้จะไม่ทำงาน

การรองรับแพลตฟอร์มและข้อจำกัด

  • เมื่อ Google ทำฟีเจอร์เว็บแคม USB แบบ native ใน Android ผู้ผลิตอุปกรณ์ที่ต้องการฟีเจอร์นี้ก็สามารถนำไปใช้ได้
  • หากแอป Webcam Service ถูกรวมใน AOSP ตามคาด ผู้ผลิตอุปกรณ์สามารถใช้ในการทำฟีเจอร์เว็บแคมได้
  • อาจถูกนำไปเปรียบเทียบกับ Continuity Camera ของ Apple แต่แนวทางของ Android ทำงานได้บนหลายแพลตฟอร์ม
  • โทรศัพท์ที่รัน Android 14 และตรงตามข้อกำหนดจะสามารถเปลี่ยนเป็นเว็บแคม USB มาตรฐานและใช้งานกับ PC ทุกเครื่องได้

1 ความคิดเห็น

 
GN⁺ 2023-09-23
ความคิดเห็นจาก Hacker News
  • scrcpy ใช้กับงานแบบนี้ได้ยอดเยี่ยมอยู่แล้ว: https://github.com/Genymobile/scrcpy
    ถ้าต้องการสตรีมกล้องมือถือใน OBS ก็ให้ใช้ adb รออุปกรณ์ จากนั้นดึง IP ของ wlan0 แล้วใช้ adb tcpip 5555 และ adb connect เพื่อเชื่อมต่อ จากนั้นรัน scrcpy -e --v4l2-sink=/dev/video0 --lock-video-orientation=1 -n -N

    • scrcpy ดีจริง ๆ ตอนนี้กำลังจะมีการรองรับแบบเนทีฟสำหรับ สตรีมกล้องโดยตรง ไม่ใช่สตรีมการแคปเจอร์หน้าจอของแอปกล้อง: https://github.com/Genymobile/scrcpy/pull/4213
      ถ้าคุณบิลด์จากซอร์สได้ ผมก็ใส่คอมมิตเพิ่มเติมไว้บน PR แล้วด้วย และรองรับโหมดแคปเจอร์ความเร็วสูงที่ Android จำกัดไว้ ทำให้ สตรีมกล้อง 120fps/240fps ได้ สำหรับการประชุมอาจไม่ได้มีประโยชน์มากนัก แต่มีประโยชน์สำหรับการแคปเจอร์วิดีโอ VR แบบ mixed reality เฟรมเรตสูง เท่าที่รู้ ไม่มีแอปเว็บแคม Android ไม่ว่าจะเป็นแบบปิดหรือโอเพนซอร์สที่เกิน 60fps
    • ดูเหมือนชุดเครื่องมือ adb จะค่อนข้างพร้อมแล้ว เลยอยากขอคำแนะนำเกี่ยวกับสองอย่างที่ฝั่งผมยังขาดอยู่ อย่างแรกคือวิธีตั้ง พอร์ตคงที่สำหรับ ADB/TCP หรือส่งต่อไปยังพีซีโดยอัตโนมัติ เพราะตอนนี้ Android เปลี่ยนพอร์ตทุกครั้ง อีกอย่างคือวิธีเปิด ADB/TCP บน mobile hotspot เพราะ Android บ่นว่า “Please connect to WiFi”
      ถ้าตัดสองเรื่องนี้ออกไป การผสาน Linux-Android ก็แทบจะสมบูรณ์แบบแล้วด้วย scrcpy, KDE Connect และ Waydroid จนผู้ใช้ Apple ยังน่าอิจฉา
    • ในทางกลับกัน มีวิธี ดูหน้าจอคอมพิวเตอร์บนอุปกรณ์ Android บ้างไหม? อยากใช้อุปกรณ์ Android เป็นรีโมตคอนโทรลสำหรับการนำเสนอ PDF แต่ตอนนี้ถึงจะควบคุมผ่าน KDE Connect ได้ ก็ยังดูสไลด์ปัจจุบันบนอุปกรณ์ Android ไม่ได้ และยิ่งทำ annotation แบบเรียลไทม์ยิ่งไม่ได้เลย
    • เพิ่งมาเป็นผู้ใช้ MacOS ARM ไม่นาน และเริ่มเห็นความโชคร้ายเล็ก ๆ น้อย ๆ หลายจุดที่โซลูชันแบบนี้ ใช้กับ MacOS ไม่ได้
  • ออกจะนอกเรื่องนิดหน่อย แต่ตอนล็อกดาวน์ ผมหาวิธีใช้ iPhone เป็นเว็บแคม แล้วไปเจอ VDO.Ninja: https://vdo.ninja/
    ตอนแรกมันเป็นวิธีส่งฟีดวิดีโอไปยัง OBS และผมใช้มันทำเป็นอินพุตเว็บแคม พอโปรเจกต์ใหญ่ขึ้น ก็สามารถใช้ในลักษณะคล้าย Zoom ได้ด้วย คือเปิดการแชร์วิดีโอและเสียงจากเดสก์ท็อปในเบราว์เซอร์ได้ทันที ทำให้จัดคืนดูหนังเสมือนทางไกลได้
    จะทำผ่าน UI สำหรับสร้างห้องก็ได้ แต่การตั้งค่าทั้งหมดทำได้ด้วยพารามิเตอร์ URL เพียงอย่างเดียว จึงยืดหยุ่นและเสถียรกว่ามาก: https://docs.vdo.ninja/master/how-does-it-work
    เมื่อสร้าง URL สำหรับผู้ส่งและผู้รับแล้ว ระบบจะเชื่อมต่อกันอัตโนมัติผ่าน WebRTC เช่น สามารถสร้างซอร์สที่แคปเจอร์หน้าต่าง VLC แล้วส่งวิดีโอและเสียง และให้ URL ปลายทางสองอันรับวิดีโอ/เสียงนั้น พร้อมกับส่งเสียงไมโครโฟนของแต่ละคนหากันได้ด้วย ดังนั้นจึงดูและฟังหนังไปพร้อมกันในเบราว์เซอร์ และคุยกันได้ด้วย ผมไม่มีความเกี่ยวข้องใด ๆ กับโปรเจกต์นี้ แค่คิดว่ามันยอดเยี่ยมจริง ๆ
    OBS เป็นเครื่องมือที่ใช้เวลาสตรีมหน้าจอคอมพิวเตอร์ไปยังที่อย่าง Twitch: https://obsproject.com/

    • ถ้ามีแค่ iPhone และไม่มีอุปกรณ์ Apple อื่น อันนี้ก็ดูดี แต่ก็ยังค่อนข้างแปลกที่ MacBook ยังมาพร้อม กล้อง 1080p อยู่ ผมคิดว่าไม่ใช่งานล่าสุด แต่น่าจะเป็นงานก่อนหน้านั้น ที่เคยเดโมการใช้ iPhone เป็นกล้องใน FaceTime บนเดสก์ท็อป
    • ผมใช้แอป Elgato EpocCam สำหรับงานนี้ และโดยรวมมันทำงานได้สมบูรณ์แบบ รวมถึงกับ OBS ด้วย: https://apps.apple.com/us/app/epoccam-webcamera-for-computer/id435355256
  • เป็นฟีเจอร์ใหม่ที่น่ายินดี บริษัทต่าง ๆ ใช้เวลาและความพยายามในการทำกล้องที่มีฟีเจอร์อย่างการติดตามวัตถุหรือ portrait mode กันมาแล้ว
    แต่ก็รู้สึกว่าออกมาช้าไปหน่อย เมื่อเทียบกับช่วงที่ทุกอย่างเปลี่ยนเป็นรีโมตอย่างกะทันหันตอนโรคระบาด และคนแย่งกันหาเว็บแคม ตอนนั้นถ้ามีฟีเจอร์นี้ให้ใช้แทนที่จะต้องซื้อแอปจากบุคคลที่สามก็คงดี

    • ใช่เลย ตอนที่การล็อกดาวน์เริ่มเป็นเรื่องปกติ ผมมั่นใจว่าสิ่งนี้น่าจะออกมาเป็นแอปแนว โปรเจกต์ 20% time แน่ ๆ Wyze เคยออกวิธีทำให้กล้องรักษาความปลอดภัยใช้เป็นเว็บแคมได้ตั้งแต่เดือนมีนาคม 2020 แล้ว: https://www.theverge.com/2020/3/31/21202022/wyze-firmware-update-webcam-security-camera-transform-solution-guide
    • ช้าไปหน่อย แต่ก็ยังดีกว่าไม่ออกมาเลย ตอนนั้นผมซื้อเว็บแคมไปแล้ว แต่ถึงอย่างนั้นคุณภาพภาพจากมือถือก็น่าจะดีกว่ามาก
    • อันนี้ก็เป็น trade-off เหมือนกัน ได้บางอย่างมา แต่ก็พ่วง กระบวนการทำผลิตภัณฑ์อันเละเทะของ Google มาด้วย
  • สำหรับผมนี่มันน้อยเกินไปและช้าเกินไปแล้ว ผมไม่ได้อยากเป็นคนที่ออกมา “แสดงความเห็นแรง ๆ” แบบนี้ แต่ถ้าฟังสักนิดคือ ผมใช้แต่โทรศัพท์บ้านแบบมีสายโดยไม่มีมือถือมาจนถึงปี 2013 แล้วเริ่มจาก Nexus 4 จากนั้นก็เปลี่ยนทุก 2~3 ปีจนถึง Pixel 6 แต่พรุ่งนี้ iPhone เครื่องแรกของผมจะมาส่งแล้ว
    มีหลายเหตุผล โทรศัพท์ของ Google เสียบกับจอภายนอกเพื่อมิเรอร์หน้าจอไม่ได้ และเอาต์พุต DisplayPort ก็ถูกปิดใช้งานไว้อย่างชัดเจนในซอร์สโค้ดโดยไม่มีเหตุผล: https://twitter.com/MishaalRahman/status/1189998588023234560 ทั้งที่เป็นฟีเจอร์ที่ใช้ได้ดีในโทรศัพท์รุ่นอื่น
    ข้อความ SMS ในโทรศัพท์ Android ก็เข้าถึงไม่ได้ถ้าไม่มีแอปแยกต่างหาก ลอง adb backup ก็ไม่ได้ ไม่แน่ใจว่าถ้ารูทแล้วจะทำได้ไหม แต่เท่าที่รู้ กระบวนการรูทโดยทั่วไปจะลบทุกอย่างทิ้ง
    แบ็กอัปโทรศัพท์ก็เข้าถึงไม่ได้เหมือนกัน มันถูกเก็บไว้บนเซิร์ฟเวอร์ของ Google เท่านั้น และวิธีเดียวที่พอจะเข้าใกล้ได้คือกู้คืนลงโทรศัพท์ ทั้งที่ผมถืออุปกรณ์ที่ซื้อมาเองอยู่ในมือ แต่กลับเข้าถึงทุกอย่างในนั้นไม่ได้ ส่วน iPhone เสียบกับ Windows หรือ Mac แล้วดัมป์แบ็กอัปลงคอมพิวเตอร์ได้ ในนั้นมีทั้งข้อความ การตั้งค่าระบบ รายชื่อ รูปภาพ ฐานข้อมูล แทบทุกอย่าง อาจยกเว้นพวกคีย์ป้องกันระดับฮาร์ดแวร์เท่านั้น
    ไม่ต้องพูดถึงการเล่นตุกติกของ Google ไม่ว่าจะเป็นแอปแชตกระจัดกระจาย การปิดบริการต่าง ๆ การสนับสนุนที่ไม่เพียงพอ และการผสานโฆษณากับการติดตามที่แน่นขึ้น Apple ก็ไม่ได้สมบูรณ์แบบ แต่ผมรู้สึกว่าสักพักหนึ่งก็น่าลองเข้าไปอยู่ใน สวนที่มีกำแพงล้อม ดู ใน iOS มีเอาต์พุตจอภาพ การเข้าถึงอุปกรณ์ของตัวเอง ระบบส่งข้อความที่สมเหตุสมผล และอย่างน้อยก็ให้ความรู้สึกว่าใส่ใจความเป็นส่วนตัวอยู่บ้าง น่าขันที่ผมรู้สึกว่าตัวเองมีอำนาจควบคุมมากกว่าเมื่อใช้ผลิตภัณฑ์ Apple มากกว่าผลิตภัณฑ์ Google

    • ผมสลับใช้ทั้งสองฝั่งทุกไม่กี่ปี และตอนนี้ใช้ iPhone 14 อยู่ พูดตรง ๆ ว่า Android ก็ทำได้ดีกว่าหลายอย่าง iOS มีข้อจำกัดโง่ ๆ ที่เกิดขึ้นเพราะ “นี่คือ Apple” เยอะมาก
      เช่น ดูความเร็วชาร์จหรือเวลาชาร์จโดยประมาณไม่ได้ ทำให้ยากที่จะเช็กว่าในบรรดาหัวชาร์จหลายอัน เราเลือกหัวชาร์จเร็วและสายที่เข้ากับ iPhone ถูกหรือเปล่า และถึงจะติดตั้ง Chrome หรือ Firefox ไว้ ถ้าเลือกข้อความแล้วกดค้นหาเว็บ ก็จะไปเปิด Safari เรื่องน่ารำคาญเล็ก ๆ แบบนี้มีเยอะ และระบบปฏิบัติการก็ปิดเกินไปจนทำอะไรไม่ได้
      Android ปรับแต่งโดยผู้ใช้ได้ง่ายกว่ามาก และการไซด์โหลด เช่น การรันอีมูเลเตอร์ GBA บน iPhone ก็ทำได้ง่ายกว่าในฝั่ง Android ในระบบนิเวศ Android ยังมีอุปกรณ์ที่น่าสนใจกว่าอย่างโทรศัพท์พับของ Samsung ด้วย การผสานกับระบบนิเวศของ Mac นั้นดี แต่จะบอกว่าฝั่งใดฝั่งหนึ่งดีกว่าอย่างชัดเจนก็คงยาก
    • ดูเหมือนว่าใน Pixel 8 ปัญหาเรื่อง เอาต์พุต DisplayPort จะเปลี่ยนไปแล้ว และปัญหาเรื่องการเข้าถึงข้อความหรือแบ็กอัปโทรศัพท์ก็ไม่ได้เกิดกับโทรศัพท์ Android ทุกเครื่อง
      บริการที่ Google ปิดไปไม่มีอันไหนกระทบผม และผมก็ไม่ค่อยเข้าใจว่าการมีแอปแชตกระจัดกระจายหมายถึงอะไร ส่วนที่บอกว่าการสนับสนุนไม่เพียงพอนั้นหมายถึงอะไร ก็ยังไม่ชัดเจน
    • ผมใช้โทรศัพท์ Android มาตั้งแต่ปี 2009 และกำลังคิดค่อนข้างจริงจังว่าเครื่องถัดไปจะย้ายไป Apple ดีไหม นอกจากเหตุผลที่พูดมาแล้ว ระบบนิเวศมันรกมากจริง ๆ ตลอด 10 ปีที่ผ่านมา ผมซื้อแต่ Nexus/Pixel แต่ก็ผิดหวังกับประสิทธิภาพมาเรื่อย ๆ
      Pixel 1 XL นั้นยอดเยี่ยม แต่ผ่านไปประมาณ 2 ปี กล้องก็เริ่มล้มเหลวบ่อย ใช้เวลาเปิดมากกว่า 3 วินาที หรือไม่ก็เด้งปิดบ่อย สุดท้ายแบตเตอรี่ก็เสื่อมหนัก และแบตเตอรี่ที่เปลี่ยนใหม่ก็เสื่อมในไม่กี่เดือน เลยย้ายเครื่อง
      Pixel 3a ตกจากกระเป๋ากางเกงจนแตกก่อนหมดอัปเดตความปลอดภัยสองเดือน โดยรวมเป็นโทรศัพท์ที่โอเค แต่ Google ไม่ได้สนับสนุนนานเท่าที่คาดไว้ Pixel 6 Pro ยังโอเคจนถึงตอนนี้ แต่ Pixel 5 ของภรรยาผมมีปัญหา ทั้งประสิทธิภาพช้าและการเชื่อมต่อเครือข่ายมือถือไม่เสถียร
      บทเรียนอาจเป็น “อย่าซื้อโทรศัพท์ Pixel” แต่ทางเลือกอื่นอาจเป็นฝันร้ายด้านความปลอดภัยยิ่งกว่า โทรศัพท์ Galaxy มีแอปขยะติดตั้งมาล่วงหน้าในปริมาณที่ไม่น่าเชื่อจนต้องลบออก ส่วน Pixel มีแค่แอปของ Google และส่วนใหญ่ลบได้ ทำให้กังวลเรื่องความเป็นส่วนตัวและความปลอดภัยน้อยกว่าการมีแอปจากบริษัท 30 แห่งติดตั้งไว้ล่วงหน้าและอาจลบไม่ได้
      ผมวิจารณ์ Apple มาเยอะหลายปี แต่ก็น่าผิดหวังที่ท้ายที่สุดการย้ายแพลตฟอร์มดูเหมือนจะเป็นทางเลือกที่ดีที่สุด
    • การมีแอปแชตกระจัดกระจายนั้นทรมานก็จริง แต่ผมคิดว่ายังดีกว่า เมสเซนเจอร์ที่มีแต่คนรวยเท่านั้นใช้ได้ ถ้าเลือก Apple ก็เท่ากับเข้าไปอยู่ในเมสเซนเจอร์แบบนั้น
      ความไม่สะดวกบางอย่างฟังดูน่าหงุดหงิดพอสมควร แต่ก็ยังไม่ถึงขั้นที่ผมจะยอมรับข้อจำกัดว่าต้องจ่ายค่าสมัครสมาชิกเพื่อเขียนโค้ดบนคอมพิวเตอร์ที่ต้องการ แล้วรันบนโทรศัพท์ของผมหรือของเพื่อน และต้องส่งให้ผู้ตรวจสอบที่อาจปฏิเสธด้วยเหตุผลอะไรก็ได้
    • ฟังดูแล้วปัญหาหลักน่าจะอยู่ที่ Google และอุปกรณ์ของ Google มากกว่า ส่วนตัวผมค่อนข้างพอใจกับ Fairphone 4 ที่ลง LineageOS อยู่ Murena ก็ขายอุปกรณ์แบบไม่พึ่ง Google ที่มาพร้อม /e/ ให้เลย
      ในระบบแบบนี้สามารถเข้าถึง adb แบบรูทได้ และแบบนั้นก็เข้าถึงฐานข้อมูลข้อความ SQLite ได้ด้วย การมิเรอร์หน้าจอผ่านโหมด DP Alt ของ USB-C ทำงานได้เป็นค่าเริ่มต้น และยังเปิด “โหมดเดสก์ท็อป” ของ Android ได้ด้วย แต่ยังค่อนข้างพื้นฐานและอยู่ในสภาพทดลอง
      Fairphone รองรับระยะยาว ซ่อมง่าย และยังรันเคอร์เนลเมนไลน์ได้ด้วย (เช่น postmarketOS) แน่นอนว่าในแง่ระบบปฏิบัติการ โทรศัพท์ Android ใด ๆ ก็ยังพึ่งพา Google อยู่ดี
      ผมเห็นด้วยกับหลายข้อร้องเรียนต่อ Google แต่การย้ายไป Apple ให้ความรู้สึกเหมือนเปลี่ยนจากสิ่งเลวร้ายอย่างหนึ่งไปอีกอย่างหนึ่ง ผมจะไม่มีวันเรียกโทรศัพท์ของ Apple ว่า “ของผม” และก็ไม่รู้สึกว่า Apple มอบ “การเข้าถึงอุปกรณ์ของตัวเอง” ให้จริง ๆ
  • ผมใช้แอป Camo มานานกว่าหนึ่งปีแล้ว ทำงานได้ดีมาก และรองรับการดูภาพจากกล้องผ่าน Wi‑Fi ด้วย จึงไม่ต้องใช้สาย บัญชีพื้นฐานใช้ฟรี: https://reincubate.com/camo/

    • ผมก็ชอบและจ่ายเงินใช้ไปหลายเดือน แต่บางครั้งมีดีเลย์ประมาณ 1000ms เกิดขึ้น ทางแก้เดียวคือติดตั้งไดรเวอร์ Windows ใหม่ เกิดขึ้นมากกว่าหนึ่งครั้งทั้งกับ iPhone และอุปกรณ์ Android และไม่มีทางแก้ที่ดีกว่านี้ เลยยกเลิกไป
    • เห็นด้วย ผมใช้ Camo ทุกวันมาหลายปีเพื่อเอา iPhone 7 เครื่องเก่ามาใช้เป็นเว็บแคม และได้ภาพดีกว่าเว็บแคมทั่วไปมาก
  • เรื่องนี้ทำกันมาตั้งหลายปีแล้ว ไม่แน่ใจว่าหมายความว่ายังไม่มีการรองรับในแง่ไหน

    • OBS กับ DroidCam แบบสแตนด์อโลนทำสิ่งนี้ได้อยู่แล้วผ่านแอป Android และแอปบน PC เลยสงสัยว่านี่คือการรวมแอปพวกนั้นเข้าไป หรือเป็นอะไรที่คล้ายกัน
    • อาจทำได้เฉพาะบางอุปกรณ์เท่านั้น เครื่องของผมไม่มี ตัวเลือก UVC ในการตั้งค่า USB มีทางเลี่ยงอย่าง IP Webcam อยู่
  • ถ้ามีฟีเจอร์นี้เข้ามา Pixel 6a ที่ตอนนี้ราคา 250 ดอลลาร์ก็มีโอกาสสูงที่จะกลายเป็นเว็บแคมที่คุ้มค่าที่สุดในตลาด

    • ถ้ารอได้ 6 เดือน เปิดเบอร์ใหม่กับ Metro by T-Mobile แล้วซื้อ Pixel 6a ด้วยส่วนลดสำหรับเบอร์ใหม่ ก็จะได้มาประมาณ 90 ดอลลาร์ ตัวเครื่อง 50 ดอลลาร์ ค่าแพ็กเกจเดือนแรก 40 ดอลลาร์ และไม่ต้องต่ออายุเดือนที่สอง
      มีเว็บดีลที่น่ารำคาญมากเว็บหนึ่งเขียนไว้ว่าหลัง 6 เดือน เครื่องจะปลดล็อกเครือข่ายให้อัตโนมัติ ผมจะไม่แปะลิงก์เพราะเว็บนั้นน่ารำคาญเกินไป ต้องเปิดใช้งานเครื่องก่อนถึงจะเริ่มนับเวลา 6 เดือนได้
    • หลัง งาน Pixel 8 วันที่ 4 ตุลาคม คิดว่าราคา Pixel 6a น่าจะลงไปอีก
  • เท่าที่ผมรู้ Nokia N900 ทำแบบนี้ได้ด้วย gstreamer ตั้งแต่ปี 2009 ถึงจะไม่ได้สร้างอุปกรณ์วิดีโอขึ้นมาใช้จริง ๆ แต่คิดว่า v4l2sink ก็น่าจะมีอยู่แล้วตอนนั้น ผมเคยใช้สตรีมไปยังหน้าต่างระยะไกลและ OpenCV อยู่หลายครั้ง
    เป็นโทรศัพท์ดี ๆ เครื่องเดียวที่ผมเคยมีมาจนถึงตอนนี้ ถ้าอุปกรณ์ Android ทำอะไรได้ง่ายแบบนั้นก็คงดี แต่น่าแปลกที่แทบไม่เคยเป็นแบบนั้นเลย

    • ผมชอบอุปกรณ์และซอฟต์แวร์ที่เน้นความเป็นไปได้และความยืดหยุ่นจริง ๆ ระบบสำหรับผู้บริโภคยุคใหม่ตั้ง ราวกั้น ไว้แน่นมากเพื่อให้ผู้ใช้ได้ประสบการณ์ที่เรียบง่าย และโครงสร้างก็แข็งตัวและใหญ่โต
      นั่นก็เป็นงานที่ยากและควรได้รับความเคารพ แต่รู้สึกว่ามุมมองต่อซอฟต์แวร์ที่แข็งกร้าวและอนุรักษนิยมแบบนี้ครอบงำสิ่งที่ถูกสร้างขึ้นมาเป็นเวลานานโดยสิ้นเชิง คอมพิวติ้งที่พยายามให้ฐานที่มั่นคงแก่ power user มีน้อยลงเรื่อย ๆ เทคโนโลยียังคงถ่างระยะห่างและซับซ้อนเข้าใจยากขึ้นเรื่อย ๆ ที่น่าขันคือเพราะเรากำลังสูญเสียทางเข้าสำหรับเจาะลึกลงไปเป็นผู้เชี่ยวชาญหรือนักสำรวจอยู่ตลอด
    • จริง ๆ แล้ว อุปกรณ์ Symbian ที่เก่ากว่านั้นก็ทำได้เหมือนกัน
  • ถ้าใช้โทรศัพท์ Android เป็น กล้องติดรถยนต์ ได้ก็คงดี เมื่อไหร่จะทำได้นะ? ดูเหมือนเป็นฟีเจอร์ที่ควรจะทำได้อยู่แล้ว

    • ใน Play Store มีแอปกล้องติดรถยนต์อยู่
    • น่าจะร้อนเกินได้ง่าย
    • ไม่รู้ว่ากล้องติดรถยนต์ทำอะไรต่างจากกล้องทั่วไป แค่กดปุ่มอัดวิดีโอไม่ได้เหรอ?
  • เป็นฟีเจอร์ที่มีแล้วก็ดี แต่คนส่วนใหญ่น่าจะยังอยากถือโทรศัพท์ไว้ในมือระหว่าง Zoom อยู่ดี ถึงอย่างนั้นก็อาจมีคนจำนวนมากที่มีเครื่องสำรอง

    • สงสัยว่าระหว่าง Zoom ใช้โทรศัพท์ทำอะไร ไม่ได้หมายความว่าผิดหรือแปลกนะ แค่ผมไม่ได้ทำแบบนั้น เลยอยากรู้ว่าคนอื่นใช้ซอฟต์แวร์กับคอมพิวเตอร์กันอย่างไร