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

คำแนะนำเฉพาะแพลตฟอร์ม

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

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

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

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

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

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

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

ลดเวลาทำซ้ำ

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

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

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

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

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