2009-12-01 4 views
6

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

उत्तर

5

यदि आपका इनपुट डेटा केवल यादृच्छिक छवियों का एक गुच्छा है, वीडियो नहीं, तो आप "वीडियो स्ट्रीमिंग" नहीं करने जा रहे हैं। आप बस पूर्ण छवियों का एक गुच्छा भेजने जा रहे हैं। वीडियो एन्कोडिंग तकनीक को शामिल करने की आवश्यकता नहीं है, बस छवियों का सबसे आसान संभव संचरण करें। वीडियो एन्कोडर्स पिछले फ्रेम के समान होने वाले प्रत्येक फ्रेम पर भरोसा करते हैं, जैसा कि वास्तविक वीडियो में आम है। यादृच्छिक छवियों के इनपुट के लिए, वे उस इनपुट को संपीड़ित करने में सक्षम नहीं होंगे, और सिंगल-फ्रेम संपीड़न (जैसे जेपीईजी/पीएनजी/जो कुछ भी) आपके इनपुट डेटा पर पहले से ही लागू होने जा रहा है।

मूल फ़ाइल नाम के साथ प्रत्येक फ़ाइल की सामग्री भेजने के लिए शायद सबसे आसान है, और प्राप्तकर्ता क्लाइंट डिस्क पर फ़ाइल को फिर से बना सकता है, और छवि को खोलने और डीकोड करने के लिए मौजूदा डिस्क-उन्मुख पुस्तकालयों का उपयोग करता है।

आपको शायद इसके लिए टीसीपी का उपयोग करना चाहिए, आपकी आवश्यकताओं में कुछ भी नहीं जो इंगित करता है कि आपको अधिक जटिल और त्रुटि-प्रवण यूडीपी/आरटीपी-आधारित समाधानों का उपयोग करने की आवश्यकता है।

+2

अपवाद "मोशन जेपीईजी" (एमजेपीईजी) है जो वास्तव में जेपीईजी संकुचित फ्रेम का एक अनुक्रम है जो प्रत्येक पर एक छोटे से शीर्षलेख के साथ है। मेरे कैनन डिजिटल कैमरा ने इस प्रारूप में वीडियो पर कब्जा कर लिया। –

+0

छवियों और वीडियो स्ट्रीम (संपीड़न के प्रकार को छोड़कर) के बीच का अंतर यह है कि वीडियो स्ट्रीम में आपके पास समय सिंक्रनाइज़ेशन होता है। –

0

अपनी स्ट्रीम एन्कोडिंग के लिए ffmpeg लाइब्रेरी का उपयोग करें और उन्हें स्ट्रीम करने के लिए आरटीपी/आरटीएसपी स्टैक का उपयोग करें।

5

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

आशा है कि कुछ उपयोगी संकेत हैं।