Giới thiệu về tính năng ghi và phát

Hướng dẫn dành riêng cho nền tảng

Phần lớn các trải nghiệm Thực tế tăng cường là "theo thời gian thực". Những tính năng này yêu cầu người dùng phải ở một địa điểm nhất định vào một thời điểm nhất định, với điện thoại được đặt ở chế độ thực tế tăng cường đặc biệt và mở một ứng dụng thực tế tăng cường. Ví dụ: nếu muốn xem ghế sô pha thực tế tăng cường trông như thế nào trong phòng khách, họ sẽ phải "đặt" chiếc ghế dài đó vào môi trường trên màn hình khi họ đang ở trong phòng.

API ghi và phát không đáp ứng yêu cầu "theo thời gian thực" này, cho phép bạn tạo trải nghiệm thực tế tăng cường có thể xem được ở mọi nơi, mọi lúc. API ghi âm lưu trữ luồng video của camera, dữ liệu IMU hoặc bất kỳ siêu dữ liệu tuỳ chỉnh nào khác mà bạn chọn lưu trong tệp MP4. Sau đó, bạn có thể đưa các video đã quay này lên ARCore thông qua Playback API. API này sẽ coi MP4 giống như một nguồn cấp dữ liệu của phiên trực tiếp. Bạn vẫn có thể sử dụng phiên máy ảnh trực tiếp nhưng với API mới này, các ứng dụng AR của bạn có thể chọn sử dụng MP4 được ghi sẵn thay vì phiên trực tiếp đó.

Người dùng cuối cũng có thể tận dụng tính năng này. Bất kể họ đang ở đâu trong đời thực, họ đều có thể lấy mọi video đã quay bằng API ghi và phát lại từ thư viện gốc của mình để chỉnh sửa hoặc phát lại các đối tượng, hiệu ứng và bộ lọc thực tế tăng cường. Với tính năng này, người dùng có thể mua sắm bằng công nghệ thực tế tăng cường (AR) khi đi trên tàu hoả đi đến văn phòng hoặc trên giường nằm lang thang.

Các trường hợp sử dụng để phát triển bằng API Ghi âm và Phát lại

API ghi và phát giúp loại bỏ các hạn chế về thời gian và không gian khi xây dựng ứng dụng thực tế tăng cường. Sau đây là một số cách bạn có thể sử dụng trong các dự án của mình.

Ghi một lần, kiểm tra ở mọi nơi

Thay vì phải tới một địa điểm mỗi khi cần thử tính năng thực tế tăng cường, bạn có thể quay video bằng API Ghi âm rồi phát lại video đó bằng bất kỳ thiết bị tương thích nào. Bạn muốn xây dựng trải nghiệm tại một trung tâm mua sắm? Bạn không cần phải truy cập vào trang mỗi khi muốn thử nghiệm một thay đổi. Bạn chỉ cần ghi lại lượt ghé thăm một lần rồi lặp lại và phát triển ngay tại bàn làm việc của mình.

Giảm thời gian lặp lại

Thay vì phải quay video cho mọi thiết bị Android mà bạn muốn hỗ trợ, trong mỗi trường hợp muốn kiểm thử, bạn có thể quay video một lần rồi phát lại trên nhiều thiết bị trong giai đoạn lặp lại.

Giảm bớt gánh nặng kiểm thử thủ công giữa các nhóm phát triển

Thay vì tạo tập dữ liệu tuỳ chỉnh cho từng tính năng mới, hãy tận dụng các tập dữ liệu được ghi sẵn trong khi khởi chạy các tính năng mới kết hợp với chiều sâu hoặc những cải tiến mới nhất về hoạt động theo dõi của ARCore.

Khả năng tương thích với thiết bị

Bạn cần có ARCore để ghi dữ liệu bằng API Bản ghi và Phát, nhưng sẽ không cần có ARCore để phát lại nội dung. MP4 được ghi bằng tính năng này về cơ bản là tệp video có dữ liệu bổ sung. Những tệp này có thể được xem bằng bất kỳ trình phát video nào. Bạn có thể kiểm tra chúng bằng ExoPlayer của Android hoặc bất kỳ trình phát tương thích nào có thể vừa loại bỏ MP4 vừa quản lý dữ liệu bổ sung do ARCore thêm vào.

