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 trải nghiệm Thực tế tăng cường là "thời gian thực". Người dùng phải ở một nơi nhất định vào một thời điểm nhất định, với điện thoại được đặt ở chế độ AR đặc biệt và mở ra một ứng dụng AR. Ví dụ: nếu muốn xem một chiếc ghế sofa AR trông như thế nào trong phòng khách, người dùng sẽ phải "đặt" chiếc ghế sofa đó vào môi trường trên màn hình trong khi họ đang ở trong phòng.

API Ghi và phát không cần phải đáp ứng yêu cầu "theo thời gian thực" này. Nhờ vậy, bạn có thể tạo ra những trải nghiệm thực tế tăng cường mà mọi người có thể xem mọi lúc, mọi nơi. API Quay video lưu trữ luồng video của máy ảnh, 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 những video đã ghi này lên ARCore thông qua Playback API. API này sẽ xử lý MP4 giống như nguồn cấp dữ liệu phiên trực tiếp. Bạn vẫn có thể sử dụng phiên camera trực tiếp. Tuy nhiên, với API mới này, các ứng dụng thực tế tăng cường có thể chọn sử dụng MP4 được ghi hình 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ể ở đâu trong cuộc sống thực, người dùng đều có thể xem bất kỳ video nào được quay bằng API Quay và phát trong thư viện gốc của họ, đồng thời chỉnh sửa hoặc phát lại các đối tượng, hiệu ứng và bộ lọc AR. Với tính năng này, người dùng có thể thực hiện mua sắm thực tế tăng cường trong khi đi tàu đến văn phòng hoặc nằm dài trên giường.

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

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

Ghi hình một lần, kiểm thử ở mọi nơi

Thay vì phải đến một địa điểm mỗi lần cần thử một 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ị nào tương thích. Bạn đang xây dựng trải nghiệm trong một trung tâm mua sắm? Bạn không cần phải chuyển đến đó mỗi khi muốn thử nghiệm một thay đổi. Bạn chỉ cần ghi lại một lần lượt truy cập, sau đó 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 từng thiết bị Android mà bạn muốn hỗ trợ, đối với 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ị khác nhau trong giai đoạn lặp lại.

Giảm gánh nặng kiểm thử thủ công cho các nhóm phát triển

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

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

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

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

ARCore lưu các phiên đã 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à các dữ liệu khác. Sau khi lưu các phiên này, bạn có thể chỉ định ứng dụng sử dụng dữ liệu này thay vì phiên máy ảnh trực tiếp.

Nội dung của một bản ghi âm là gì?

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

Bản video chính (bản nhạc 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) được sử dụng cho theo dõi chuyển động làm video chính luồng.

ARCore không chụp kết cấu GPU (có độ phân giải cao) được 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ột 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) mà nó yêu cầu tính năng theo dõi chuyển động và hình ảnh CPU có độ phân giải cao được chỉ định bởi cấu hình camera.
  • Việc chụp luồng hình ảnh CPU thứ hai có thể ảnh hưởng đến hiệu suất của ứng dụng và thiết bị khác nhau có thể bị ảnh hưởng theo cách khác nhau.
  • Trong khi phát, ARCore sẽ sử dụng hình ảnh CPU có độ phân giải cao được chụp trong quá trình ghi dưới dạng 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 được chọn trong quá trình quay video 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.

Hình ảnh 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 thành giá trị kênh RGB. Bạn chỉ được 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à cảm biến gia tốc của thiết bị. Tệp này cũng ghi lại các dữ liệu khác, một số dữ liệu trong số đó có thể là dữ liệu 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ảm biến dùng để theo dõi thực tế tăng cường
  • Khi sử dụng ARCore Geospatial API, vị trí ước tính, kết quả đo từ kế và kết quả đo la bàn của thiết bị