2015-07-11 7 views
11

समस्या: मुझे अपने क्लाइंट को अपने स्ट्रीमिंग सर्वर (उदाहरण के लिए Wowza सर्वर) पर अपने वेबकैम स्ट्रीम करने में सक्षम होने की आवश्यकता है। मैं PHP में अपनी साइट का निर्माण कर रहा हूँ। मैं twitch.tv, livestream.com जैसी विभिन्न स्ट्रीमिंग साइटों से गुज़र चुका हूं और पाया है कि वे सभी वेबकैम फ़ीड्स को सर्वर पर स्ट्रीम करने के लिए वायरकास्ट, एक्सएसप्लिट ब्रॉडकास्टर, ओबीएस आदि जैसे तीसरे पक्ष के प्रसारण सॉफ्टवेयर का उपयोग करते हैं। फिर मैं vLine, Opentokrtc जैसी साइटों पर आया जो वीडियो चैट के लिए वेबआरटीसी का उपयोग करता है।फ्लैश के बिना, HTML5 के साथ स्ट्रीम कैसे लाइव करें?

मेरे प्रश्न: तो, मेरे सवाल यह है कि, यह मेरे Wowza की तरह प्रसारण सर्वरों के लिए धारा भेजने के लिए केवल WebRTC के साथ प्रसारण सॉफ्टवेयर का उपयोग किए बिना (तो यह है कि वे तो मेरे लाइव स्ट्रीम प्रसारित कर सकते हैं) हो सकता है? यदि हां, तो कैसे? यदि, नहीं, तो अन्य विकल्प क्या हैं?

पीएस। मैं फ्लैश, एक्शनस्क्रिप्ट का उपयोग यहां नहीं करना चाहता हूं।

+0

के माध्यम से इस तक पहुंच का अनुरोध कर सकते हैं यह बहुत संभव है लेकिन आपको प्रसारण सर्वर को संशोधित करना पड़ सकता है। वहाँ बहुत सारे webrtc एमसीयू सर्वर हैं जो आप वेबआरटीसी प्रसारण सर्वर के रूप में उपयोग कर सकते हैं (ब्रॉडकास्टर सर्वर पर पी 2 पी है, फिर श्रोताओं को उस विशिष्ट फ़ीड के लिए सर्वर पर पी 2 पी है)। –

+0

