Google Meet হার্ডওয়্যার ইউএসবি ভিডিও ক্লাস এক্সটেনশন ইউনিট এপিআই

এই ডকুমেন্টটিতে গুগল মিট কনফারেন্স সিস্টেম দ্বারা ব্যবহৃত সমর্থিত ইউএসবি ভিডিও ক্লাস এক্সটেনশন ইউনিট (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 প্যানটিল্ট (রিলেটিভ) কন্ট্রোল-এ সংজ্ঞায়িত করা হয়েছে।

রিলিজ নোট

এই রিলিজ নোটগুলিতে এই ডকুমেন্টের প্রতিটি সংস্করণের উন্নতি এবং নতুন বৈশিষ্ট্যগুলি তুলে ধরা হয়েছে।

১৩ আগস্ট, ২০২৫

২৭ জানুয়ারী, ২০২৫

  • GOOGXU_FRAME_STRATEGY তে Vendor-preferred ফ্রেমিং কৌশল যোগ করা হয়েছে।
  • নতুন কন্ট্রোল যোগ করা হয়েছে: GOOGXU_SATELLITE_INFO

২১ মে, ২০২৪

১৫ নভেম্বর, ২০২৩

বৈধ ফ্রেমিং মোড যাচাই ও ব্যাখ্যা করার জন্য টেস্ট স্ক্রিপ্টটি হালনাগাদ করা হয়েছে। বাইট উপস্থাপনাগুলো স্পষ্ট করা হয়েছে।

২১ জুলাই, ২০২৩

এই স্পেসিফিকেশনের সাথে বাস্তবায়নের সঙ্গতি যাচাই করার জন্য অংশীদারদের জন্য টেস্ট স্ক্রিপ্ট যোগ করা হয়েছে।

২৫ মে, ২০২৩

GOOGXU_PRESETS প্রিসেট সংখ্যা সংক্রান্ত নোটটি সংশোধন করা হয়েছে। এটি N হবে, N-1 নয়।

১৭ এপ্রিল, ২০২৩

প্রাথমিক প্রকাশ।