क्या वर्तमान USB नियंत्रक बैंडविड्थ उपयोग के लिए प्रोग्रामेटिक रूप से क्वेरी करना संभव है?


4

मैं mjpg-streamer के साथ तीन Logitech C920 वेबकैम का उपयोग कर रहा हूं । सेटअप बहुत अच्छी तरह से काम करता है, लेकिन मुझे बस एहसास हुआ कि यह पैमाने पर नहीं है। जब मैं 5 एफपीएस से अपने सामान्य पसंदीदा 10 एफपीएस और उच्चतर (जो किसी अन्य वेब कैमरा को जोड़ने के लिए अधिक-या-कम बराबर होना चाहिए) से फ्रेम दर को टक्कर देते हुए मैंने बैंडविड्थ मुद्दों का सामना करना शुरू किया। मूल रूप से, मुझे 480Mbit / s का एहसास नहीं था। सैद्धांतिक सीमा प्रति USB 2.0 नियंत्रक थी; मुझे लगा कि यह प्रति पोर्ट था। यह मुझे लगता है कि 480Mbit / s के रूप में विज्ञापन सैद्धांतिक USB 2.0 की गति भ्रामक है, लेकिन यह देखते हुए कि मैंने USB विनिर्देशों को नहीं पढ़ा है मैं इस तथ्य के साथ समझौता करूंगा कि यह शुद्ध रूप से मेरी ओर से एक भोली धारणा थी।

मुझे पता है कि मैंने जिस बोर्ड पर इसे स्थापित किया है, Intel DN2800MT , में केवल एक USB 2.0 नियंत्रक है:

gw1 ~ # lsusb -t | grep ehci
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/8p, 480M

लेकिन मुझे यह भी पता है कि मेरे Logitech C920 वेबकैम हार्डवेयर-त्वरित h264 डिकोडिंग का समर्थन करते हैं:

gw1 ~ # v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
Index       : 0
Type        : Video Capture
Pixel Format: 'YUYV'
Name        : YUV 4:2:2 (YUYV)

Index       : 1
Type        : Video Capture
Pixel Format: 'H264' (compressed)
Name        : H.264

Index       : 2
Type        : Video Capture
Pixel Format: 'MJPG' (compressed)
Name        : MJPEG

इसलिए, मुझे वेबकैम को h264 मोड पर स्विच करके एक वर्कअराउंड बनाने में सक्षम होना चाहिए क्योंकि मेरा मानना ​​है कि कम बैंडविड्थ का उपयोग करेगा (और फिर निश्चित रूप से इमेजरी लाने के लिए एक अलग प्रोग्राम का उपयोग करें, लेकिन बाद में मेरे लिए इसे छोड़ दें।)

इस सब को देखते हुए, क्या यह पता लगाने का कोई तरीका है कि वर्तमान में USB नियंत्रक के कुल उपलब्ध बैंडविड्थ का कितना उपभोग किया जा रहा है? यह बस मुझे इस सेटअप के साथ अपने अनुभव के लिए कुछ नंबर डालने में मदद करेगा। मेरी आंत महसूस शायद है, लेकिन यह नहीं है कि आसान है। अगर कोई इस पर कुछ प्रकाश डाल सकता है, तो मुझे जानना अच्छा लगेगा।


यह सही है कि यह 480mbpsप्रति बस है और आपके पास कई बार एकल पोर्ट को कई पोर्ट के साथ साझा करके कभी-कभी "धोखा" देने वाले मोबो विक्रेता होंगे। यह आमतौर पर कम लागत के लिए किया जाता है, जैसा कि आप रास्पबेरी पाई पर पा सकते हैं - यह यूएसबी बस बैंडविड्थ दोनों दो यूएसबी पोर्ट और एक जहाज पर ईथरनेट नियंत्रक है।
हेंगजी

जवाबों:


0

एक उपकरण 'pv' है जिसे आप डाउनलोड कर सकते हैं यदि आपके पास यह नहीं है।

$ cat /dev/zero | pv > /media/your_usb/tmpfile

आपको वह गति देगा जिसमें फ़ाइल 'tmpfile' को आपके USB नियंत्रक के माध्यम से लिखा जाता है।

$ cat /media/your_usb/tmpfile | pv > /dev/null

आपको वह गति देगा जिसमें एक ही फ़ाइल पढ़ी जाती है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.