2008-12-05 13 views
49

मैं एक साधारण सर्वर एप्लिकेशन बनाना चाहता हूं जहां लोग स्ट्रीमिंग वीडियो देखने के लिए ब्राउज़र-आधारित क्लाइंट (जो मैं बाद में करूँगा) का उपयोग कर कनेक्ट कर सकता हूं। और मैं सी # का उपयोग करना चाहता हूँ।मैं सी # के साथ वेबकैम वीडियो कैसे स्ट्रीम कर सकता हूं?

मुझे वेबकैम के माध्यम से वीडियो या तेज़ छवियों को कैप्चर करने और उन्हें नेटवर्क पर भेजने की क्या ज़रूरत है?

+0

किसी भी व्यक्ति के लिए वेबकैम से छवियों को कैप्चर करने की तलाश में # - इस आलेख को आजमाएं - http://www.codeproject.com/KB/miscctrl/webcam_c_sharp.aspx। – kape123

+0

शायद इससे मदद मिलेगी: - http://sourceforge.net/projects/ispysoftware/ - http://www.ispyconnect.com/ –

उत्तर

19

यदि आप "बॉक्स में कैप्चर/स्ट्रीमर" घटक चाहते हैं, तो वहां कई लोग हैं जो दूसरों ने उल्लेख किया है।

यदि आप इसे निम्न स्तर पर नियंत्रण में उतरना चाहते हैं, तो आपको DirectShow को thealliedhacker पॉइंट्स के रूप में उपयोग करने की आवश्यकता होगी। सी # में डायरेक्टशो का उपयोग करने का सबसे अच्छा तरीका DirectShow.Net लाइब्रेरी के माध्यम से है - यह सभी डायरेक्टशो COM एपीआई को लपेटता है और इसमें आपके लिए कई उपयोगी शॉर्टकट फ़ंक्शन शामिल हैं।

कैप्चरिंग और स्ट्रीमिंग के अलावा, आप रिकॉर्डिंग, ऑडियो और वीडियो प्रारूप रूपांतरण, ऑडियो और वीडियो लाइव फ़िल्टर और पूरी तरह से सामान भी कर सकते हैं।

माइक्रोसॉफ्ट का दावा है कि डायरेक्टशो दूर जा रहा है, लेकिन उन्होंने अभी तक एक नई लाइब्रेरी या एपीआई जारी नहीं की है जो डायरेक्टशो प्रदान करता है। मुझे संदेह है कि उन्होंने जारी की गई नवीनतम चीजों में से कई अभी भी हुड के नीचे डायरेक्टशो हैं। माइक्रोसॉफ्ट में इसकी स्थिति के कारण, एमएसडीएन के अलावा अन्य पर बहुत सारी किताबें या संदर्भ नहीं हैं और आप मंचों पर क्या पा सकते हैं। पिछले साल जब हमने इसका इस्तेमाल एक प्रोजेक्ट शुरू किया था, तो इस विषय पर सबसे अच्छी किताब प्रिंट से बाहर थी और इस्तेमाल की गई प्रतिलिपि के लिए लगभग $ 350 के लिए जा रही थी!

यहां पुस्तक है: Programming Microsoft DirectShow। आप $ 29 9 के लिए एक नई प्रति (इस पोस्टिंग के समय के रूप में) या अमेज़ॅन में $ 14 9 के लिए उपयोग की गई प्रति प्राप्त कर सकते हैं!

alt text http://www.lmet.fr/www.lmet.fr/icons/Scans13/Big/9780/73/56/18/213.gif

+2

वह पुस्तक कौन सा थी? – faulty

+4

मुझे पता है कि मैं एक पुराने प्रश्न का जवाब दे रहा हूं लेकिन उस पुस्तक के लिए पैसा खोलने से पहले अमेज़ॅन समीक्षाओं को पढ़ता हूं। यह हर किसी के दावों के रूप में भयानक है। GraphEditPlus ख़रीदना और जो कोड उत्पन्न करता है उसे देखकर सरल कार्यों के लिए बेहतर मूल्य होगा। – dgnorton

