ข้อมูลเบื้องต้นเกี่ยวกับการบันทึกและการเล่น

คู่มือเฉพาะแพลตฟอร์ม

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

Recording and Playback API ไม่จำเป็นต้องเป็นแบบ "เรียลไทม์" คุณจึงสร้างประสบการณ์ AR ที่รับชมได้ทุกที่ทุกเวลา Recording API จะจัดเก็บสตรีมวิดีโอของกล้อง ข้อมูล IMU หรือข้อมูลเมตาที่กำหนดเองอื่นๆ ที่คุณเลือกบันทึกไว้ในไฟล์ MP4 จากนั้นคุณสามารถส่งวิดีโอที่บันทึกไว้เหล่านี้ไปยัง ARCore ผ่าน Playback API ซึ่งจะถือว่า MP4 เหมือนกับฟีดเซสชันแบบสด คุณยังคงใช้เซสชันกล้องสดได้ แต่ API ใหม่นี้จะช่วยให้แอปพลิเคชัน AR เลือกใช้ MP4 ที่บันทึกไว้ล่วงหน้าแทนเซสชันสดได้

ผู้ใช้ปลายทางก็สามารถใช้ประโยชน์จากฟีเจอร์นี้ได้เช่นกัน ไม่ว่าผู้ใช้จะอยู่ที่ไหนในชีวิตจริง ก็สามารถเรียกดูวิดีโอที่บันทึกด้วย Recording and Playback API จากแกลเลอรีในเครื่อง และแก้ไขหรือเล่นวัตถุ เอฟเฟกต์ และฟิลเตอร์ AR ฟีเจอร์นี้ช่วยให้ผู้ใช้ช้อปปิ้งแบบ AR ได้ขณะอยู่บนรถไฟที่เดินทางมายังสำนักงาน หรือนั่งพักผ่อนบนเตียง

กรณีการใช้งานสำหรับการพัฒนาโดยใช้ API การบันทึกและการเล่น

Recording and Playback API จะช่วยลดเวลาและพื้นที่ในการสร้างแอป AR ต่อไปนี้เป็นตัวอย่างวิธีใช้ฟีเจอร์นี้ในโปรเจ็กต์ของคุณเอง

บันทึกเพียงครั้งเดียวแล้วทดสอบได้ทุกที่

แทนที่จะต้องออกไปยังสถานที่จริงทุกครั้งที่ต้องการทดสอบฟีเจอร์ AR คุณสามารถบันทึกวิดีโอโดยใช้ API การบันทึกแล้วเล่นวิดีโอโดยใช้อุปกรณ์ที่เข้ากันได้ใดก็ได้ หากกำลังสร้างประสบการณ์ในห้างสรรพสินค้า คุณไม่จำเป็นต้องไปที่ส่วนนี้ทุกครั้งที่ต้องการทดสอบการเปลี่ยนแปลง เพียงบันทึกการเข้าชมเพียงครั้งเดียว จากนั้นจึงแก้ไขและปรับปรุงได้จากโต๊ะทำงานของคุณเอง

ลดเวลาทำซ้ำ

แทนที่จะต้องบันทึกวิดีโอสำหรับอุปกรณ์ Android ทุกเครื่องที่ต้องการรองรับ คุณสามารถบันทึกวิดีโอครั้งเดียวแล้วเล่นวิดีโอบนอุปกรณ์หลายเครื่องในขั้นตอนของการทำซ้ำได้

ลดภาระในการทดสอบด้วยตนเองระหว่างทีมพัฒนา

ใช้ประโยชน์จากชุดข้อมูลที่บันทึกไว้ล่วงหน้าแทนการสร้างชุดข้อมูลที่กำหนดเองสำหรับฟีเจอร์ใหม่ทั้งหมด ขณะเปิดตัวฟีเจอร์ใหม่ที่รวมความลึกหรือการปรับปรุงการติดตามล่าสุดจาก ARCore

ความเข้ากันได้ของอุปกรณ์

คุณจะต้องใช้ ARCore เพื่อบันทึกข้อมูลด้วย API การบันทึกและการเล่น แต่ไม่ต้องใช้ในการเล่นเนื้อหา MP4 ที่บันทึกโดยใช้ฟีเจอร์นี้โดยพื้นฐานแล้วคือไฟล์วิดีโอที่มีข้อมูลเพิ่มเติมซึ่งดูได้โดยใช้โปรแกรมเล่นวิดีโอใดก็ได้ คุณสามารถตรวจสอบไฟล์เหล่านี้ได้ด้วย ExoPlayer ของ Android หรือโปรแกรมเล่นที่เข้ากันได้ซึ่งสามารถแยกข้อมูล MP4 และจัดการข้อมูลเพิ่มเติมที่ ARCore เพิ่มเข้ามา

วิธีบันทึกข้อมูลวิดีโอและข้อมูล AR สำหรับการเล่น

