معرفی ضبط و پخش

راهنماهای مخصوص پلتفرم

اکثریت قریب به اتفاق تجربیات واقعیت افزوده "زمان واقعی" هستند. آنها از کاربران می خواهند که در یک مکان مشخص در زمان مشخصی حضور داشته باشند و تلفن آنها در حالت AR ویژه تنظیم شده و روی یک برنامه AR باز باشد. به عنوان مثال، اگر کاربری بخواهد ببیند که یک کاناپه AR در اتاق نشیمن خود چگونه به نظر می رسد، باید کاناپه را در حالی که از نظر فیزیکی در اتاق است، در محیط روی صفحه قرار دهد.

API ضبط و پخش این نیاز «زمان واقعی» را برطرف می‌کند و به شما امکان می‌دهد تجارب واقعیت افزوده را ایجاد کنید که در هر کجا و در هر زمان قابل مشاهده باشند. Recording API جریان ویدئوی دوربین، داده های IMU یا هر ابرداده سفارشی دیگری را که انتخاب می کنید در یک فایل MP4 ذخیره کنید، ذخیره می کند. سپس می‌توانید این ویدیوهای ضبط‌شده را از طریق API Playback به ARCore برسانید، که MP4 را درست مانند فید جلسه زنده رفتار می‌کند. همچنان می‌توانید از یک جلسه دوربین زنده استفاده کنید، اما با این API جدید، برنامه‌های AR شما می‌توانند به جای آن جلسه زنده، از MP4 از پیش ضبط‌شده استفاده کنند.

کاربران نهایی نیز می توانند از این ویژگی استفاده کنند. مهم نیست که در زندگی واقعی کجا هستند، آنها می توانند هر ویدیوی ضبط شده با API ضبط و پخش را از گالری اصلی خود بیرون بیاورند و اشیاء، جلوه ها و فیلترهای AR را ویرایش یا پخش کنند. با استفاده از این ویژگی، کاربران می توانند خریدهای واقعیت افزوده خود را در حالی که در قطار در حال رفت و آمد به دفتر هستند، یا در رختخواب در حال استراحت انجام دهند.

از موارد برای توسعه با API ضبط و پخش استفاده کنید

Recording and Playback API محدودیت های زمانی و مکانی ساخت اپلیکیشن های AR را حذف می کند. در اینجا چند راه وجود دارد که می توانید از آن در پروژه های خود استفاده کنید.

یک بار ضبط کنید، هر جا تست کنید

به‌جای اینکه هر بار که نیاز به آزمایش ویژگی AR دارید، به‌جای رفتن فیزیکی به یک مکان، می‌توانید با استفاده از Recording API ویدیویی ضبط کنید و سپس آن را با استفاده از هر دستگاه سازگار پخش کنید. ایجاد تجربه در یک مرکز خرید؟ نیازی نیست هر بار که می خواهید تغییری را آزمایش کنید به آنجا بروید. کافی است یک بار بازدید خود را ثبت کنید و سپس آن را تکرار کنید و از راحتی میز خود توسعه دهید.

زمان تکرار را کاهش دهید

به جای اینکه مجبور باشید برای هر دستگاه اندرویدی که می‌خواهید از آن پشتیبانی کنید، یک ویدیو ضبط کنید، برای هر سناریویی که می‌خواهید آزمایش کنید، می‌توانید ویدیو را یک‌بار ضبط کنید و آن را در چند دستگاه مختلف در مرحله تکرار پخش کنید.

بار آزمایش دستی را در تیم های توسعه کاهش دهید

به جای ایجاد مجموعه داده های سفارشی برای هر ویژگی جدید، از مجموعه داده های از پیش ضبط شده استفاده کنید و همزمان ویژگی های جدیدی را راه اندازی کنید که عمق یا آخرین پیشرفت های ردیابی ARCore را در بر می گیرد.

سازگاری دستگاه

برای ضبط داده‌ها با Recording and Playback API به ARCore نیاز دارید، اما برای پخش چیزها به آن نیاز ندارید. MP4 های ضبط شده با استفاده از این ویژگی اساسا فایل های ویدئویی با داده های اضافی هستند که با استفاده از هر پخش کننده ویدیویی قابل مشاهده هستند. می‌توانید آن‌ها را با ExoPlayer Android یا هر پخش‌کننده سازگاری که هم می‌تواند MP4‌های MP4 را دموکس کند و هم داده‌های اضافی اضافه‌شده توسط ARCore را مدیریت کند، بررسی کنید.

چگونه داده های ویدئویی و واقعیت افزوده برای پخش ضبط می شوند

ARCore جلسات ضبط شده را در فایل های MP4 روی دستگاه مورد نظر ذخیره می کند. این فایل ها حاوی چندین آهنگ ویدیویی و سایر داده های متفرقه هستند. پس از ذخیره شدن این جلسات، می توانید به برنامه خود اشاره کنید تا از این داده ها به جای جلسه دوربین زنده استفاده کند.

در یک ضبط چه چیزی وجود دارد؟

ARCore داده های زیر را در ویدیوی H.264 می گیرد. می‌توانید در هر پخش‌کننده ویدیویی سازگار با MP4 که قادر به تعویض آهنگ است، به آن دسترسی داشته باشید. آهنگ با بالاترین وضوح اولین آهنگ در لیست است زیرا برخی از پخش کننده های ویدیویی سازگار با MP4 به طور خودکار اولین آهنگ لیست را بدون اینکه به شما اجازه دهند انتخاب کنید کدام تراک ویدیویی پخش شود را پخش می کنند.

تراک ویدیوی اصلی (تراک تصویر CPU)

فایل ویدئویی اولیه محیط یا صحنه را برای پخش بعدی ضبط می کند. به‌طور پیش‌فرض، ARCore تصویر CPU 640x480 (VGA) را که برای ردیابی حرکت به‌عنوان جریان ویدیوی اصلی استفاده می‌شود، ضبط می‌کند.

ARCore بافت GPU (با وضوح بالا) را که به عنوان تصویر دوربین عبوری به صفحه نمایش داده می شود، نمی گیرد.

اگر می خواهید جریان تصویر با وضوح بالا در حین پخش در دسترس باشد، باید دوربینی را پیکربندی کنید که تصویر CPU را با وضوح مطلوب ارائه دهد. در این مورد:

  • ARCore هم تصویر CPU 640x480 (VGA) را که برای ردیابی حرکت نیاز دارد و هم تصویر CPU با وضوح بالا که توسط پیکربندی دوربین پیکربندی شده مشخص شده است را درخواست می کند.
  • گرفتن دومین جریان تصویر CPU ممکن است بر عملکرد برنامه تأثیر بگذارد و دستگاه‌های مختلف ممکن است متفاوت باشند.
  • در حین پخش، 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 ، مکان تخمینی دستگاه، قرائت‌های مغناطیس‌سنج و قرائت‌های قطب‌نما