2010-09-20 22 views
6

मैं अपनी मैकबुक (एकीकृत आईसाइट वेबकैम) की वेबकैम स्ट्रीम प्राप्त करना चाहता हूं।जावा में मैक ओएस एक्स पर वेबकैम स्ट्रीम प्राप्त करें

मैं जावा का उपयोग करता हूं, और मुझे उद्देश्य-सी के बारे में कुछ भी पता नहीं है इसलिए मैं एक "पूर्ण-जावा" समाधान ढूंढ रहा हूं। मुझे कुछ कक्षा का उदाहरण मिला, लेकिन वे 2005 में बने थे और वे मेरे सिस्टम पर काम नहीं करते हैं।

उत्तर

5

मैं अब खुद एक ही चीज़ में आया हूं। मैं अपनी परियोजना के लिए वीएलसीजे का उपयोग कर रहा हूं और यह विंडोज, लिनक्स मिंट, लिनक्स उबंटू और मैक ओएसएक्स शेर पर सही काम करता है। जैसा कि आप शायद पढ़ते हैं, वीएलसीजे libvlc के आसपास एक जावा रैपर है जो वीएलसी प्लेयर भी उपयोग करता है।

बात यह है कि जब आप वीएलसी प्लेयर के कैप्चर विकल्प को खोलते हैं तो यह उपलब्ध कैमरे (यूएसबी कनेक्टेड) ​​के साथ कॉम्बो-बॉक्स पॉप्युलेट करता है। लेकिन यह ऐसा कुछ है जो वीएलसी प्लेयर केवल अपने लिए करता है, यह आपको इसके लिए एपीआई नहीं देता है। और यदि आप वीएलसीजे के साथ कुछ कैमरे की आईडी पास नहीं करते हैं, तो वीएलसी सिस्टम के डिफ़ॉल्ट कैमरे का उपयोग करेगा। मैं यूएसबी कनेक्टेड कैमरे या डेस्कटॉप से ​​फ़ाइल में स्ट्रीम करने के लिए वीएलसीजे का उपयोग करता हूं।

मुझे अपने सिस्टम पर यूएसबी कैमरों को "स्कैन" करने का कोई तरीका ढूंढना पड़ा और यह कुछ ऐसा है जो ओएस विशिष्ट है।

विंडोज़ पर मैं DirectShowJava का उपयोग करता हूं।

लिनक्स पर आप बस/dev/उपलब्ध कैमरों के लिए वीडियो * पढ़ने की जरूरत है और कुछ "उपयोगकर्ता के अनुकूल नाम" आप video4linux4java

और 3 और एक है कि आप सबसे अधिक कर रहे हैं का उपयोग कर सकते है अगर आप उपयोगकर्ता को प्रदर्शित करना चाहते हैं दिलचस्पी है मैंने अभी तक कोशिश नहीं की है लेकिन मैं इस के साथ प्रयास करूंगा: stack, example

अगर libvlc इसे देगा तो यह बेहतर होगा, क्योंकि मुझे 3 और एपीआई (3 ओएस के लिए) का उपयोग नहीं करना है और उनमें से प्रत्येक VLCJ कर सकता है (केवल उस मंच पर) और मैं हूं बस उपकरणों को पढ़ने के लिए उनका उपयोग कर।

EDIT: वर्तमान आधिकारिक वीएलसी संस्करण 1.1.x है और इसमें मैक पर कैमरे के लिए सीमित समर्थन है। आप केवल ऑडियो के बिना मैक के डिफ़ॉल्ट कैमरे (iSight, FaceTime Built In) से स्ट्रीम कर सकते हैं। वीएलसी 1.2.0 बहुत जल्द बाहर आ जाएगा, इसमें मैक समर्थन बेहतर होगा (अन्य कनेक्टेड कैमरे, डेस्कटॉप स्ट्रीम, ऑडियो के बारे में पता है)। आप VideoLAN मंच पर अपना thread देख सकते हैं। मैंने मैक के लिए वीएलसी के 1.2.0-गीट संस्करण को डाउनलोड किया और यह बहुत अच्छा लग रहा है और असली "मैक महसूस" है। आप इसे here से डाउनलोड कर सकते हैं। लेकिन ध्यान दें कि यह विकास संस्करण है और यह बहुत दुर्घटनाग्रस्त हो जाता है।

+0

धन्यवाद, यह बढ़िया है! –

+0

@ मैथियू मैंने अभी कुछ मैक ओएस एक्स विनिर्देशों के साथ अपना जवाब संपादित किया है, उम्मीद है कि यह आपको कुछ समय बचाएगा :) – vale4674

0

जेएमएफ की कोशिश की? आप here

+1

ऐसा लगता है कि यह वेबकैम के लिए विंडोज या सोलारिस के लिए है।ओएस एक्स या मैक –

+2

का कोई जिक्र नहीं है जेएमएफ अप्रचलित –

1

QuickTime for Java या Java Bindings for VideoLAN पर एक नज़र डालें।

+0

पढ़ा गया है "मैंने नया संस्करण भी क्विकटाइम के लिए कैप्चर डिवाइस, जैसे कि वेबकैम या कैमकॉर्डर से इनपुट के दृश्य पूर्वावलोकन को दिखाने के लिए एक घटक प्रदान करने के लिए उपेक्षित किया है। ऐसा लगता है कि जावा वास्तव में ऐप्पल के लिए चिंता नहीं है ... यहां भी देखें: http://onjava.com/pub/a/onjava/2003/10/29/qtj-returns.html?page=last (" अन्य परिवर्तन ")। वीडियो लैन के लिए, ऐसा लगता है कि यह वेबकैम से कैप्चर करने में सक्षम नहीं है। –

+0

हां, मुझे नहीं पता था कि क्यूटीजेवा को हटा दिया गया था, क्षमा करें: http://lists.apple.com/archives/quicktime-java/2008/Jun/msg00018.html – trashgod

+0

वीएलसी वेबकैम से कैप्चर करने में सक्षम होना चाहिए .. .file -> ओपन कैप्चर डिवाइस – rogerdpack

0

मुझे ओपनआईएमजे कोर वीडियो कैप्चर लाइब्रेरी मिली जो मेरे मैकबुक, विंडोज पीसी और लिनक्स सर्वर पर अच्छी तरह से काम करती है। नकारात्मकता यह है कि इसमें बहुत निर्भरताएं हैं।

इसलिए मैंने ओपनआईएमएजे कोड को संशोधित किया और एक और पैकेज बनाया जिसकी उन पागल सुविधाओं की आवश्यकता नहीं है। आप मेरी साइट से अपना कोड और डेमो एप्लिकेशन (ओपन सोर्स बीएसडी लाइसेंस) प्राप्त कर सकते हैं: http://www.sleepingdumpling.com/blog/download/jvideoinput/

क्रेडिट ओपनआईएमजे और योगदानकर्ताओं को जाता है।

तो यह असंभव नहीं है।