आप मीडिया सर्वर को कोशिश कर सकते हैं, [डेमो डॉक्स] (http://www.kurento.org/docs/current/tutorials.html#tutorial-3-webrtc-one-to-many-broadcast) [डेमो कोड ] (https: // GitHub।com/Kurento/kurento-tutorial-node/tree/release-5.1/kurento-one2many-call) – mido

उत्तर

2

आपको मूल रूप से ऐसे सर्वर की आवश्यकता होगी जिसमें छद्म वेबआरटीसी क्लाइंट एकीकृत हो। WebRTC स्ट्रीम प्राप्त कर सकता है लेकिन पीयरकनेक्शन सेटअप होने तक स्ट्रीमिंग शुरू नहीं कर सकता है। आप Janus जैसे विभिन्न सर्वरों/प्रवेश द्वार का उपयोग कर, Kurento, Licode, FreeSwitch, आदि

इसके अलावा MediaStream WebRTC द्वारा उत्पन्न सीधे एक HTML5 <video> टैग से संलग्न किया जा सकता है की कोशिश कर सकते हैं।

+0

क्या आप जानते हैं कि हम मीडियास्ट्रीम ऑब्जेक्ट से वीडियो/ऑडियो की वास्तविक बिट स्ट्रीम कैसे प्राप्त कर सकते हैं। फिर मैं उस बिट स्ट्रीम को सर्वर पर भेजने की कोशिश कर सकता हूं, हालांकि एक विचार हालांकि। –

+0

@ParthapratimNeog मुझे विश्वास है कि स्ट्रीम क्लाइंट की सीधी पहुंच ब्राउज़र क्लाइंट पर उपलब्ध नहीं है। एक बहुत लंबा मार्ग हो सकता है लेकिन कुछ [यह] (http://stackoverflow.com/questions/13120591/webrtc-how-to-get-the-webcam-data-as-a-stream-of-data) प्रकार काम कर सकता है छवियों को तब सर्वर पर भेजा जा सकता है और क्लाइंट कैनवास टैग देखने पर प्रस्तुत किया जा सकता है। हालांकि ध्यान दें कि इस मामले में अंतराल काफी महत्वपूर्ण होगा। –

2

ऐसे उपयोग मामले के लिए वेबआरटीसी का उपयोग सर्वर की ओर एक उच्च कंप्यूटिंग लागत लेता है और यह एक नई तकनीक है, जिसका अर्थ है कि यदि आप जानते हैं कि आप क्या कर रहे हैं तो आपको इसका उपयोग करना चाहिए।

मेरा सुझाव फ्लैश या एमपीईजी-डीएएसएच के बजाय चिपकना होगा - जब तक आपको इसकी आवश्यकता नहीं होती है, तो इसके लिए बहुत कम विलंबता होनी चाहिए और आप छोटे समाधान स्केल द्वारा इसके भुगतान के लिए ठीक हैं।

+1

उच्च कंप्यूटिंग लागत का कारण क्या है? एक सभ्य एमसीयू केवल नियंत्रण पैकेट को पुन: मुद्रित करने और फिर आरटीपी को फिर से बनाने के बारे में चिंता करेगा। क्या फ्लैश की तुलना में यह लागत अधिक है (ध्यान दें कि मुझे फ़्लैश के बारे में अनुभव/ज्ञान नहीं है, केवल यह कम उत्सुक है कि इसकी लागत कम है)? –

+1

कुछ वर्षों में फ्लैश को बहिष्कृत नहीं किया जा रहा है? इस वजह से मैं एक्शनस्क्रिप्ट सीखना नहीं चाहता, जो फ्लैश पूरी तरह से बहिष्कृत होने पर एक पूर्ण अपशिष्ट होगा। मैं कुरेंटो और अन्य सर्वरों पर कुछ आर एंड डी कर रहा हूं जो @ बेंजामिन और ऑब्स्कुर गीक ने हालांकि सुझाव दिया था। मेरे जैसे शुरुआती लोगों के लिए वेबआरटीसी पर कुछ अच्छी शिक्षा सामग्री ढूंढना वाकई मुश्किल है। –

+0

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

1

जब तक मैं नहीं समझ पाते, मुझे लगता है कि आप, का उपयोग नहीं कर WebRTC सर्वर से वीडियो स्ट्रीम करने के लिए ("सामान्य" लाइव-स्ट्रीमिंग प्रक्रियाओं का उपयोग करके वितरण के लिए) वीडियो स्ट्रीम करने के लिए अपने सर्वर करने के लिए देख रहे हैं।

यदि ऐसा है, तो वेबआरटीसी काम करेगा, हालांकि आपको वीडियो डिकोडिंग सहित वेबआरटीसी प्रोटोकॉल के एक पूर्ण पूर्ण सेट के सर्वर-साइड कार्यान्वयन की आवश्यकता होगी। ये मौजूद हैं, लेकिन सीधे PHP में नहीं। यह बैंडविड्थ अनुकूलन और त्रुटि सुधार सहित क्लाइंट पर प्लगइन की आवश्यकता के बिना, क्लाइंट से रीयलटाइम ऑडियो और वीडियो प्राप्त करने में संभाल लेगा।

एक बार सर्वर पर डेटा डीकोड होने के बाद, आपके पास एक वीडियो + ऑडियो डेटास्ट्रीम है जिसे आप स्ट्रीम करने के लिए अपने लाइव स्ट्रीमिंग एन्कोडर्स को खिला सकते हैं।

1

Wowza आपके वेबआरटीसी परिदृश्य में अन्य सहकर्मी बनने के लिए आपको जो चाहिए उसे समर्थन देता है। वहां से आप स्ट्रीम को फिर से वितरित कर सकते हैं जिस तरह से मीडिया सर्वर आमतौर पर करते हैं।

यह सुविधा अभी भी "पूर्वावलोकन" मोड में है और इसमें कुछ सीमाएं हैं, लेकिन अधिकांश मामलों के लिए कार्य करती है। आप https://www.wowza.com/products/capabilities/webrtc-streaming-software

संबंधित मुद्दे