یو وی سی کیمرہ / یو ایس بی کیمرہ حسب ضرورت ایپ کے لئے Android جائزہ by AndroidFreeware
اینڈرائیڈ-UVC-کیمرہ
یہ ایپ آپ کے اینڈرائیڈ ڈیوائس سے ایک USB کیمرے سے جڑتا ہے۔ (OTG کیبل یا OTG ہب کی ضرورت ہے)
یہ منصوبہ تمام اینڈرائیڈ ڈیوائسز (4.1 آئس کریم سینڈوچ سے اوپر) (میڈیا تھیک ڈیوائسز بھی) کے لیے ایک آئسوکروونس ویڈیو اسٹریم انجام دینے کے لیے بنایا گیا تھا جس میں UVC کیمرے شامل ہیں۔ پروگرام آپ کے یوزر اسپیس USB ڈیوائس ڈرائیور کا استعمال کرتے ہوئے آپ کے کیمرے کے ڈیوائس کے ساتھ آئسوکروونس منتقلی انجام دیتا ہے۔
اپنا یوزر اسپیس ڈیوائس ڈرائیور سیٹ اپ کرنے کے لیے یہ طریقہ اپنائیں:
سب سے پہلے آپ کو اپنے ڈیوائس کے لیے تمام کیمرہ کی ترتیبات مرتب کرنی ہوں گی۔ پروگرام پھر ان اقدار کو محفوظ کرتا ہے اور آپ انہیں بعد میں بحال کر سکتے ہیں یا دوسری اقدار کے ساتھ اوور رائٹ کر سکتے ہیں۔ اقدار کو ایڈجسٹ کرنے کے لیے ایڈٹ/سیو/ری اسٹور بٹن کا استعمال کریں۔ کیمرے کو تلاش کرنے اور سیٹ اپ کرنے کے لیے خودکار کیمرہ تلاش کا استعمال کریں۔
وضاحت:
جب خودکار تلاش کامیاب ہو جاتی ہے، تو آپ پہلے زیادہ سے زیادہ پیکٹ سائز مرتب کرتے ہیں۔ اگر آپ کا ڈیوائس میڈیا تھیک ڈیوائس ہے تو آپ کو زیادہ سے زیادہ پیکٹ سائز کی قدر کو کم کرنا پڑ سکتا ہے۔ ویلیو PACKETS PER REQUEST اس بات کی وضاحت کرتی ہے کہ ڈیوائس کو بھیجے گئے پیکٹوں کی تعداد: ایک پیکٹ کا سائز 3000 بائٹس ہے اور آپ ایک وقت میں بھیجنے کے لیے 16 پیکٹ استعمال کرتے ہیں۔ یہاں آپ ان بائٹس کی مقدار کی وضاحت کرتے ہیں جو بھیجی گئی تھیں۔
اگلی چیز USB REQUEST BLOCKS (activeUrb) ہیں: یہ زیادہ سے زیادہ پیکٹ سائز سے متعلق ہیں۔ آپ کو یہاں اپنے ڈیوائس کے لیے صحیح اقدار تلاش کرنی ہوں گی اور اسکرین پر آؤٹ پٹ کو کنٹرول کرنا ہوگا، مینو پوائنٹ Isoread کے تحت۔ Qualcomm ڈیوائسز کے لیے کچھ عام اقدار ہیں: 8 activeUrbs کے لیے اور 16 پیکٹس فی درخواست....
طریقہ Isoread کا پہلا حصہ کیمرہ ڈیوائس کے ساتھ کنٹرول منتقلی ہے:
اگر کنٹرول منتقلی کامیاب ہو جاتی ہے تو آپ جانے کے لیے تیار ہیں۔
اگلا فریمز پر نظر ڈالیں۔
جب آپ کو یکساں اور طویل فریم ملتے ہیں تو آپ طریقہ Isostream پر جا سکتے ہیں، جہاں فریم آپ کے اسکرین پر دکھائے جاتے ہیں۔
یہ جاننے کے لیے کہ ایک فریم کتنا بڑا ہونا چاہیے، آپ لاگ میں کیمرے کی کنٹرول منتقلی کی آؤٹ پٹ دیکھ سکتے ہیں: maxVideoFrameSize۔ یہ قدر کیمرے سے واپس کی جاتی ہے اور یہ درست فریم سائز ہونی چاہیے (یہ قدر امیج کی چوڑائی x امیج کی اونچائی x 2 سے حساب کی جاتی ہے)۔
IsochronousRead1 کلاس آپ کو دکھاتی ہے کہ کیمرے کے ذریعہ فریمز کس طرح ترتیب دیے گئے ہیں۔ مختلف کیمرہ کی ترتیبات == مختلف فریم کے ڈھانچے۔ مختلف ترتیبات کے ساتھ آزما کر دیکھیں اور آؤٹ پٹ پر نظر ڈالیں۔ EOF ہنٹ لاگ میں فریم کے سائز کو ظاہر کرتا ہے۔ درست کیمرہ کی ترتیبات کے لیے سائز کنٹرول منتقلی کے maxFrameSize کی قدر کے برابر ہونا چاہیے۔
آؤٹ پٹ طریقہ Isoread: (کنٹرول منتقلی) سب سے پہلے پروگرام آپ کے کیمرہ ڈیوائس کو کنٹرول منتقلی بھیجے گا۔ اس کی آؤٹ پٹ اس طرح نظر آتی ہے:
ابتدائی اسٹریمنگ پیرا میٹرز: hint=0x0 format=1 frame=1 frameInterval=2000000 keyFrameRate=0 pFrameRate=0 compQuality=0 compWindowSize=0 delay=0 maxVideoFrameSize=0 maxPayloadTransferSize=0
پروبڈ اسٹریمنگ پیرا میٹرز: hint=0x0 format=1 frame=1 frameInterval=2000000 keyFrameRate=0 pFrameRate=0 compQuality=0 compWindowSize=0 delay=0 maxVideoFrameSize=614400 maxPayloadTransferSize=3000
حتمی اسٹریمنگ پیرا میٹرز: hint=0x0 format=1 frame=1 frameInterval=2000000 keyFrameRate=0 pFrameRate=0 compQuality=0 compWindowSize=0 delay=0 maxVideoFrameSize=614400 maxPayloadTransferSize=3000
پہلی لائن وہ اقدار ہیں جو آپ نے پروگرام میں کیمرے کو جوڑنے کے لیے مرتب کیں۔ (ابتدائی اسٹریمنگ پیرا میٹرز)
دوسری لائن وہ اقدار ہیں جو کیمرے نے آپ کی اقدار سے واپس کی ہیں۔
اور تیسری لائن میں USB کیمرے کی نئی محفوظ کردہ اور حتمی اقدار ہیں۔
پہلے طریقہ کی آؤٹ پٹ: isoRead:
EOF frameLen=10436۔ --> یہاں ایک فریم 10436 کی لمبائی کے ساتھ ختم ہوتا ہے جو کہ 614400 نہیں ہے جیسا کہ ہم کنٹرول منتقلی سے توقع کر رہے تھے، لہذا آپ کو درست فریم سائز حاصل کرنے کے لیے اپنے پروگرام کی کچھ اقدار تبدیل کرنی پڑ سکتی ہیں۔