এই ডকুমেন্টটিতে গুগল মিট কনফারেন্স সিস্টেম দ্বারা ব্যবহৃত সমর্থিত ইউএসবি ভিডিও ক্লাস এক্সটেনশন ইউনিট (XU) এপিআই-গুলোর রূপরেখা দেওয়া হয়েছে, যা ইন্টেলিজেন্ট ক্যামেরা ফিচারগুলো সক্রিয় করতে ব্যবহৃত হয়। এই স্পেসিফিকেশনটি তৈরির উদ্দেশ্য হলো এই ফিচারগুলো সক্রিয় করার পদ্ধতিকে প্রভাবিত করা এবং আমাদের পার্টনারদের জন্য আরও ভালো অ্যাসিঙ্ক্রোনাস স্কেলেবিলিটি ও টেস্টিং-এর সুযোগ করে দেওয়া।
এই নথির সর্বশেষ পরিবর্তনগুলো সম্পর্কে বিস্তারিত জানতে, রিলিজ নোট- এ যান।
পরীক্ষার সুবিধা
অংশীদারদের এই স্পেসিফিকেশনের সাথে সম্মতি যাচাই করতে সাহায্য করার জন্য, আমরা ডেভেলপার মোডে সেট করা Chromebox-for-Meetings ডিভাইসগুলিতে একটি পরীক্ষার সুবিধা প্রদান করি। ফাইলসিস্টেমে লেখা সক্ষম করুন। /etc/chrome_dev.conf এ নিম্নলিখিত লাইনগুলি যোগ করুন:
--enable-logging
--log-level=0
ডিভাইসটি রিস্টার্ট করুন, ক্যামেরা এবং একটি ইউএসবি কিবোর্ড সংযোগ করুন, Ctrl-Alt-X চাপুন, এবং সক্রিয় ক্যামেরার স্পেক কমপ্লায়েন্স যাচাই করা হবে ও /var/log/chrome/chrome এ লগ করা হবে (যদি সাইনড ইমেজ ব্যবহার করেন তবে /home/chronos/user/log/chrome )।
লিটল-এন্ডিয়ান কনভেনশন
USB একটি লিটল-এন্ডিয়ান স্ট্যান্ডার্ড। এই ডকুমেন্টের মধ্যে:
- একাধিক বাইটের সংখ্যা বিগ-এন্ডিয়ান হিসেবে প্রদর্শিত হয় (এবং লিটল-এন্ডিয়ান হিসেবে প্রেরিত হয়)।
- বাইট অ্যারেগুলো লিটল-এন্ডিয়ান মেমরি লেআউটে থাকে।
উদাহরণস্বরূপ, 0x12345678 হলো [0x78, 0x56, 0x34, 0x12] এর সমান।
এক্সটেনশন ইউনিট GUID
যে এক্সটেনশন ইউনিটগুলো এই Meet XU কন্ট্রোল স্পেসিফিকেশন সমর্থন করে, সেগুলোকে অবশ্যই এই GUID ব্যবহার করতে হবে।
| সম্প্রসারণ ইউনিট | GUID |
|---|---|
| পেরিফেরাল কন্ট্রোল XU | {74D7E924-49C9-4A45-98A3-8A9F60061E83} |
পেরিফেরাল নিয়ন্ত্রণ XU নির্বাচক
এগুলো হলো নির্ধারিত পেরিফেরাল কন্ট্রোল XU সিলেক্টর।
| নিয়ন্ত্রণ নির্বাচক | মূল্য |
|---|---|
GOOGXU_FRAME_STRATEGY | ০x০১ |
GOOGXU_REFRAME | ০x০২ |
GOOGXU_OCCUPANCY_COUNTING_TOGGLE | ০x০৩ |
GOOGXU_OCCUPANCY_COUNTING_READ | ০x০৪ |
GOOGXU_STATUS_INFO | ০x০৫ |
GOOGXU_STATUS_RESET | ০x০৬ |
GOOGXU_PRESETS | ০x০৭ |
GOOGXU_PAN_TILT_ABSOLUTE | ০x০৮ |
GOOGXU_PAN_TILT_RELATIVE | ০x০৯ |
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 মোডের সমষ্টি:
- কৌশল (ক্যামেরা ভিউ)
- পক্ষপাত (বক্তা বা কক্ষ)
- ফিড (একক বা একাধিক স্ট্রিম)
প্রতিটি মাত্রা নিম্নলিখিত বিভাগগুলিতে বর্ণিত মানগুলি গ্রহণ করতে পারে।
স্বয়ংক্রিয়-ফ্রেমিং কৌশল
'None' ছাড়া অন্য সব স্বয়ংক্রিয় ফ্রেমিং মোডে ম্যানুয়াল প্যান, টিল্ট এবং জুম নিষ্ক্রিয় থাকে।
| বৈশিষ্ট্য | বর্ণনা |
|---|---|
| কোনোটিই না | ক্যামেরাটি সমস্ত ইন্টেলিজেন্ট ফ্রেমিং ফিচার নিষ্ক্রিয় করে দেয় এবং ক্লায়েন্টকে পিটিজেড (PTZ) ভ্যালুগুলো স্বাধীনভাবে নিয়ন্ত্রণ করার সুযোগ দেয়। দ্রষ্টব্য: এই ফ্রেমিং কৌশলটিতে সেট করা হলে, ক্যামেরা তার বর্তমান প্যান, টিল্ট এবং জুম অবস্থানেই থাকে। |
| অবিচ্ছিন্ন ফ্রেমিং (CAZ) | ফ্রেমিং বায়াসের উপর ভিত্তি করে, ক্যামেরাটি ক্রমাগত ঘরের লোকজনকে অনুসরণ করে। |
| স্প্লিট ফ্রেম | ক্যামেরাটি প্রয়োজন অনুযায়ী যতগুলো ইচ্ছা ভিডিও ভিউ তৈরি করে। ‘অটো-ফ্রেমিং ফিডস’ অপশনের ওপর ভিত্তি করে, এটি হয় সেগুলোকে একটি একক স্ট্রিমে টাইলস আকারে সাজিয়ে নেয়, অথবা প্রতিটি ভিউয়ের জন্য আলাদা ভিডিও স্ট্রিম তৈরি করে। |
| ডাইনামিক ভিউ | এক বা একাধিক ক্যামেরা ঘরটির সেরা দৃশ্য দেখানোর চেষ্টা করে। এটি একাধিক ফিডকে একত্রিত করে একটি ফিড তৈরি করবে, নাকি বর্তমান ঘরটির একটি "আকর্ষণীয়" দৃশ্য দেখাবে, সেই সিদ্ধান্ত নিতে পারে। এই ভিউটির উদ্দেশ্য হলো কলে উপস্থিত অংশগ্রহণকারীদের সবচেয়ে নিরপেক্ষ চিত্র প্রদান করা। |
| বিক্রেতা-পছন্দের | ক্যামেরা সিস্টেমটি ঘরের সেরা দৃশ্য নির্ধারণ করতে নিজস্ব যুক্তি ব্যবহার করে। এর অন্তর্নিহিত ফ্রেমিং কৌশলটি কোনো পূর্ব বিজ্ঞপ্তি ছাড়াই পরিবর্তিত হতে পারে। উদাহরণস্বরূপ, যদি ঘরে উপস্থিত মানুষের সংখ্যা পরিবর্তিত হয়, অথবা ক্যামেরাটি একটি "হাই-স্টেকস প্রেজেন্টার" এবং একটি "কোলাবোরেশন" মিটিংয়ের মধ্যে পার্থক্য শনাক্ত করতে পারে, তবে এই মোডে সিস্টেমটি তার প্রয়োজন অনুযায়ী ফ্রেমিং কৌশলটি পরিবর্তন বা মানিয়ে নিতে পারে। এই মোডে থাকাকালীন, getCur কল করলে সিস্টেম দ্বারা নির্বাচিত অন্তর্নিহিত ফ্রেমিং মোডের পরিবর্তে VENDOR_PREFERRED রিটার্ন করা উচিত। |
স্বয়ংক্রিয়-ফ্রেমিং পক্ষপাত
| বৈশিষ্ট্য | বর্ণনা |
|---|---|
| উচ্চ-ঝুঁকির উপস্থাপক (স্পিকার ট্র্যাকিং) | ক্যামেরাটি ঘরে সক্রিয়ভাবে কথা বলা ব্যক্তিটিকে সবচেয়ে ভালোভাবে ফ্রেমে আনার চেষ্টা করে। এই পরিস্থিতিতে, ক্যামেরাটি উপস্থাপকের দিকে বেশি ঝুঁকে থাকা উচিত। উদাহরণস্বরূপ, একজন সিইও বোর্ডরুমে প্রেজেন্টেশন দিচ্ছেন। |
| সহযোগিতা (রুম ট্র্যাকিং) | ক্যামেরাটি ঘরের সকল অংশগ্রহণকারীকে সর্বোত্তমভাবে ফ্রেমে আনার চেষ্টা করে। এই পরিস্থিতিতে, ক্যামেরাটির উচিত প্রত্যেক অংশগ্রহণকারীর সাথে সমান আচরণ করা। |
স্বয়ংক্রিয়-ফ্রেমিং ফিড
| বৈশিষ্ট্য | বর্ণনা |
|---|---|
| একক-ধারা | ক্যামেরাটি হোস্ট ডিভাইসে একটি একক ভিডিও স্ট্রিম পাঠায়। |
| মাল্টি-স্ট্রিম (কাজ চলছে) | ক্যামেরাটি স্ট্রিমটিকে বিভক্ত করে হোস্টের কাছে পাঠানোর জন্য একাধিক ভিডিও স্ট্রিম তৈরি করে। দ্রষ্টব্য: এই ফিচারটির সম্পূর্ণ স্পেসিফিকেশন এবং প্রত্যাশিত আচরণ পর্যালোচনার অধীনে রয়েছে এবং এই ডকুমেন্টের পরবর্তী সংস্করণ না আসা পর্যন্ত এটি সমর্থিত হবে না । |
অটো-ফ্রেমিং মোড বিটম্যাপ মান
ডিফল্ট অবস্থা ' None (যা একটি খালি বাইট অ্যারে দ্বারা উপস্থাপিত হয়) ব্যতীত, বাইট অ্যারের প্রতিটি বিট একটি ভিন্ন ক্যামেরা মোডকে প্রতিনিধিত্ব করে, যা ' Auto-framing strategy' , 'Auto-framing bias' এবং 'Auto-framing feeds'- এর একটি নির্দিষ্ট সমন্বয়।
| স্বয়ংক্রিয়-ফ্রেমিং ফিড | CAZ | স্প্লিট-ফ্রেম | গতিশীল | বিক্রেতা-পছন্দের | স্বয়ংক্রিয়-ফ্রেমিং পক্ষপাত |
|---|---|---|---|---|---|
| একক-ধারা | ডি১ ডি২ | - ডি৩ | ডি৫ ডি৭ | D9 (স্পিকার বা রুম) | বক্তা রুম |
| মাল্টি-স্ট্রিম | - - | - ডি৪ | ডি৬ ডি৮ | - | বক্তা রুম |
| ফ্রেম মোড | ফ্রেম মোড মান (সর্বনিম্ন গুরুত্বপূর্ণ বাইট) |
|---|---|
None | ০x০০০০ |
CAZ, Speaker, Single-Stream | ০x০০০১ |
CAZ, Room, Single-Stream | ০x০০০২ |
Split-Frame, Room, Single-Stream | ০x০০০৪ |
Split-Frame, Room, Multi-Stream | ০x০০৮ |
Dynamic, Speaker, Single-Stream | ০x০০১০ |
Dynamic, Speaker, Multi-Stream | ০x০০২০ |
Dynamic, Room, Single-Stream | ০x০০৪০ |
Dynamic, Room, Multi-Stream | ০x০০৮০ |
Vendor-preferred, Single-Stream | ০x০১০০ |
নিয়ন্ত্রণ: GOOGXU_FRAME_STRATEGY
এই কন্ট্রোলটি অটো-ফ্রেমিং মোড বিটম্যাপ ভ্যালু -তে তালিকাভুক্ত ক্যামেরার ফ্রেমিং মোডগুলো পেতে বা সেট করতে ব্যবহৃত হয়। প্রতিটি মোড তাদের নিজ নিজ বিটম্যাপে একটি বিট হিসাবে উপস্থাপিত হয়। GET_RES কমান্ডটি একটি ৮-বাইট দীর্ঘ বিটমাস্ক রিটার্ন করে যার মান শূন্য (0) বা এক (1) হয়, যা যথাক্রমে নির্দেশ করে যে ফিচারটি ডিভাইস দ্বারা সমর্থিত নাকি অসমর্থিত। উদাহরণস্বরূপ, যদি একটি ক্যামেরা CAZ, Speaker, Single-Stream , Split-Frame, Room, Single-Stream , এবং Dynamic, Room, Multi-Stream সমর্থন করে কিন্তু অন্য কোনো মোড সমর্থন না করে, তাহলে GET_RES রিটার্ন করা উচিত 0x00000000000000085 (অর্থাৎ 0b10000101 পরে সাতটি শূন্য বাইট)।
SET_CUR কমান্ডটি ক্যামেরাকে কোন একটিমাত্র ক্যামেরা মোড চালু করতে হবে তা জানানোর জন্য বিটম্যাপ পাঠাতে ব্যবহৃত হয়।
| নিয়ন্ত্রণ নির্বাচক | ১ | |||
|---|---|---|---|---|
| অপারেশন | GET / SET | |||
wLength | ৮ | |||
| অফসেট | মাঠ | আকার | মূল্য | বর্ণনা |
| ০ | bActiveMode | ৮ | বিটম্যাপ | সক্রিয় ক্যামেরা মোড সেট করুন বা ফিরিয়ে দিন |
নোট:
| ||||
সমর্থিত অনুরোধ প্রকারগুলির আচরণ নিম্নরূপ:
| অফসেট | ০ | বর্ণনা |
|---|---|---|
GET_CUR | সক্রিয় ফ্রেমিং ক্যামেরা মোড পান | |
GET_MIN | ক্যামেরা-নির্ভর | |
GET_MAX | ক্যামেরা-নির্ভর | |
GET_RES | সমর্থিত ক্যামেরা মোডগুলোর একটি ৮-বাইট দীর্ঘ বিটমাস্ক ফেরত দেয়। | |
GET_LEN | ০x০০৮ | দৈর্ঘ্য |
GET_INFO | 0x0B | স্বয়ংক্রিয় আপডেট / লেখা / পড়া |
GET_DEF | ০x০০ ০x০০ ০x০০ ০x০০ ০x০০ ০x০০ ০x০০ ০x০০ | ডিফল্ট মান |
SET_CUR | সক্রিয় ফ্রেমিং ক্যামেরা মোড সেট করুন |
নিয়ন্ত্রণ: GOOGXU_REFRAME
এই কন্ট্রোলটি ওয়ান-শট ফ্রেমিং (One-Shot Framing), যা OTAZ নামেও পরিচিত, চালু করতে ব্যবহৃত হয়। যখন OTAZ চালু হয়, তখন ক্যামেরার ভিউ ঘরের সেরা দৃশ্যে দ্রুত চলে আসে। এরপর, ক্লায়েন্ট আবার PTZ ভ্যালুগুলো নিয়ন্ত্রণ করার ক্ষমতা ফিরে পায়। যদি ওয়ান-শট ফ্রেমিং সমর্থিত না হয়, তবে ক্যামেরায় এই কন্ট্রোলটি থাকা উচিত নয়।
| নিয়ন্ত্রণ নির্বাচক | ২ | |||
|---|---|---|---|---|
| অপারেশন | SET | |||
wLength | ১ | |||
| অফসেট | মাঠ | আকার | মূল্য | বর্ণনা |
| ০ | bReframe | ১ | সংখ্যা | 0x01 রিফ্রেম অনুরোধ কার্যকর করুন |
সমর্থিত অনুরোধ প্রকারগুলির আচরণ নিম্নরূপ:
| অফসেট | ০ | বর্ণনা |
|---|---|---|
GET_MIN | ০x০০ | |
GET_MAX | ০x০১ | |
GET_RES | ০x০১ | |
GET_LEN | ০x০০০১ | |
GET_INFO | ০x০২ | শুধু লিখুন |
GET_DEF | ০x০০ | |
SET_CUR | ওয়ান-শট ফ্রেমিং-এর জন্য অনুরোধ সেট করুন |
দখল গণনা
অকুপেন্সি কাউন্টিং (ওসি) এমন একটি ফিচার যা ক্যামেরার ক্রপ করা ভিউ থাকা সত্ত্বেও একটি মিটিং রুমে অংশগ্রহণকারীদের সংখ্যা অনুমান করতে ব্যবহৃত হয়।
এই সারণিতে ওসি কন্ট্রোলগুলোর প্রত্যাশিত আচরণ এবং ক্যামেরা ভিডিও স্ট্রিম ও ক্যামেরা এলইডি ইন্ডিকেটরের সাথে সেগুলোর পারস্পরিক ক্রিয়া দেখানো হয়েছে।
| যখন দখল গণনা করা হয় | এবং ক্যামেরা ভিডিও স্ট্রিমটি হলো: | ক্যামেরার এলইডি ইন্ডিকেটরটি হওয়া উচিত | 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 | ১ | |||
| অফসেট | মাঠ | আকার | মূল্য | বর্ণনা |
| ০ | bOccupancy | ১ | বুলিয়ান | উপস্থিতি গণনা ফাংশন সেট করুন 0x00 ফাংশন বন্ধ করুন 0x01 ফাংশন চালু করুন |
সমর্থিত অনুরোধ প্রকারগুলির আচরণ নিম্নরূপ:
| অফসেট | ০ | বর্ণনা |
|---|---|---|
GET_CUR | উপস্থিতি গণনা চালু থাকলে ফিরে যান | |
GET_MIN | 0x00 | |
GET_MAX | ০x০১ | |
GET_RES | ০x০১ | |
GET_LEN | ০x০০০১ | |
GET_INFO | 0x0B | স্বয়ংক্রিয় আপডেট / লেখা / পড়া |
GET_DEF | 0x00 | |
SET_CUR | উপস্থিতি গণনা বৈশিষ্ট্যটি সক্রিয় বা নিষ্ক্রিয় করুন |
নিয়ন্ত্রণ: GOOGXU_OCCUPANCY_COUNTING_READ
যখন অকুপেন্সি কাউন্টিং চালু থাকে, তখন ক্যামেরা দ্বারা রিপোর্ট করা একটি রুমের অংশগ্রহণকারীদের সংখ্যা পড়ার জন্য এই কন্ট্রোলটি ব্যবহৃত হয়। যখন অকুপেন্সি কাউন্টিং বন্ধ থাকে, তখন ক্যামেরার এই কন্ট্রোলটি নিষ্ক্রিয় করে দেওয়া উচিত। যদি অকুপেন্সি কাউন্টিং সমর্থিত না হয়, তবে ক্যামেরার এই কন্ট্রোলটি নির্ধারণ করা উচিত নয়।
| নিয়ন্ত্রণ নির্বাচক | ৪ | |||
|---|---|---|---|---|
| অপারেশন | GET | |||
wLength | ২ | |||
| অফসেট | মাঠ | আকার | মূল্য | বর্ণনা |
| ০ | bNumPeople | ২ | সংখ্যা | দৃশ্যমান অবস্থায় শনাক্তকৃত যাত্রীর সংখ্যা। (শুধুমাত্র পঠনযোগ্য) |
সমর্থিত অনুরোধ প্রকারগুলির আচরণ নিম্নরূপ:
| অফসেট | ০ | বর্ণনা |
|---|---|---|
GET_CUR | শনাক্তকৃত বাসিন্দাদের সংখ্যা ফেরত দিন | |
GET_MIN | ০x০০০০ | |
GET_MAX | 0x00FF | |
GET_RES | ০x০০০১ | |
GET_LEN | ০x০০০২ | |
GET_INFO | ০x০৯ | স্বয়ংক্রিয় আপডেট / পড়ুন |
GET_DEF | ০x০০০০ |
ডিভাইস টেলিমেট্রি এবং ডায়াগনস্টিকস
এই কন্ট্রোলগুলো Meet হার্ডওয়্যারের সাথে উন্নততর ডিবাগিং অনুশীলনকে উৎসাহিত করার উদ্দেশ্যে তৈরি এবং এগুলো সাধারণত ব্যবহারকারীর দৃষ্টিগোচর হয় না।
নিয়ন্ত্রণ: GOOGXU_STATUS_INFO
এই কন্ট্রোলটি হোস্ট ক্যামেরা থেকে তথ্য সংগ্রহ করে ডিবাগিংয়ের জন্য পার্টনারদের সাথে শেয়ার করতে ব্যবহৃত হয়।
| নিয়ন্ত্রণ নির্বাচক | ৫ | |||
|---|---|---|---|---|
| অপারেশন | GET | |||
wLength | ৮ | |||
| অফসেট | মাঠ | আকার | মূল্য | বর্ণনা |
| ০ | bNumCameras | ১ | সংখ্যা | মূল ক্যামেরার সাথে সংযুক্ত অতিরিক্ত স্যাটেলাইটের সংখ্যা, যা হোস্টে ফেরত পাঠানো ক্যামেরা স্ট্রিমকে প্রভাবিত করতে পারে। |
| ১ | bIsMoving | ১ | বিটম্যাপ | ক্যামেরা নিষ্ক্রিয় থাকলে এর মান ০, এবং এর PTZ মান পরিবর্তিত হওয়ার সময় এর মান অশূন্য। বিক্রেতারা বিভিন্ন অ্যাক্সিস বা মোটরকে বিভিন্ন বিটের সাথে ম্যাপ করতে স্বাধীন। |
| ২ | Undef | ৬ | অদম্য | ভবিষ্যতে সম্প্রসারিত করা হবে। |
সমর্থিত অনুরোধ প্রকারগুলির আচরণ নিম্নরূপ:
| অফসেট | ০ | ১ | ২ | বর্ণনা |
|---|---|---|---|---|
GET_MIN | 0x00 | 0x00 | ০x০০ ০x০০ ০x০০ ০x০০ ০x০০ ০x০০ | |
GET_MAX | 0xFF | 0xFF | 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF | |
GET_RES | ০x০১ | ০x০১ | 0x01 0x00 0x00 ০x০০ ০x০০ ০x০০ | |
GET_LEN | ০x০৮ | 0x00 | ০x০০৮ | |
GET_INFO | ০x০৯ | স্বয়ংক্রিয় আপডেট / পড়ুন | ||
GET_DEF | 0x00 | 0x00 | ০x০০ ০x০০ ০x০০ ০x০০ ০x০০ ০x০০ |
নিয়ন্ত্রণ: GOOGXU_SATELLITE_INFO
এই ক্যামেরা সিস্টেমের সাথে সংযুক্ত স্যাটেলাইট ডিভাইসগুলো সম্পর্কে জানতে এই কন্ট্রোলটি ব্যবহার করা হয়।
| নিয়ন্ত্রণ নির্বাচক | 0x0A | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| অপারেশন | GET | |||||||||||
wLength | ২০ | |||||||||||
| অফসেট | মাঠ | আকার | মূল্য | বর্ণনা | ||||||||
| ০ | bSatelliteList | ২০ | বিটম্যাপ | সিস্টেমের সাথে সংযুক্ত স্যাটেলাইটের প্রকারভেদের তালিকা। এতে চারটি পৃথক ৫-বাইট স্লট রয়েছে। প্রতিটি স্লটের বর্ণনা নিম্নরূপ:
|
সমর্থিত অনুরোধ প্রকারগুলির আচরণ নিম্নরূপ:
| অফসেট | ০ | বর্ণনা |
|---|---|---|
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 | ০x১৪ | ২০ বাইট |
GET_INFO | ০x০৯ | স্বয়ংক্রিয় আপডেট / পড়ুন |
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) রিটার্ন করে। রিসেটের ফলে অবশ্যই ক্যামেরা রিবুট হতে হবে। (স্ব-চালিত ডিভাইসগুলির জন্য এটি প্রয়োজন, যেখানে হটপ্লাগ অনুকরণ করার জন্য ইউএসবি সংযোগ বিচ্ছিন্ন করা কার্যকর নয়।)
| নিয়ন্ত্রণ নির্বাচক | ৬ | |||
|---|---|---|---|---|
| অপারেশন | GET / SET | |||
wLength | ১ | |||
| অফসেট | মাঠ | আকার | মূল্য | বর্ণনা |
| ০ | bResetRequest | ১ | বুলিয়ান | হোস্ট এবং সংযুক্ত ক্যামেরাগুলোতে একটি রিসেট অনুরোধ পাঠান। শেষ রিসেটের পর রিসেটের অনুরোধ করা হলে 0x01 রিটার্ন করে, অন্যথায় 0x00। |
সমর্থিত অনুরোধ প্রকারগুলির আচরণ নিম্নরূপ:
| অফসেট | ০ | বর্ণনা |
|---|---|---|
GET_MIN | 0x00 | |
GET_MAX | ০x০১ | |
GET_RES | ০x০১ | |
GET_LEN | ০x০০০১ | |
GET_INFO | ০x০৩ | লিখুন / পড়ুন |
GET_DEF | 0x00 |
PTZ প্রিসেট
ক্যামেরার ফিল্ড অফ ভিউকে একটি পূর্বনির্ধারিত অবস্থানে কনফিগার ও পুনরুদ্ধার করতে ব্যবহৃত হয়।
নিয়ন্ত্রণ: GOOGXU_PRESETS
এই কন্ট্রোলটি ক্যামেরার প্যান, টিল্ট এবং জুম (PTZ) মানগুলোকে একটি পূর্বনির্ধারিত কনফিগারেশনে সেট করতে ব্যবহৃত হয়।
কমান্ডের উদ্দিষ্ট কাজটি উল্লেখ করার জন্য Preset Action ব্যবহার করা হয়। এক (1) মান সেট করলে বর্তমান প্যান, টিল্ট এবং জুম মানগুলিকে একটি প্রদত্ত প্রিসেট ইনডেক্সে ম্যাপ করা হয়। দুই (2) মান সেট করলে ক্যামেরার প্যান, টিল্ট এবং জুম প্রদত্ত ইনডেক্সের জন্য পূর্বে ম্যাপ করা মানগুলিতে, অথবা ডিফল্ট ফ্যাক্টরি স্থানাঙ্কে (যদি পূর্বে ম্যাপ করা না থাকে) পরিবর্তিত হবে। তিন (3) মান সেট করলে ইনডেক্সটি ফ্যাক্টরি ডিফল্ট স্থানাঙ্কে রিসেট হয়ে যায়।
Preset Index ইনডেক্সের সাথে ম্যাপ করা PTZ স্থানাঙ্ক নির্দিষ্ট করতে ব্যবহৃত হয়। শূন্য (0) এর Preset index হোম স্থানাঙ্কের সাথে ম্যাপ করা হয় এবং যখন GOOGXU_FRAME_STRATEGY কে NONE এ সেট করা থাকে, তখন ক্যামেরা চালু হওয়ার পর এটিই এর ডিফল্ট অবস্থান হওয়া উচিত।
| নিয়ন্ত্রণ নির্বাচক | ৭ | |||
|---|---|---|---|---|
| অপারেশন | SET | |||
wLength | ২ | |||
| অফসেট | মাঠ | আকার | মূল্য | বর্ণনা |
| ০ | bPresetAction | ১ | সংখ্যা | 0x01: প্রিসেট সংরক্ষণ করুন 0x02: প্রিসেট পুনরুদ্ধার করুন 0x03: প্রিসেটকে ডিফল্টে রিসেট করুন। (ডিফল্ট একটি বৈধ প্রিসেট স্থানাঙ্ক হওয়া উচিত।) |
| ১ | bPresetIndex | ১ | সংখ্যা | সক্রিয় প্রিসেট সূচক। ০~N-১ যেখানে ০-কে ক্যামেরার ডিফল্ট প্রারম্ভিক অবস্থান হিসেবে ধরা হয় এবং N-1 হলো প্রিসেটের সংখ্যার জন্য বিক্রেতা-নির্ধারিত একটি ধ্রুবক। |
সমর্থিত অনুরোধ প্রকারগুলির আচরণ নিম্নরূপ:
| অফসেট | ০ | ১ | বর্ণনা |
|---|---|---|---|
GET_MIN | 0x00 | 0x00 | |
GET_MAX | ০x০৩ | এন-১ | সর্বোচ্চ N সংখ্যক প্রিসেট সমর্থিত |
GET_RES | ০x০১ | ০x০১ | |
GET_LEN | ০x০২ | 0x00 | ০x০০০২ |
GET_INFO | ০x০২ | শুধু লিখুন | |
GET_DEF | 0x00 | 0x00 |
প্যান ও টিল্ট সহায়ক ম্যাপিং
কিছু ক্যামেরায় বিশেষ যন্ত্রাংশ থাকে, যেমন মেকানিক্যাল ক্যামেরার মোটর বা ডিজিটাল পিটিজেড (PTZ) সুবিধা। এগুলোর জন্য প্যান, টিল্ট এবং জুম করতে স্ট্যান্ডার্ড 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 প্যানটিল্ট (রিলেটিভ) কন্ট্রোল-এ সংজ্ঞায়িত করা হয়েছে।
সম্পর্কিত বিষয়
- লিনাক্স ইউএসবি ভিডিও ক্লাস (ইউভিসি) ড্রাইভার
- ভিডিও ক্লাস v1.5 ডকুমেন্ট সেট
- ইউএসবি ২.০ স্পেসিফিকেশন
- গুগল মিট হার্ডওয়্যার সহায়তা কেন্দ্র
- গুগল ওয়ার্কস্পেস অ্যাডমিন হেল্প সেন্টারের গুগল মিট হার্ডওয়্যার বিভাগ
রিলিজ নোট
এই রিলিজ নোটগুলিতে এই ডকুমেন্টের প্রতিটি সংস্করণের উন্নতি এবং নতুন বৈশিষ্ট্যগুলি তুলে ধরা হয়েছে।
১৩ আগস্ট, ২০২৫
- পরীক্ষা কেন্দ্রের বিবরণ সংশোধন করা হয়েছে।
২৭ জানুয়ারী, ২০২৫
-
GOOGXU_FRAME_STRATEGYতেVendor-preferredফ্রেমিং কৌশল যোগ করা হয়েছে। - নতুন কন্ট্রোল যোগ করা হয়েছে:
GOOGXU_SATELLITE_INFO।
২১ মে, ২০২৪
- নতুন CfM টেস্ট ফ্যাসিলিটির সুবিধার জন্য টেস্ট স্ক্রিপ্টটি সরিয়ে ফেলা হয়েছে, যা
SETপরীক্ষা করে এবং সিরিজ ওয়ান ক্যামেরার ভ্যালিডেশনকেও সমর্থন করে। -
GOOGXU_STATUS_INFOএর ফিল্ডগুলো স্পষ্ট করা হয়েছে। -
GOOGXU_STATUS_RESETএর আচরণ স্পষ্ট করা হয়েছে। -
GOOGXU_PAN_TILT_ABSOLUTEএবংGOOGXU_PAN_TILT_RELATIVEঅপ্রচলিত।
১৫ নভেম্বর, ২০২৩
বৈধ ফ্রেমিং মোড যাচাই ও ব্যাখ্যা করার জন্য টেস্ট স্ক্রিপ্টটি হালনাগাদ করা হয়েছে। বাইট উপস্থাপনাগুলো স্পষ্ট করা হয়েছে।
২১ জুলাই, ২০২৩
এই স্পেসিফিকেশনের সাথে বাস্তবায়নের সঙ্গতি যাচাই করার জন্য অংশীদারদের জন্য টেস্ট স্ক্রিপ্ট যোগ করা হয়েছে।
২৫ মে, ২০২৩
GOOGXU_PRESETS প্রিসেট সংখ্যা সংক্রান্ত নোটটি সংশোধন করা হয়েছে। এটি N হবে, N-1 নয়।
১৭ এপ্রিল, ২০২৩
প্রাথমিক প্রকাশ।