این سند، APIهای پشتیبانیشدهی واحد توسعهی کلاس ویدیوی USB (XU) را که توسط سیستمهای کنفرانس Google Meet برای فعالسازی ویژگیهای دوربین هوشمند استفاده میشوند، تشریح میکند. هدف از ایجاد این مشخصات، تأثیرگذاری بر شیوههای فعالسازی این ویژگیها و فراهم کردن امکان مقیاسپذیری و آزمایش ناهمزمان بهتر برای شرکای ما است.
برای جزئیات مربوط به آخرین تغییرات این سند، به یادداشتهای انتشار مراجعه کنید.
مرکز آزمایش
برای کمک به شرکا در تأیید انطباق با این مشخصات، ما یک امکان آزمایشی در دستگاههای Chromebox-for-Meetings ارائه میدهیم که در حالت توسعهدهنده تنظیم شده است. نوشتن در سیستم فایل را فعال کنید. خطوط زیر را به /etc/chrome_dev.conf اضافه کنید:
--enable-logging
--log-level=0
دستگاه را مجدداً راهاندازی کنید، دوربین و یک صفحهکلید USB را وصل کنید، Ctrl-Alt-X را فشار دهید، و انطباق مشخصات دوربین فعال اعمال شده و در /var/log/chrome/chrome ثبت میشود (اگر از یک تصویر امضا شده استفاده میکنید، سپس /home/chronos/user/log/chrome ).
قرارداد لیتل-اندی
USB یک استاندارد little-endian است. در این سند آمده است:
- اعداد چند بایتی به صورت big-endian ظاهر میشوند (و به صورت little-endian منتقل میشوند).
- آرایههای بایتی در طرح حافظه little-endian قرار دارند.
برای مثال، 0x12345678 همان [0x78, 0x56, 0x34, 0x12] است.
راهنمای واحد توسعه
واحدهای افزونهای که از این مشخصات کنترل Meet XU پشتیبانی میکنند باید از این GUID استفاده کنند.
| واحد توسعه | راهنما |
|---|---|
| کنترل محیطی XU | {74D7E924-49C9-4A45-98A3-8A9F60061E83} |
انتخابگرهای XU کنترل محیطی
اینها انتخابگرهای XU کنترل جانبی تعریفشده هستند.
| انتخابگرهای کنترل | ارزش |
|---|---|
GOOGXU_FRAME_STRATEGY | 0x01 |
GOOGXU_REFRAME | 0x02 |
GOOGXU_OCCUPANCY_COUNTING_TOGGLE | 0x03 |
GOOGXU_OCCUPANCY_COUNTING_READ | 0x04 |
GOOGXU_STATUS_INFO | 0x05 |
GOOGXU_STATUS_RESET | 0x06 |
GOOGXU_PRESETS | 0x07 |
GOOGXU_PAN_TILT_ABSOLUTE | 0x08 |
GOOGXU_PAN_TILT_RELATIVE | 0x09 |
GOOGXU_SATELLITE_INFO | 0x0A |
نوع درخواست کنترل
انواع درخواستهای کنترل در فصل ۴: درخواستهای خاص کلاس از مشخصات کلاس UVC 1.5 تعریف شدهاند.
| عملیات | کنترل UVC |
|---|---|
GET | GET_CUR ، GET_MIN ، GET_MAX ، GET_RES ، GET_LEN ، GET_INFO ، GET_DEF |
SET | SET_CUR |
حالتهای دوربین
حالتهای دوربین برای قاببندی افراد در اتاق جلسه استفاده میشوند و tuple زیر هستند:
- استراتژی (نمای دوربین)
- تعصب (بلندگو یا اتاق)
- فیدها (یک یا چند جریان)
هر بُعد میتواند مقادیری را که در بخشهای بعدی توضیح داده شده است، بپذیرد.
استراتژی قاببندی خودکار
در تمام حالتهای کادربندی خودکار به جز حالت «هیچکدام»، حرکت افقی، عمودی و بزرگنمایی دستی غیرفعال هستند.
| ویژگی | توضیحات |
|---|---|
| هیچکدام | دوربین تمام ویژگیهای کادربندی هوشمند را غیرفعال میکند و به مشتری اجازه میدهد تا آزادانه مقادیر PTZ را کنترل کند. توجه: وقتی روی این استراتژی کادربندی تنظیم میشود، دوربین در موقعیت فعلی حرکت افقی، عمودی و زوم خود باقی میماند. |
| قاببندی پیوسته (CAZ) | بر اساس سوگیری قاببندی، دوربین به طور مداوم افراد حاضر در اتاق را ردیابی میکند. |
| فریمهای تقسیمشده | دوربین به تعداد مورد نیاز، ویدیوهایی با نمای کلی ایجاد میکند. بر اساس گزینه فیدهای قاببندی خودکار ، دوربین یا آنها را در قالب کاشیهایی در یک جریان واحد ترکیب میکند یا برای هر نمایش، جریانهای ویدیویی جداگانهای ایجاد میکند. |
| نمای پویا | یک یا چند دوربین تلاش میکنند تا بهترین دید را از اتاق ارائه دهند. این دوربین میتواند تصمیم بگیرد که آیا چندین تصویر را در یک تصویر ترکیب کند یا یک نمای "جالب" از اتاق فعلی ارائه دهد. هدف از این دیدگاه، ارائه منصفانهترین دیدگاه از شرکتکنندگان حاضر در اتاق تماس است. |
| فروشنده ترجیحی | سیستم دوربین از منطق خود برای تعیین بهترین نمای اتاق استفاده میکند. استراتژی فریمبندی اساسی بدون اطلاع قبلی قابل تغییر است. به عنوان مثال، اگر تعداد افراد حاضر در اتاق تغییر کند، یا دوربین بتواند تفاوت بین یک "ارائهدهنده با ریسک بالا" در مقابل یک جلسه "همکاری" را تشخیص دهد، سیستم آزاد است که استراتژی فریمبندی را مطابق با صلاحدید خود در این حالت تطبیق دهد یا تغییر دهد. در این حالت، فراخوانی getCur باید VENDOR_PREFERRED را برگرداند، و نه حالت فریمبندی اساسی که توسط سیستم انتخاب شده است. |
سوگیری قاببندی خودکار
| ویژگی | توضیحات |
|---|---|
| ارائه دهنده با ریسک بالا (ردیابی گوینده) | دوربین تلاش میکند تا به بهترین شکل، فردی را که در اتاق صحبت میکند، در قاب تصویر نشان دهد. در این سناریو، دوربین باید به سمت ارائه دهنده متمایل باشد. به عنوان مثال، مدیرعامل در اتاق هیئت مدیره در حال ارائه مطلب. |
| همکاری (ردیابی اتاق) | دوربین تلاش میکند تا به بهترین شکل ممکن تمام شرکتکنندگان حاضر در اتاق را در قاب خود جای دهد. در این سناریو، دوربین باید با هر شرکتکننده به طور عادلانه رفتار کند. |
فیدهای قاببندی خودکار
| ویژگی | توضیحات |
|---|---|
| تک جریانی | دوربین یک جریان ویدیویی واحد را به دستگاه میزبان ارسال میکند. |
| چند جریانی (در حال انجام) | دوربین جریان را تقسیم میکند و چندین جریان ویدیویی برای ارسال به میزبان ایجاد میکند. توجه: مشخصات کامل و رفتار مورد انتظار این ویژگی در حال بررسی است و تا نسخههای بعدی این سند پشتیبانی نمیشود . |
مقادیر بیتمپ حالت فریمبندی خودکار
به جز حالت پیشفرض None که توسط یک آرایه بایت خالی نمایش داده میشود، هر بیت در آرایه بایت، حالت دوربین متفاوتی را نشان میدهد که ترکیبی خاص از Auto-framing strategy ، Auto-framing bias و Auto-framing feeds است.
| فیدهای قاببندی خودکار | کاز | فریم تقسیم شده | پویا | فروشنده ترجیحی | سوگیری قاببندی خودکار |
|---|---|---|---|---|---|
| تک جریانی | دی۱ دی۲ | - دی۳ | دی۵ دی۷ | D9 (بلندگو یا اتاق) | بلندگو اتاق |
| چند جریانی | - - | - دی۴ | دی۶ دی۸ | - | بلندگو اتاق |
| حالتهای فریم | مقدار حالت فریم (بایت کماهمیتتر) |
|---|---|
None | 0x0000 |
CAZ, Speaker, Single-Stream | 0x0001 |
CAZ, Room, Single-Stream | 0x0002 |
Split-Frame, Room, Single-Stream | 0x0004 |
Split-Frame, Room, Multi-Stream | 0x0008 |
Dynamic, Speaker, Single-Stream | 0x0010 |
Dynamic, Speaker, Multi-Stream | 0x0020 |
Dynamic, Room, Single-Stream | 0x0040 |
Dynamic, Room, Multi-Stream | 0x0080 |
Vendor-preferred, Single-Stream | 0x0100 |
کنترل: GOOGXU_FRAME_STRATEGY
این کنترل برای دریافت یا تنظیم حالتهای فریمبندی دوربین، همانطور که در مقادیر بیتمپ حالت فریمبندی خودکار ذکر شده است، استفاده میشود. هر حالت به صورت یک بیت در بیتمپ مربوطه نمایش داده میشود. دستور GET_RES یک بیتماسک 8 بایتی با مقدار صفر (0) یا یک (1) را برمیگرداند تا به ترتیب نشان دهد که آیا این ویژگی توسط دستگاه پشتیبانی میشود یا خیر. به عنوان مثال، اگر یک دوربین از CAZ, Speaker, Single-Stream ، Split-Frame, Room, Single-Stream و Dynamic, Room, Multi-Stream پشتیبانی کند اما حالتهای دیگری را پشتیبانی نکند، GET_RES باید 0x00000000000000085 (یعنی 0b10000101 و به دنبال آن هفت بایت صفر) را برگرداند.
دستور SET_CUR برای ارسال بیتمپها استفاده میشود تا به دوربین بگوید کدام حالت دوربین SINGLE را فعال کند.
| انتخابگر کنترل | ۱ | |||
|---|---|---|---|---|
| عملیات | GET / SET | |||
wLength | ۸ | |||
| افست | میدان | اندازه | ارزش | توضیحات |
| 0 | bActiveMode | ۸ | بیتمپ | تنظیم یا بازگرداندن حالت دوربین فعال |
یادداشتها:
| ||||
رفتار انواع درخواستهای پشتیبانیشده به شرح زیر است:
| افست | 0 | توضیحات |
|---|---|---|
GET_CUR | حالت دوربین کادربندی فعال (Active Frameing) را فعال کنید | |
GET_MIN | وابسته به دوربین | |
GET_MAX | وابسته به دوربین | |
GET_RES | یک ماسک بیتی به طول ۸ بایت از حالتهای دوربین پشتیبانیشده را برمیگرداند. | |
GET_LEN | 0x0008 | طول |
GET_INFO | 0x0B | بهروزرسانی خودکار / نوشتن / خواندن |
GET_DEF | ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ | مقدار پیشفرض |
SET_CUR | حالت دوربین کادربندی فعال را تنظیم کنید |
کنترل: GOOGXU_REFRAME
این کنترل برای فعال کردن قاببندی تکشات، که با نام OTAZ نیز شناخته میشود، استفاده میشود. وقتی OTAZ فعال میشود، نمای دوربین به بهترین نمای اتاق تبدیل میشود. پس از آن، کلاینت دوباره توانایی کنترل مقادیر PTZ را به دست میآورد. اگر قاببندی تکشات پشتیبانی نمیشود، دوربین نباید این کنترل را تعریف کند.
| انتخابگر کنترل | ۲ | |||
|---|---|---|---|---|
| عملیات | SET | |||
wLength | ۱ | |||
| افست | میدان | اندازه | ارزش | توضیحات |
| 0 | bReframe | ۱ | شماره | 0x01 اجرای درخواست تغییر فریم |
رفتار انواع درخواستهای پشتیبانیشده به شرح زیر است:
| افست | 0 | توضیحات |
|---|---|---|
GET_MIN | 0x00 | |
GET_MAX | 0x01 | |
GET_RES | 0x01 | |
GET_LEN | 0x0001 | |
GET_INFO | 0x02 | فقط بنویس |
GET_DEF | 0x00 | |
SET_CUR | درخواست فریمینگ تکشات را تنظیم کنید |
شمارش اشغال
شمارش تعداد افراد حاضر در اتاق جلسه (OC) قابلیتی است که برای تخمین تعداد شرکتکنندگان در اتاق جلسه، علیرغم نمای کراپشده دوربین، استفاده میشود.
این جدول رفتار مورد انتظار از کنترلهای اورکلاک و تعامل آنها با جریان ویدیوی دوربین و نشانگر LED دوربین را نشان میدهد.
| چه زمانی شمارش اشغال انجام میشود؟ | و جریان ویدیوی دوربین عبارت است از: | نشانگر LED دوربین باید باشد | GOOGXU_OCCUPANCY_COUNTING_TOGGLE GET_CUR باید باشد | GOOGXU_OCCUPANCY_COUNTING_READ GET_CUR باید باشد |
|---|---|---|---|---|
| روشن شد | پخش جریانی و بیصدا نیست | روشن | 0x01 | تعداد افراد در میدان دید کامل دوربین. |
| روشن شد | پخش جریانی | روشن | 0x01 | تعداد افراد در میدان دید کامل دوربین. |
| روشن شد | بیصدا | خاموش | 0x01 | خاموش شده |
| خاموش شده | پخش جریانی و بیصدا نیست | خاموش | 0x00 | خاموش شده |
| خاموش شده | پخش جریانی | روشن | 0x00 | خاموش شده |
| خاموش شده | بیصدا | خاموش | 0x00 | خاموش شده |
کنترل: GOOGXU_OCCUPANCY_COUNTING_TOGGLE
این کنترل برای فعال یا غیرفعال کردن ویژگی شمارش افراد در یک اتاق استفاده میشود. تنظیم مقدار صفر (0) این ویژگی را غیرفعال و یک (1) این ویژگی را فعال میکند. اگر این ویژگی پشتیبانی نشود، دوربین نباید این کنترل را تعریف کند.
| انتخابگر کنترل | ۳ | |||
|---|---|---|---|---|
| عملیات | GET / SET | |||
wLength | ۱ | |||
| افست | میدان | اندازه | ارزش | توضیحات |
| 0 | bOccupancy | ۱ | بولی | تنظیم تابع شمارش تعداد افراد اشغال شده 0x00 خاموش کردن عملکرد 0x01 روشن کردن عملکرد |
رفتار انواع درخواستهای پشتیبانیشده به شرح زیر است:
| افست | 0 | توضیحات |
|---|---|---|
GET_CUR | در صورت روشن بودن شمارش تعداد نفرات، برگردید | |
GET_MIN | 0x00 | |
GET_MAX | 0x01 | |
GET_RES | 0x01 | |
GET_LEN | 0x0001 | |
GET_INFO | 0x0B | بهروزرسانی خودکار / نوشتن / خواندن |
GET_DEF | 0x00 | |
SET_CUR | فعال یا غیرفعال کردن ویژگی شمارش اشغال |
کنترل: GOOGXU_OCCUPANCY_COUNTING_READ
این کنترل برای خواندن تعداد شرکتکنندگان در یک اتاق که توسط دوربین گزارش شده است، زمانی که شمارش تعداد افراد فعال است، استفاده میشود. هنگامی که شمارش تعداد افراد غیرفعال است، دوربین باید این کنترل را غیرفعال کند. اگر شمارش تعداد افراد پشتیبانی نمیشود، دوربین نباید این کنترل را تعریف کند.
| انتخابگر کنترل | ۴ | |||
|---|---|---|---|---|
| عملیات | GET | |||
wLength | ۲ | |||
| افست | میدان | اندازه | ارزش | توضیحات |
| 0 | bNumPeople | ۲ | شماره | تعداد ساکنین شناساییشده در دید. (فقط خواندنی) |
رفتار انواع درخواستهای پشتیبانیشده به شرح زیر است:
| افست | 0 | توضیحات |
|---|---|---|
GET_CUR | تعداد سرنشینان شناسایی شده را برگردانید | |
GET_MIN | 0x0000 | |
GET_MAX | 0x00FF | |
GET_RES | 0x0001 | |
GET_LEN | 0x0002 | |
GET_INFO | 0x09 | بهروزرسانی خودکار / خواندن |
GET_DEF | 0x0000 |
تلهمتری و تشخیص دستگاه
این کنترلها برای تشویق شیوههای اشکالزدایی بهتر با سختافزار Meet در نظر گرفته شدهاند و معمولاً کاربرپسند نیستند.
کنترل: GOOGXU_STATUS_INFO
این کنترل برای پرس و جو اطلاعات از دوربین میزبان و به اشتراک گذاری آن با شرکا برای اشکال زدایی استفاده می شود.
| انتخابگر کنترل | ۵ | |||
|---|---|---|---|---|
| عملیات | GET | |||
wLength | ۸ | |||
| افست | میدان | اندازه | ارزش | توضیحات |
| 0 | bNumCameras | ۱ | شماره | تعداد ماهوارههای اضافی متصل به دوربین اصلی که ممکن است بر جریان دوربین که به میزبان بازگردانده میشود، تأثیر بگذارند. |
| ۱ | bIsMoving | ۱ | بیتمپ | وقتی دوربین بیکار است، ۰ و وقتی مقادیر PTZ آن تغییر میکند، غیر صفر است. فروشندگان میتوانند محورها یا موتورهای مختلف را به بیتهای مختلف نگاشت کنند. |
| ۲ | Undef | ۶ | نامشخص | در آینده تمدید شود. |
رفتار انواع درخواستهای پشتیبانیشده به شرح زیر است:
| افست | 0 | ۱ | ۲ | توضیحات |
|---|---|---|---|---|
GET_MIN | 0x00 | 0x00 | ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ | |
GET_MAX | 0xFF | 0xFF | ۰xFF ۰xFF ۰xFF ۰xFF ۰xFF ۰xFF | |
GET_RES | 0x01 | 0x01 | ۰x۰۱ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ | |
GET_LEN | 0x08 | 0x00 | 0x0008 | |
GET_INFO | 0x09 | بهروزرسانی خودکار / خواندن | ||
GET_DEF | 0x00 | 0x00 | ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ |
کنترل: GOOGXU_SATELLITE_INFO
این کنترل برای پرسوجو از دستگاههای ماهوارهای که به این سیستم دوربین متصل هستند، استفاده میشود.
| انتخابگر کنترل | 0x0A | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| عملیات | GET | |||||||||||
wLength | ۲۰ | |||||||||||
| افست | میدان | اندازه | ارزش | توضیحات | ||||||||
| 0 | bSatelliteList | ۲۰ | بیتمپ | فهرست انواع ماهوارههای متصل به سیستم. شامل چهار اسلات ۵ بایتی جداگانه است. هر یک از اسلاتها به شرح زیر است:
|
رفتار انواع درخواستهای پشتیبانیشده به شرح زیر است:
| افست | 0 | توضیحات |
|---|---|---|
GET_MIN | ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ | |
GET_MAX | ۰xFF ۰xFF ۰xFF ۰xFF ۰xFF ۰xFF ۰xFF ۰xFF ۰xFF ۰xFF ۰xFF ۰xFF ۰xFF ۰xFF ۰xFF ۰xFF ۰xFF ۰xFF ۰xFF ۰xFF | |
GET_RES | ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ | |
GET_LEN | 0x14 | ۲۰ بایت |
GET_INFO | 0x09 | بهروزرسانی خودکار / خواندن |
GET_DEF | ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ ۰x۰۰ |
کنترل: GOOGXU_STATUS_RESET
این کنترل برای صدور درخواست تنظیم مجدد به دوربین استفاده میشود. تنظیم مقدار یک (1) درخواست تنظیم مجدد دوربین را میدهد. اگر از آخرین تنظیم مجدد درخواستی برای راهاندازی مجدد دوربین نشده باشد، دوربین صفر (0) و اگر در حال تنظیم مجدد باشد، یک (1) را برمیگرداند. تنظیم مجدد باید باعث راهاندازی مجدد دوربین شود. (این مورد برای دستگاههای خودپرداز که در آنها قطع اتصال USB برای شبیهسازی اتصال داغ مفید نیست، مورد نیاز است.)
| انتخابگر کنترل | ۶ | |||
|---|---|---|---|---|
| عملیات | GET / SET | |||
wLength | ۱ | |||
| افست | میدان | اندازه | ارزش | توضیحات |
| 0 | bResetRequest | ۱ | بولی | درخواست تنظیم مجدد را به میزبان و دوربینهای متصل ارسال کنید. اگر درخواست بازنشانی از آخرین بازنشانی صادر شده باشد، مقدار 0x01 و در غیر این صورت 0x00 را برمیگرداند. |
رفتار انواع درخواستهای پشتیبانیشده به شرح زیر است:
| افست | 0 | توضیحات |
|---|---|---|
GET_MIN | 0x00 | |
GET_MAX | 0x01 | |
GET_RES | 0x01 | |
GET_LEN | 0x0001 | |
GET_INFO | 0x03 | نوشتن / خواندن |
GET_DEF | 0x00 |
ایستگاههای از پیش تنظیم شده PTZ
برای پیکربندی و بازیابی میدان دید دوربین به موقعیت از پیش تعیین شده استفاده میشود.
کنترل: GOOGXU_PRESETS
این کنترل برای تنظیم مقادیر حرکت افقی، عمودی و بزرگنمایی دوربین (PTZ) روی یک پیکربندی از پیش تعیین شده استفاده میشود.
« Preset Action برای بیان عمل مورد نظر دستور استفاده میشود. تنظیم مقدار یک (1) برای نگاشت مقادیر فعلی حرکت افقی، عمودی و بزرگنمایی به یک شاخص از پیش تعیینشده ارائه شده استفاده میشود. تنظیم مقدار دو (2) باید حرکت افقی، عمودی و بزرگنمایی دوربین را به مقادیر قبلاً نگاشت شده برای شاخص ارائه شده یا مختصات پیشفرض کارخانه (اگر قبلاً نگاشت نشده باشد) منتقل کند. تنظیم مقدار سه (3) شاخص را به مختصات پیشفرض کارخانه بازنشانی میکند.
Preset Index برای تعیین مختصات PTZ نگاشتشده به شاخص استفاده میشود. Preset index صفر (0) به مختصات خانه نگاشت میشود و باید موقعیت پیشفرض دوربین در هنگام بیدار شدن باشد، زمانی که GOOGXU_FRAME_STRATEGY روی NONE تنظیم شده باشد.
| انتخابگر کنترل | ۷ | |||
|---|---|---|---|---|
| عملیات | SET | |||
wLength | ۲ | |||
| افست | میدان | اندازه | ارزش | توضیحات |
| 0 | bPresetAction | ۱ | شماره | 0x01: ذخیره تنظیمات از پیش تعیینشده 0x02: بازیابی تنظیمات از پیش تعیینشده 0x03: تنظیم پیشفرض را به حالت پیشفرض برمیگرداند. (پیشفرض باید یک مختصات از پیش تعیینشده معتبر باشد.) |
| ۱ | bPresetIndex | ۱ | شماره | شاخص از پیش تعیینشدهی فعال. 0~N-1 که در آن 0 به عنوان موقعیت شروع پیشفرض دوربین در نظر گرفته میشود و N-1 یک ثابت تعریف شده توسط فروشنده برای تعداد تنظیمات از پیش تعیین شده است. |
رفتار انواع درخواستهای پشتیبانیشده به شرح زیر است:
| افست | 0 | ۱ | توضیحات |
|---|---|---|---|
GET_MIN | 0x00 | 0x00 | |
GET_MAX | 0x03 | ن-۱ | حداکثر تعداد ایستگاه از پیش تنظیم شده پشتیبانی میشود |
GET_RES | 0x01 | 0x01 | |
GET_LEN | 0x02 | 0x00 | 0x0002 |
GET_INFO | 0x02 | فقط بنویس | |
GET_DEF | 0x00 | 0x00 |
نقشه برداری کمکی پن و تیلت
بعضی از دوربینها اجزای خاصی دارند، مانند موتورهای دوربینهای مکانیکی یا قابلیتهای PTZ دیجیتال. برای این موارد، از کنترلهای استاندارد V4L2 برای چرخش افقی، عمودی و زوم استفاده کنید.
کنترل: GOOGXU_PAN_TILT_ABSOLUTE (منسوخ شده)
کنترلهای کمکی نقشهبرداری Pan و Tilt در فصل 4 تعریف شدهاند: درخواستهای خاص کلاس، بخش 4.2.2.1.14 کنترل PanTilt (مطلق) از مشخصات کلاس UVC 1.5 .
کنترل: GOOGXU_PAN_TILT_RELATIVE (منسوخ شده)
کنترلهای کمکی نقشهبرداری Pan و Tilt در فصل 4 تعریف شدهاند: درخواستهای خاص کلاس، بخش 4.2.2.1.15 کنترل PanTilt (نسبی) از مشخصات کلاس UVC 1.5 .
مباحث مرتبط
- درایور کلاس ویدیوی USB لینوکس (UVC)
- مجموعه اسناد کلاس ویدیویی نسخه ۱.۵
- مشخصات یواسبی ۲.۰
- مرکز راهنمای سختافزار گوگل میت
- بخش سختافزار گوگل میت از مرکز راهنمای مدیریت گوگل ورکاسپیس
یادداشتهای انتشار
این یادداشتهای انتشار، بهبودها و ویژگیهای جدید را در هر ویرایش از این سند منعکس میکنند.
۱۳ آگوست ۲۰۲۵
- جزئیات مرکز آزمایش اصلاح شد.
۲۷ ژانویه ۲۰۲۵
- استراتژی فریمبندی
Vendor-preferredبهGOOGXU_FRAME_STRATEGYاضافه شد. - کنترل جدید اضافه شد:
GOOGXU_SATELLITE_INFO.
۲۱ مه ۲۰۲۴
- اسکریپت تست به نفع مرکز تست جدید CfM حذف شد، که
SETرا اجرا میکند و همچنین از اعتبارسنجی دوربینهای سری یک پشتیبانی میکند. - فیلدهای واضح در
GOOGXU_STATUS_INFO. - رفتار
GOOGXU_STATUS_RESETشفافسازی شده است. -
GOOGXU_PAN_TILT_ABSOLUTEوGOOGXU_PAN_TILT_RELATIVEمنسوخ شدهاند.
۱۵ نوامبر ۲۰۲۳
اسکریپت تست بهروزرسانی شده برای بررسی و تفسیر حالتهای فریمبندی معتبر. نمایش بایتها شفافسازی شده.
۲۱ ژوئیه ۲۰۲۳
اسکریپت آزمایشی برای شرکا اضافه شد تا پیادهسازیها را برای انطباق با این مشخصات اعتبارسنجی کند.
۲۵ مه ۲۰۲۳
نکتهی GOOGXU_PRESETS در مورد تعداد ایستگاههای از پیش تنظیم شده اصلاح شد. باید N باشد، نه N-1.
۱۷ آوریل ۲۰۲۳
انتشار اولیه.