ARCore จะบันทึกเซสชันที่บันทึกไว้ลงในไฟล์ MP4 ในอุปกรณ์เป้าหมาย ไฟล์เหล่านี้ประกอบด้วยแทร็กวิดีโอหลายรายการและข้อมูลเบ็ดเตล็ดอื่นๆ เมื่อบันทึกเซสชันเหล่านี้แล้ว คุณจะชี้แอปให้ใช้ข้อมูลนี้แทนเซสชันกล้องแบบสดได้

มีอะไรอยู่ในไฟล์บันทึกเสียง

ARCore จะบันทึกข้อมูลต่อไปนี้ในวิดีโอ H.264 คุณสามารถเข้าถึงได้ในโปรแกรมเล่นวิดีโอที่ใช้ร่วมกับ MP4 ที่สามารถสลับแทร็กได้ แทร็กที่มีความละเอียดสูงสุดจะเป็นแทร็กแรกในรายการ เนื่องจากโปรแกรมเล่นวิดีโอที่เข้ากันได้กับ MP4 บางโปรแกรมจะเล่นแทร็กแรกในรายการโดยอัตโนมัติโดยไม่อนุญาตให้คุณเลือกแทร็กวิดีโอที่จะเล่น

แทร็กวิดีโอหลัก (แทร็กภาพ CPU)

ไฟล์วิดีโอหลักจะบันทึกสภาพแวดล้อมหรือฉากสำหรับเล่นในภายหลัง โดย ซึ่งเป็นค่าเริ่มต้น ARCore จะบันทึกอิมเมจ CPU 640x480 (VGA) ที่ใช้สำหรับ การติดตามการเคลื่อนไหวเป็นวิดีโอหลัก สตรีม

ARCore ไม่จับพื้นผิว GPU (ความละเอียดสูง) ที่แสดงผลใน หน้าจอเป็นรูปภาพจากกล้องส่งผ่าน

หากต้องการให้สตรีมรูปภาพความละเอียดสูงพร้อมใช้งานระหว่างการเล่น คุณต้องกำหนดค่ากล้องที่ให้รูปภาพ CPU ที่มีความละเอียดที่ต้องการ ในกรณีนี้

  • ARCore จะขออิมเมจ CPU ทั้ง 640x480 (VGA) ที่ต้องใช้สำหรับ การติดตามการเคลื่อนไหวและรูปภาพ CPU ความละเอียดสูงที่ระบุโดย การกำหนดค่ากล้อง
  • การบันทึกสตรีมรูปภาพ CPU รายการที่ 2 อาจส่งผลต่อประสิทธิภาพของแอป และ อุปกรณ์ที่ต่างกันอาจได้รับผลกระทบแตกต่างกัน
  • ในระหว่างการเล่น ARCore จะใช้อิมเมจ CPU ความละเอียดสูง ระหว่างการบันทึกเป็นพื้นผิว GPU ระหว่างการเล่น
  • รูปภาพ CPU ความละเอียดสูงจะกลายเป็นสตรีมวิดีโอเริ่มต้นในการบันทึก MP4

การกำหนดค่ากล้องที่เลือกระหว่างการบันทึกจะเป็นตัวกำหนดรูปภาพ CPU และสตรีมวิดีโอหลักในการบันทึก หากไม่เลือกการกำหนดค่ากล้องที่มีอิมเมจ CPU ความละเอียดสูง วิดีโอนี้จะเป็นแทร็กแรกในไฟล์และจะเล่นโดยค่าเริ่มต้น ไม่ว่าคุณจะใช้วิดีโอเพลเยอร์ใดก็ตาม

ภาพแผนที่ความลึกของกล้อง

ซึ่งเป็นไฟล์วิดีโอที่แสดงแผนที่ความลึกของกล้อง ซึ่งบันทึกจากเซ็นเซอร์ความลึกของฮาร์ดแวร์ของอุปกรณ์ เช่น เซ็นเซอร์ตรวจจับเวลาบิน (หรือเซ็นเซอร์ ToF) และแปลงเป็นค่าช่อง RGB วิดีโอนี้ควรใช้เพื่อวัตถุประสงค์ในการดูตัวอย่างเท่านั้น

เหตุการณ์การเรียก API

ARCore จะบันทึกค่าที่วัดได้จากเซ็นเซอร์เครื่องวัดการหมุนและตัวตรวจวัดความเร่งของอุปกรณ์ นอกจากนี้ยังบันทึกข้อมูลอื่นๆ ซึ่งบางอย่างอาจมีข้อมูลที่ละเอียดอ่อน

  • เวอร์ชันของรูปแบบชุดข้อมูล
  • เวอร์ชัน ARCore SDK
  • บริการ Google Play สำหรับเวอร์ชัน AR
  • ลายนิ้วมือของอุปกรณ์ (เอาต์พุตของ adb shell getprop ro.build.fingerprint)
  • ข้อมูลเพิ่มเติมเกี่ยวกับเซ็นเซอร์ที่ใช้สำหรับการติดตาม AR
  • เมื่อใช้ ARCore Geospatial API ตำแหน่งโดยประมาณของอุปกรณ์ การอ่านค่าจากเครื่องวัดค่าความเข้มข้นของสนามแม่เหล็ก และการอ่านค่าจากเข็มทิศ