इस दस्तावेज़ में, काम करने वाले यूएसबी वीडियो क्लास एक्सटेंशन यूनिट (XU) एपीआई के बारे में बताया गया है. इनका इस्तेमाल, Google Meet के कॉन्फ़्रेंस सिस्टम में बेहतर कैमरे की सुविधाओं को चालू करने के लिए किया जाता है. इस स्पेसिफ़िकेशन को बनाने का मकसद, इन सुविधाओं को चालू करने के लिए, काम करने के तरीकों पर असर डालना है. साथ ही, हमारे पार्टनर के लिए, बेहतर तरीके से स्केल करने और टेस्ट करने की सुविधा देना है.
इस दस्तावेज़ में हुए नए बदलावों के बारे में जानने के लिए, रिलीज़ के नोट पर जाएं.
टेस्ट करने की सुविधा
पार्टनर इस स्पेसिफ़िकेशन का पालन कर रहे हैं या नहीं, इसकी पुष्टि करने में मदद करने के लिए, हम डेवलपर मोड में सेट किए गए Chromebox-for-Meetings डिवाइसों में टेस्ट करने की सुविधा उपलब्ध कराते हैं.
फ़ाइल सिस्टम में लिखने की सुविधा चालू करें.
/etc/chrome_dev.conf
में ये लाइनें जोड़ें:
--enable-logging
--log-level=0
डिवाइस को रीस्टार्ट करें, कैमरे और यूएसबी कीबोर्ड को कनेक्ट करें, Ctrl-Alt-X
दबाएं. इसके बाद, चालू कैमरे के स्पेसिफ़िकेशन का पालन किया जाएगा और /home/chronos/user/log/chrome
में लॉग किया जाएगा.
लिटल-इंडियन कॉन्वेंशन
यूएसबी, लिटल-एंडियन स्टैंडर्ड है. इस दस्तावेज़ में:
- कई बाइट वाले नंबर, बिग-एंडियन में दिखते हैं और लिटल-एंडियन में ट्रांसमिट किए जाते हैं.
- बाइट ऐरे, लिटल-इंडियन मेमोरी लेआउट में होते हैं.
उदाहरण के लिए, 0x12345678
और [0x78, 0x56, 0x34, 0x12]
एक ही हैं.
एक्सटेंशन यूनिट का जीयूआईडी
Meet XU कंट्रोल स्पेसिफ़िकेशन के साथ काम करने वाली एक्सटेंशन यूनिट को इस GUID का इस्तेमाल करना होगा.
एक्सटेंशन यूनिट | 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 क्लास स्पेसिफ़िकेशन के चौथे चैप्टर: क्लास के हिसाब से अनुरोध में बताए गए हैं.
कार्रवाई | यूवीसी कंट्रोल |
---|---|
GET |
GET_CUR , GET_MIN , GET_MAX , GET_RES , GET_LEN , GET_INFO , GET_DEF |
SET |
SET_CUR |
कैमरे के मोड
कैमरा मोड का इस्तेमाल, मीटिंग रूम में मौजूद लोगों को फ़्रेम करने के लिए किया जाता है. ये मोड tuple
इनमें से किसी एक के तौर पर काम करते हैं:
- रणनीति (कैमरा व्यू)
- बायस (स्पीकर या रूम)
- फ़ीड (एक या एक से ज़्यादा स्ट्रीम)
हर डाइमेंशन में, नीचे दिए गए सेक्शन में बताई गई वैल्यू हो सकती हैं.
ऑटो-फ़्रेमिंग की रणनीति
ऑटोमैटिक फ़्रेमिंग के सभी मोड में, मैन्युअल पैन, झुकाव, और ज़ूम करने की सुविधा बंद रहती है. हालांकि, "कोई नहीं" मोड में यह सुविधा काम करती है.
सुविधा | ब्यौरा |
---|---|
कोई नहीं | कैमरा, फ़्रेमिंग की सभी बेहतर सुविधाओं को बंद कर देता है. साथ ही, क्लाइंट को PTZ वैल्यू को आसानी से कंट्रोल करने की अनुमति देता है. ध्यान दें: फ़्रेमिंग की इस रणनीति को सेट करने पर, कैमरा अपनी मौजूदा पैन, झुकने, और ज़ूम करने की पोज़िशन में बना रहता है. |
लगातार फ़्रेम में रखने की सुविधा (सीएज़) | फ़्रेमिंग बायस के आधार पर, कैमरा कमरे में मौजूद लोगों को लगातार ट्रैक करता है. |
स्प्लिट फ़्रेम | कैमरा ज़रूरत के हिसाब से वीडियो व्यू बनाता है. फ़ीड को अपने-आप फ़्रेम करने के विकल्प के आधार पर, यह उन्हें एक ही स्ट्रीम में टाइल में जोड़ता है या हर व्यू के लिए अलग-अलग वीडियो स्ट्रीम बनाता है. |
डाइनैमिक व्यू | एक या उससे ज़्यादा कैमरे, कमरे का सबसे अच्छा व्यू देने की कोशिश करते हैं. यह तय किया जा सकता है कि एक से ज़्यादा फ़ीड को एक में जोड़ना है या नहीं या मौजूदा रूम का "दिलचस्प" व्यू दिखाना है. इस व्यू का मकसद, कॉल में शामिल सभी लोगों को एक जैसा व्यू देना है. |
वेंडर की पसंद के मुताबिक | कैमरा सिस्टम, कमरे का सबसे अच्छा व्यू तय करने के लिए अपने लॉजिक का इस्तेमाल करता है. फ़्रेमिंग की बुनियादी रणनीति में, बिना किसी सूचना के बदलाव किए जा सकते हैं. उदाहरण के लिए, अगर रूम में मौजूद लोगों की संख्या में बदलाव होता है या कैमरा "ज़्यादा अहम जानकारी देने वाले प्रज़ेंटर" और "साथ मिलकर काम करने" वाली मीटिंग के बीच का अंतर पता लगा सकता है, तो सिस्टम इस मोड में फ़्रेमिंग की रणनीति को अपने हिसाब से बदल सकता है. इस मोड में, getCur को कॉल करने पर VENDOR_PREFERRED दिखना चाहिए, न कि सिस्टम से चुना गया फ़्रेमिंग मोड. |
ऑटो-फ़्रेमिंग में पक्षपात
सुविधा | ब्यौरा |
---|---|
हाई-स्टेक प्रेज़ेंटर (स्पीकर ट्रैकिंग) | कैमरा, कमरे में बोलने वाले व्यक्ति को फ़्रेम में लाने की कोशिश करता है. इस स्थिति में, कैमरे को प्रज़ेंटर की तरफ़ होना चाहिए. उदाहरण के लिए, बोर्डरूम में सीईओ प्रज़ेंटेशन दे रहा है. |
साथ मिलकर काम करना (रूम ट्रैकिंग) |
कैमरा, कमरे में मौजूद सभी लोगों को फ़्रेम में शामिल करने की कोशिश करता है. इस स्थिति में, कैमरे को हर व्यक्ति को एक जैसा दिखाना चाहिए. |
ऑटो-फ़्रेमिंग वाले फ़ीड
सुविधा | ब्यौरा |
---|---|
सिंगल-स्ट्रीम | कैमरा, होस्ट डिवाइस पर एक वीडियो स्ट्रीम भेजता है. |
मल्टी-स्ट्रीम (अभी काम जारी है) |
कैमरा, स्ट्रीम को अलग-अलग हिस्सों में बांटता है और होस्ट को भेजने के लिए कई वीडियो स्ट्रीम बनाता है. ध्यान दें: इस सुविधा की पूरी जानकारी और इसके काम करने के तरीके की समीक्षा बाकी है. इस दस्तावेज़ में बाद में किए गए बदलावों तक, यह सुविधा काम नहीं करेगी. |
ऑटो-फ़्रेमिंग मोड की बिटमैप वैल्यू
None
की डिफ़ॉल्ट स्थिति को खाली बाइट ऐरे से दिखाया जाता है. इसके अलावा, बाइट ऐरे में मौजूद हर बिट, कैमरे के किसी अलग मोड को दिखाता है. यह मोड, ऑटो-फ़्रेमिंग की रणनीति, ऑटो-फ़्रेमिंग के लिए बायस, और ऑटो-फ़्रेमिंग फ़ीड का खास कॉम्बिनेशन होता है.
ऑटो-फ़्रेमिंग वाले फ़ीड | CAZ | स्प्लिट-फ़्रेम | डाइनैमिक | वेंडर की पसंद के मुताबिक | ऑटो-फ़्रेमिंग में पक्षपात |
---|---|---|---|---|---|
सिंगल-स्ट्रीम | D1 D2 |
- D3 |
D5 D7 |
D9 (स्पीकर या रूम) | स्पीकर रूम |
मल्टी-स्ट्रीम | - - |
- D4 |
D6 D8 |
- | स्पीकर रूम |
फ़्रेम मोड | फ़्रेम मोड की वैल्यू (सबसे कम अहम बाइट) |
---|---|
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
कमांड, आठ बाइट का बिटमास्क दिखाता है. इसमें वैल्यू शून्य (0) या एक (1) होती है. इससे पता चलता है कि डिवाइस पर सुविधा काम करती है या नहीं. उदाहरण के लिए, अगर कोई कैमरा CAZ, Speaker, Single-Stream
, Split-Frame, Room, Single-Stream
, और Dynamic, Room, Multi-Stream
मोड के साथ काम करता है, लेकिन किसी दूसरे मोड के साथ नहीं, तो GET_RES
से 0x000000000000000085 (यानी 0b10000101
के बाद सात शून्य बाइट) दिखना चाहिए.
SET_CUR
कमांड का इस्तेमाल, बिटमैप भेजने के लिए किया जाता है, ताकि कैमरे को यह बताया जा सके कि सिंगल कैमरा मोड किस तरह का चालू करना है.
कंट्रोल सिलेक्टर | 1 | |||
---|---|---|---|---|
कार्रवाई | GET / SET |
|||
wLength |
8 | |||
ऑफ़सेट | फ़ील्ड | साइज़ | मान | ब्यौरा |
0 | bActiveMode |
8 | बिटमैप | ऐक्टिव कैमरा मोड सेट करना या उस पर वापस जाना |
ध्यान दें:
|
काम करने वाले अनुरोध टाइप का व्यवहार इस तरह का होता है:
ऑफ़सेट | 0 | ब्यौरा |
---|---|---|
GET_CUR |
ऐक्टिव फ़्रेमिंग कैमरा मोड का इस्तेमाल करना | |
GET_MIN |
कैमरे पर निर्भर | |
GET_MAX |
कैमरे पर निर्भर | |
GET_RES |
कैमरे के काम करने वाले मोड का आठ बाइट लंबा बिटमास्क दिखाता है | |
GET_LEN |
0x0008 | लंबाई |
GET_INFO |
0x0B | अपने-आप अपडेट होना / लिखना / पढ़ना |
GET_DEF |
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 |
डिफ़ॉल्ट वैल्यू |
SET_CUR |
ऐक्टिव फ़्रेमिंग कैमरा मोड सेट करना |
कंट्रोल: GOOGXU_REFRAME
इस कंट्रोल का इस्तेमाल, एक बार में फ़्रेम करने की सुविधा को ट्रिगर करने के लिए किया जाता है. इसे ओटीएज़ भी कहा जाता है. जब OTAZ ट्रिगर होता है, तो कैमरे का व्यू रूम के सबसे अच्छे हिस्से पर स्नैप हो जाता है. इसके बाद, क्लाइंट को फिर से PTZ वैल्यू कंट्रोल करने की सुविधा मिल जाती है. अगर कैमरे पर एक बार में फ़्रेम तय करने की सुविधा काम नहीं करती, तो कैमरे को यह कंट्रोल नहीं दिखाना चाहिए.
कंट्रोल सिलेक्टर | 2 | |||
---|---|---|---|---|
कार्रवाई | SET |
|||
wLength |
1 | |||
ऑफ़सेट | फ़ील्ड | साइज़ | मान | ब्यौरा |
0 | bReframe |
1 | नंबर | 0x01 रीफ़्रेम करने का अनुरोध पूरा करना |
काम करने वाले अनुरोध टाइप का व्यवहार इस तरह का होता है:
ऑफ़सेट | 0 | ब्यौरा |
---|---|---|
GET_MIN |
0x00 | |
GET_MAX |
0x01 | |
GET_RES |
0x01 | |
GET_LEN |
0x0001 | |
GET_INFO |
0x02 | सिर्फ़ लिखने के लिए |
GET_DEF |
0x00 | |
SET_CUR |
वन-शॉट फ़्रेमिंग के लिए अनुरोध सेट करना |
जगह में मौजूद लोगों की संख्या का पता लगाना
मीटिंग में हिस्सा लेने वाले लोगों की संख्या का अनुमान लगाने के लिए, ऑक्युपेंसी काउंटिंग (ओसी) सुविधा का इस्तेमाल किया जाता है. भले ही, कैमरे का व्यू काटा गया हो.
इस टेबल में, OC कंट्रोल के काम करने का तरीका और कैमरे की वीडियो स्ट्रीम और कैमरे के एलईडी इंडिकेटर के साथ उनके इंटरैक्शन के बारे में बताया गया है.
जब बुकिंग की संख्या | & कैमरे की वीडियो स्ट्रीम: | कैमरे का एलईडी इंडिकेटर | GOOGXU_OCCUPANCY_COUNTING_TOGGLE GET_CUR |
GOOGXU_OCCUPANCY_COUNTING_READ GET_CUR |
---|---|---|---|---|
चालू की गई | स्ट्रीमिंग न की जा रही हो और म्यूट न किया गया हो | चालू | 0x01 |
कैमरे के फ़ील्ड ऑफ़ व्यू में दिखने वाले लोगों की संख्या. |
चालू की गई | स्ट्रीमिंग | चालू | 0x01 |
कैमरे के फ़ील्ड ऑफ़ व्यू में दिखने वाले लोगों की संख्या. |
चालू की गई | म्यूट किया गया | बंद है | 0x01 |
बंद की गई |
बंद की गई | स्ट्रीमिंग न की जा रही हो और म्यूट न किया गया हो | बंद है | 0x00 |
बंद की गई |
बंद की गई | स्ट्रीमिंग | चालू | 0x00 |
बंद की गई |
बंद की गई | म्यूट किया गया | बंद है | 0x00 |
बंद की गई |
कंट्रोल: GOOGXU_OCCUPANCY_COUNTING_TOGGLE
इस कंट्रोल का इस्तेमाल, कमरे में मौजूद लोगों की गिनती करने की सुविधा को चालू या बंद करने के लिए किया जाता है. शून्य (0) की वैल्यू सेट करने पर, यह सुविधा बंद हो जाती है और एक (1) की वैल्यू सेट करने पर, यह सुविधा चालू हो जाती है. अगर यह सुविधा काम नहीं करती है, तो कैमरे को इस कंट्रोल की जानकारी नहीं देनी चाहिए.
कंट्रोल सिलेक्टर | 3 | |||
---|---|---|---|---|
कार्रवाई | GET / SET |
|||
wLength |
1 | |||
ऑफ़सेट | फ़ील्ड | साइज़ | मान | ब्यौरा |
0 | bOccupancy |
1 | बूलियन | लोगों की संख्या की गिनती करने की सुविधा सेट करें 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
इस कंट्रोल का इस्तेमाल, कमरे में मौजूद लोगों की संख्या जानने के लिए किया जाता है. यह संख्या, कैमरे से मिलती है. हालांकि, इसके लिए यह ज़रूरी है कि कमरे में मौजूद लोगों की संख्या गिनने की सुविधा चालू हो. अगर लोगों की संख्या गिनने की सुविधा बंद है, तो कैमरे को यह कंट्रोल बंद करना चाहिए. अगर कैमरे में लोगों की संख्या का पता लगाने की सुविधा काम नहीं करती, तो कैमरे को यह कंट्रोल नहीं देना चाहिए.
कंट्रोल सिलेक्टर | 4 | |||
---|---|---|---|---|
कार्रवाई | GET |
|||
wLength |
2 | |||
ऑफ़सेट | फ़ील्ड | साइज़ | मान | ब्यौरा |
0 | bNumPeople |
2 | नंबर | वीडियो में मौजूद लोगों की संख्या. (केवल पठन) |
काम करने वाले अनुरोध टाइप का व्यवहार इस तरह का होता है:
ऑफ़सेट | 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
इस कंट्रोल का इस्तेमाल, होस्ट कैमरे से जानकारी पाने के लिए किया जाता है, ताकि उसे डीबग करने के लिए पार्टनर के साथ शेयर किया जा सके.
कंट्रोल सिलेक्टर | 5 | |||
---|---|---|---|---|
कार्रवाई | GET |
|||
wLength |
8 | |||
ऑफ़सेट | फ़ील्ड | साइज़ | मान | ब्यौरा |
0 | bNumCameras |
1 | नंबर | मुख्य कैमरे से जुड़े अतिरिक्त सैटलाइट की संख्या, जिनसे होस्ट को मिलने वाली कैमरा स्ट्रीम पर असर पड़ सकता है. |
1 | bIsMoving |
1 | बिटमैप | कैमरा के खाली होने पर 0 और PTZ वैल्यू बदलने पर नॉन-ज़ीरो. वेंडर, अलग-अलग ऐक्सिस या मोटर को अलग-अलग बिट पर मैप कर सकते हैं. |
2 | Undef |
6 | Undef | आने वाले समय में इसे बढ़ाया जाएगा. |
काम करने वाले अनुरोध टाइप का व्यवहार इस तरह का होता है:
ऑफ़सेट | 0 | 1 | 2 | ब्यौरा |
---|---|---|---|---|
GET_MIN |
0x00 | 0x00 | 0x00 0x00 0x00 0x00 0x00 0x00 |
|
GET_MAX |
0xFF | 0xFF | 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF |
|
GET_RES |
0x01 | 0x01 | 0x01 0x00 0x00 0x00 0x00 0x00 |
|
GET_LEN |
0x08 | 0x00 | 0x0008 | |
GET_INFO |
0x09 | अपने-आप अपडेट होना / पढ़ना | ||
GET_DEF |
0x00 | 0x00 | 0x00 0x00 0x00 0x00 0x00 0x00 |
कंट्रोल: GOOGXU_SATELLITE_INFO
इस कंट्रोल का इस्तेमाल, इस कैमरा सिस्टम से कनेक्ट किए गए सैटलाइट डिवाइसों से क्वेरी करने के लिए किया जाता है.
कंट्रोल सिलेक्टर | 0x0A | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
कार्रवाई | GET |
|||||||||||
wLength |
20 | |||||||||||
ऑफ़सेट | फ़ील्ड | साइज़ | मान | ब्यौरा | ||||||||
0 | bSatelliteList |
20 | बिटमैप | सिस्टम से जुड़े सैटलाइट टाइप की सूची. इसमें पांच बाइट वाले चार अलग-अलग स्लॉट शामिल हैं. हर स्लॉट के बारे में यहां बताया गया है:
|
काम करने वाले अनुरोध टाइप का व्यवहार इस तरह का होता है:
ऑफ़सेट | 0 | ब्यौरा |
---|---|---|
GET_MIN |
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 |
|
GET_MAX |
0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF |
|
GET_RES |
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 |
|
GET_LEN |
0x14 | 20 बाइट |
GET_INFO |
0x09 | अपने-आप अपडेट होना / पढ़ना |
GET_DEF |
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 |
कंट्रोल: GOOGXU_STATUS_RESET
इस कंट्रोल का इस्तेमाल, कैमरे को रीसेट करने का अनुरोध करने के लिए किया जाता है. वैल्यू को एक (1) पर सेट करने से, कैमरे को रीसेट करने का अनुरोध किया जाता है. अगर पिछले रीसेट के बाद, कैमरे को फिर से चालू करने का कोई अनुरोध नहीं किया गया है, तो कैमरा शून्य (0) दिखाता है. अगर कैमरा रीसेट हो रहा है, तो एक (1) दिखाता है. रीसेट करने पर, कैमरा रीबूट होना चाहिए. (यह उन डिवाइसों के लिए ज़रूरी है जिनमें बैटरी होती है. ऐसे डिवाइसों में, यूएसबी को हॉटप्लग के तौर पर इस्तेमाल करने के लिए, यूएसबी को जबरदस्ती डिसकनेक्ट करना काम का नहीं होता.)
कंट्रोल सिलेक्टर | 6 | |||
---|---|---|---|---|
कार्रवाई | GET / SET |
|||
wLength |
1 | |||
ऑफ़सेट | फ़ील्ड | साइज़ | मान | ब्यौरा |
0 | bResetRequest |
1 | बूलियन | होस्ट और कनेक्ट किए गए कैमरों को रीसेट करने का अनुरोध करें. अगर पिछले रीसेट के बाद रीसेट करने का अनुरोध किया गया है, तो यह 0x01 दिखाता है. अगर ऐसा नहीं है, तो यह 0x00 दिखाता है. |
इस्तेमाल किए जा सकने वाले अनुरोध टाइप का व्यवहार इस तरह का होता है:
ऑफ़सेट | 0 | ब्यौरा |
---|---|---|
GET_MIN |
0x00 | |
GET_MAX |
0x01 | |
GET_RES |
0x01 | |
GET_LEN |
0x0001 | |
GET_INFO |
0x03 | लिखें / पढ़ें |
GET_DEF |
0x00 |
पीटीज़ी प्रीसेट
इसका इस्तेमाल, कैमरे के फ़ील्ड ऑफ़ व्यू (कैमरे से दिखने वाला व्यू) को कॉन्फ़िगर करने और उसे पहले से तय की गई पोज़िशन पर वापस लाने के लिए किया जाता है.
कंट्रोल: GOOGXU_PRESETS
इस कंट्रोल का इस्तेमाल, कैमरे के पैन, झुकाव, और ज़ूम (पीटीज़) की वैल्यू को पहले से तय किए गए कॉन्फ़िगरेशन पर सेट करने के लिए किया जाता है.
Preset Action
का इस्तेमाल, कमांड की टारगेट की गई कार्रवाई बताने के लिए किया जाता है. एक (1) की वैल्यू सेट करने का इस्तेमाल, मौजूदा पैन, टिल्ट, और ज़ूम वैल्यू को दिए गए प्रीसेट इंडेक्स पर मैप करने के लिए किया जाता है. दो (2) की वैल्यू सेट करने पर, कैमरे के पैन, झुकाव, और ज़ूम को दिए गए इंडेक्स के लिए, पहले से मैप की गई वैल्यू पर ट्रांज़िशन करना चाहिए. अगर पहले से मैप नहीं किया गया है, तो डिफ़ॉल्ट फ़ैक्ट्री निर्देशांक पर ट्रांज़िशन करना चाहिए. तीन (3) की वैल्यू सेट करने पर, इंडेक्स को फ़ैक्ट्री डिफ़ॉल्ट निर्देशांक पर रीसेट कर दिया जाता है.
Preset Index
का इस्तेमाल, इंडेक्स से मैप किए गए PTZ कोऑर्डिनेट की जानकारी देने के लिए किया जाता है.
शून्य (0) का Preset index
, होम कोऑर्डिनेट पर मैप किया जाता है. साथ ही, GOOGXU_FRAME_STRATEGY
को NONE
पर सेट करने पर, कैमरे के चालू होने पर यह डिफ़ॉल्ट पोज़िशन होनी चाहिए.
कंट्रोल सिलेक्टर | 7 | |||
---|---|---|---|---|
कार्रवाई | SET |
|||
wLength |
2 | |||
ऑफ़सेट | फ़ील्ड | साइज़ | मान | ब्यौरा |
0 | bPresetAction |
1 | नंबर | 0x01: प्रीसेट सेव करें 0x02: प्रीसेट को वापस लाएं 0x03: प्रीसेट को डिफ़ॉल्ट पर रीसेट करें. (डिफ़ॉल्ट रूप से, कोई मान्य प्रीसेट कोऑर्डिनेट होना चाहिए.) |
1 | bPresetIndex |
1 | नंबर | चालू प्रीसेट का इंडेक्स. 0~N-1 यहां 0 को कैमरे की डिफ़ॉल्ट शुरुआती स्थिति माना जाता है और N-1, प्रीसेट की संख्या के लिए वेंडर की ओर से तय किया गया एक कॉन्स्टेंट होता है. |
काम करने वाले अनुरोध टाइप का व्यवहार इस तरह का होता है:
ऑफ़सेट | 0 | 1 | ब्यौरा |
---|---|---|---|
GET_MIN |
0x00 | 0x00 | |
GET_MAX |
0x03 | N-1 | N मैक्स प्रीसेट काम करते हैं |
GET_RES |
0x01 | 0x01 | |
GET_LEN |
0x02 | 0x00 | 0x0002 |
GET_INFO |
0x02 | सिर्फ़ लिखने के लिए | |
GET_DEF |
0x00 | 0x00 |
पैन और झुकाने की सुविधा वाली सहायक मैपिंग
कुछ कैमरों में खास कॉम्पोनेंट होते हैं. जैसे, मैकेनिकल कैमरों के लिए मोटर या डिजिटल पीटीज़ (पैनोरमा, टिल्ट, और ज़ूम) की सुविधाएं. इनके लिए, पैन, टिल्ट, और ज़ूम करने के लिए, स्टैंडर्ड V4L2 कंट्रोल का इस्तेमाल करें.
कंट्रोल: GOOGXU_PAN_TILT_ABSOLUTE
(अब काम नहीं करता)
पैन और टिल्ट के सहायक मैपिंग कंट्रोल, UVC 1.5 क्लास स्पेसिफ़िकेशन के चैप्टर 4: क्लास के हिसाब से अनुरोध सेक्शन 4.2.2.1.14 पैनटिल्ट (एब्सोल्यूट) कंट्रोल में बताए गए हैं.
कंट्रोल: GOOGXU_PAN_TILT_RELATIVE
(अब काम नहीं करता)
पैन और टिल्ट के सहायक मैपिंग कंट्रोल, UVC 1.5 क्लास स्पेसिफ़िकेशन के चैप्टर 4: क्लास के हिसाब से अनुरोध सेक्शन 4.2.2.1.15 पैनटिल्ट (रिलेटिव) कंट्रोल में बताए गए हैं.
मिलते-जुलते विषय
- Linux USB वीडियो क्लास (UVC) ड्राइवर
- वीडियो क्लास v1.5 दस्तावेज़ सेट
- यूएसबी 2.0 का स्पेसिफ़िकेशन
- Google Meet हार्डवेयर का सहायता केंद्र
- Google Workspace एडमिन सहायता केंद्र का Google Meet हार्डवेयर सेक्शन
प्रॉडक्ट की जानकारी
रिलीज़ नोट में, इस दस्तावेज़ के हर बदलाव में किए गए सुधार और नई सुविधाओं के बारे में बताया गया है.
27 जनवरी, 2025
GOOGXU_FRAME_STRATEGY
में, फ़्रेमिंग की रणनीतिVendor-preferred
जोड़ी गई.- नया कंट्रोल जोड़ा गया:
GOOGXU_SATELLITE_INFO
.
21 मई, 2024
- CfM टेस्ट की नई सुविधा के लिए, टेस्ट स्क्रिप्ट हटा दी गई है. यह सुविधा
SET
का इस्तेमाल करती है. साथ ही, यह सीरीज़ वन कैमरों की पुष्टि करने की सुविधा भी देती है. GOOGXU_STATUS_INFO
में फ़ील्ड के बारे में जानकारी दी गई.GOOGXU_STATUS_RESET
के व्यवहार के बारे में साफ़ तौर पर बताया गया.GOOGXU_PAN_TILT_ABSOLUTE
औरGOOGXU_PAN_TILT_RELATIVE
का इस्तेमाल बंद कर दिया गया है.
15 नवंबर, 2023
फ़्रेमिंग के मान्य मोड की जांच करने और उनके बारे में जानकारी देने के लिए, अपडेट की गई टेस्ट स्क्रिप्ट. बाइट के बारे में जानकारी को साफ़ तौर पर बताया गया.
21 जुलाई, 2023
पार्टनर के लिए टेस्ट स्क्रिप्ट जोड़ी गई, ताकि इस स्पेसिफ़िकेशन का पालन करने के लिए, लागू किए गए निर्देशों की पुष्टि की जा सके.
25 मई, 2023
प्रीसेट की संख्या के बारे में GOOGXU_PRESETS
बने नोट को ठीक किया गया. यह N होना चाहिए, N-1 नहीं.
17 अप्रैल, 2023
शुरुआती रिलीज़.