निम्नलिखित त्रुटि में डेबियन / लिनक्स में एक से अधिक USB वेब कैमरा चल रहे हैं:
libv4l2: error turning on stream: No space left on device
VIDIOC_STREAMON: No space left on device
चीज़ और xawtv चलाकर एक ही त्रुटियों के बाद OpenCV में शुरू में एक प्रोग्रामिंग मुद्दा प्रतीत होता है जो एक रहस्यमय हार्डवेयर / सॉफ़्टवेयर समस्या की खोज में बदल गया था।
जाहिरा तौर पर यह यूएसबी होस्ट नियंत्रक पर सभी उपलब्ध बैंडविड्थ का अनुरोध करने वाले वेबकैम के कारण होता है। ध्यान में रखते मैं चलाने का फैसला किया है कि wireshark और capinfos सिर्फ कितना बैंडविड्थ एक कैमरे का इस्तेमाल किया देखने के लिए।
4 megabits per second at 320x240
14 megabits per second at 640x480
32 megabits per second at 1280x720
दिलचस्प! यह बता सकता है कि 320x240 पर दो कैमरे क्यों काम करते हैं लेकिन उच्चतर रिज़ॉल्यूशन विफल हो जाता है। यह ऐसा है जैसे मेरा USB नियंत्रक केवल USB 1 गति पर चल रहा है, फिर भी lsusb एक डिवाइस से संबंधित दोनों वेबकैम दिखाता है जो माना जाता है कि प्रति सेकंड 480 मेगाबिट का समर्थन करता है।
निम्नलिखित समाधानों को चलाने के द्वारा अपने अधिकतम उपयोग का अनुरोध करने के बजाए वेबकैम को अपने बैंडविड्थ उपयोग की गणना करने के लिए मजबूर करने का प्रस्ताव दिया गया है:
sudo rmmod uvcvideo
sudo modprobe uvcvideo quirks=128
दुर्भाग्य से इससे कोई फ़र्क नहीं पड़ा, इसलिए मैंने एक और उपाय आज़माने का फैसला किया। StackOverflow पर एक पोस्ट ने मेरे वेबकैम को MJPEG की तरह एक कम FPS या संपीड़ित वीडियो प्रारूप का उपयोग करने का सुझाव दिया, लेकिन v4lctl सूची चलाने के बाद यह या तो मेरे वेबकैम को उनके वीडियो मोड को बदलने का समर्थन नहीं करता।
और यहीं मैं फंस गया हूं। USB 2 की अधिकतम गति के नीचे अच्छे से काम करने वाले दो वेबकैम इस त्रुटि को क्यों उत्पन्न करेंगे?
ps: यह डिस्क स्थान समस्या नहीं है, df जब वेबकैम शुरू होता है तो कोई परिवर्तन नहीं दिखाता है।
pps: अगर इससे कोई फर्क पड़ता है, तो यहाँ lsusb का आउटपुट है