+1

अच्छा प्रयास करें, मार्क पेस – Uri

3

मैंने अपनी परियोजना के लिए VideoCapX का उपयोग किया है। यह एमएमएस/एएसएफ धारा के रूप में बाहर निकल जाएगा जो मीडिया प्लेयर द्वारा खोला जा सकता है। फिर आप मीडिया प्लेयर को अपने वेबपृष्ठ में एम्बेड कर सकते हैं।

यदि आपको अधिक नियंत्रण की आवश्यकता नहीं है, या यदि आप कोड लिखने के बिना वीडियोकैपएक्स को आजमाएं, तो U-Broadcast आज़माएं, वे दृश्य के पीछे वीडियोकैप का उपयोग करें।

6

इसके लिए सामान्य API डायरेक्टशो है।

आप सी ++ एपीआई आयात करने के लिए पी/इनवॉक का उपयोग कर सकते हैं, लेकिन मुझे लगता है कि वहां पहले से ही कुछ परियोजनाएं हैं जो ऐसा कर चुकी हैं।

http://channel9.msdn.com/forums/TechOff/93476-Programatically-Using-A-Webcam-In-C/

http://www.codeproject.com/KB/directx/DirXVidStrm.aspx

स्ट्रीमिंग का हिस्सा प्राप्त करने के लिए, तो आप शायद डायरेक्टशो उपयोग करने के लिए एक संपीड़न कोडेक अंतराल को कम करने के लिए आवेदन करना चाहते हैं, तो आप एक स्ट्रीम हो और यह संचारित कर सकते हैं। आप नेटवर्क लोड को कम करने के लिए मल्टीकास्ट का उपयोग करने पर विचार कर सकते हैं।

+2

आप डायरेक्टशो के लिए सी ++ एपीआई आयात करने के लिए वास्तव में पी/इनवॉक का उपयोग नहीं कर सकते हैं क्योंकि यह है COM आधारित। आप DirectShow.Net नामक डायरेक्टशो रैपर का उपयोग कर सकते हैं। – faulty

4

तुम बस VideoLAN इस्तेमाल कर सकते हैं। VideoLAN एक सर्वर के रूप में काम करेगा (या आप इसके नियंत्रण के लिए अपने स्वयं के सी # एप्लिकेशन को लपेट सकते हैं)। दर्शक के लिए .NET wrappers भी हैं जिनका उपयोग आप अपने सी # क्लाइंट में कर सकते हैं और इस प्रकार एम्बेड कर सकते हैं।

1

यदि आप किसी वेब ब्राउज़र के भीतर से वीडियो रिकॉर्ड करना चाहते हैं, तो मुझे लगता है कि आपका एकमात्र विकल्प फ़्लैश है। हम एक ही काम करना चाहते हैं। हम मुख्य रूप से एक .NET घर भी हैं और मुझे वेबकैम _from_within_the_browser_ पर कब्जा करने के लिए .NET का उपयोग करने का कोई तरीका नहीं दिख रहा है।यदि आप डेस्कटॉप ऐप

0

किसी वेबकैम से ब्राउज़र में छवियों को स्ट्रीम करने का एक और विकल्प mjpeg के माध्यम से है, तो यहां उल्लेखित सभी अन्य समाधान शायद महान काम करेंगे। यह सिर्फ जेपीईजी छवियों की एक श्रृंखला है जो अधिकांश आधुनिक ब्राउज़र टैग के हिस्से के रूप में समर्थन करते हैं। यहां एक नमूना सर्वर सी # में लिखा है:

https://www.codeproject.com/articles/371955/motion-jpeg-streaming-server

यह एक लैन से अधिक अच्छी तरह से काम करता है, लेकिन नहीं के रूप में अच्छी तरह से mjpeg के रूप में इंटरनेट अन्य वीडियो कोडेक (h264, VP8 आदि ..)

के रूप में के रूप में effcient नहीं है
संबंधित मुद्दे