Cách dữ liệu video và thực tế tăng cường được ghi lại để phát

ARCore lưu các phiên được ghi vào tệp MP4 trên thiết bị mục tiêu. Các tệp này chứa nhiều bản video và dữ liệu khác. Sau khi các phiên này được lưu, bạn có thể trỏ ứng dụng của mình để sử dụng dữ liệu này thay cho phiên camera trực tiếp.

Nội dung trong bản ghi âm là gì?

ARCore ghi lại dữ liệu sau trong video H.264. Bạn có thể sử dụng tính năng này trên bất kỳ trình phát video nào tương thích với MP4 và có khả năng chuyển đổi bản nhạc. Bản nhạc có độ phân giải cao nhất là bản nhạc đầu tiên trong danh sách vì một số trình phát video tương thích với MP4 tự động phát bản nhạc đầu tiên trong danh sách mà không cho phép bạn chọn bản nhạc video để phát.

Kênh video chính (kênh hình ảnh CPU)

Tệp video chính ghi lại môi trường hoặc cảnh để phát lại sau. Theo mặc định, ARCore ghi lại hình ảnh CPU 640x480 (VGA) dùng để theo dõi chuyển động dưới dạng luồng video chính.

ARCore không chụp được hoạ tiết GPU (độ phân giải cao) kết xuất lên màn hình dưới dạng hình ảnh máy ảnh truyền qua.

Nếu muốn có luồng hình ảnh có độ phân giải cao trong khi phát, bạn phải định cấu hình máy ảnh cung cấp hình ảnh CPU có độ phân giải mong muốn. Trong trường hợp này:

  • ARCore sẽ yêu cầu cả hình ảnh CPU 640x480 (VGA) cần thiết để theo dõi chuyển động và hình ảnh CPU có độ phân giải cao do cấu hình máy ảnh đã định cấu hình chỉ định.
  • Việc ghi lại luồng hình ảnh CPU thứ hai có thể ảnh hưởng đến hiệu suất của ứng dụng và các thiết bị khác nhau có thể bị ảnh hưởng theo cách khác.
  • Trong khi phát, ARCore sẽ sử dụng hình ảnh CPU có độ phân giải cao đã chụp trong quá trình ghi làm hoạ tiết GPU trong khi phát.
  • Hình ảnh CPU có độ phân giải cao sẽ trở thành luồng video mặc định trong bản ghi MP4.

Cấu hình máy ảnh đã chọn trong quá trình ghi sẽ xác định hình ảnh CPU và luồng video chính trong bản ghi. Nếu bạn không chọn cấu hình máy ảnh có hình ảnh CPU có độ phân giải cao, thì video này sẽ là bản nhạc đầu tiên trong tệp và sẽ phát theo mặc định, bất kể bạn sử dụng trình phát video nào.

Trực quan hoá bản đồ độ sâu của máy ảnh

Đây là tệp video thể hiện bản đồ độ sâu của máy ảnh, được ghi lại từ cảm biến độ sâu phần cứng của thiết bị, chẳng hạn như cảm biến thời gian bay (hoặc cảm biến ToF) và được chuyển đổi sang giá trị kênh RGB. Bạn chỉ nên sử dụng video này cho mục đích xem trước.

Sự kiện lệnh gọi API

ARCore ghi lại các phép đo từ cảm biến con quay hồi chuyển và gia tốc kế trên thiết bị. Tính năng này cũng ghi lại các dữ liệu khác, trong đó có một số dữ liệu có thể nhạy cảm:

  • Phiên bản định dạng tập dữ liệu
  • Phiên bản SDK ARCore
  • Phiên bản Dịch vụ Google Play cho Thực tế tăng cường
  • Vân tay số của thiết bị (kết quả của adb shell getprop ro.build.fingerprint)
  • Thông tin bổ sung về các cảm biến dùng để theo dõi thực tế tăng cường
  • Khi sử dụng API Không gian địa lý ARCore, vị trí ước đoán, chỉ số từ kế và chỉ số la bàn của thiết bị