स्ट्रीमिंग मीडिया प्लेयर, HTML पेज के अंदर चलने और HTML सर्वर द्वारा सेवा करने, स्ट्रीमिंग मीडिया सर्वर के साथ स्ट्रीमिंग (RTSP, आदि) कनेक्शन स्थापित करने (RTSP अनुरोधों की सेवा) कैसे करते हैं?
सामान्य अनुप्रयोग
वर्तमान में RTSP का उपयोग ऐसे एप्लिकेशन / डिवाइस इंटरफेस के साथ अधिक किया जाता है जो सीधे लाइव स्ट्रीम (जैसे IP कैमरा) या री-स्ट्रीम (इंजन की तरह) एक HTTP वेब प्लेबैक इंटरफ़ेस के माध्यम से भौतिक स्थान से सहेजे गए मीडिया फ़ाइलों को स्ट्रीम करने के लिए है। एम्बेडेड खिलाड़ी।
ऐसा लगता है कि आरटीएसपी एक स्टेटफुल प्रोटोकॉल है और यह स्ट्रीमिंग करते समय टीसीपी से अधिक यूडीपी का उपयोग करता है, और इसका उपयोग सर्वर डिवाइस (जैसे आईपी कैमरा) के रूप में अधिक किया जाता है जो टीसीपी / आईपी नेटवर्क से जुड़ा होता है, और यूडीपी के माध्यम से स्ट्रीम को फीड करता है, आदि। । फिर आप इन फीड्स (सर्वर) को उसी नेटवर्क पर क्लाइंट के रूप में कनेक्ट करते हैं और आप तदनुसार आरटीएसपी अनुरोध जारी कर सकते हैं ।
जबकि HTTP के कुछ तरीकों से मिलता-जुलता है, RTSP कंट्रोल दृश्यों को मल्टीमीडिया प्लेबैक को नियंत्रित करने में उपयोगी बनाता है। जबकि HTTP
स्टेटलेस है , RTSP में स्टेट है; समवर्ती सत्रों को ट्रैक करने के लिए आवश्यक पहचानकर्ता का उपयोग किया जाता है। HTTP की तरह, RTSP एक एंड-टू-एंड कनेक्शन को बनाए रखने के लिए TCP का उपयोग करता है और, जबकि अधिकांश RTSP नियंत्रण संदेश क्लाइंट द्वारा सर्वर पर भेजे जाते हैं, कुछ कमांड दूसरी दिशा में यात्रा करते हैं (अर्थात सर्वर से क्लाइंट तक)।
यहां प्रस्तुत हैं मूल RTSP अनुरोध। कुछ विशिष्ट HTTP अनुरोध, जैसे विकल्प अनुरोध, भी उपलब्ध हैं। टीसीपी और यूडीपी दोनों के लिए डिफ़ॉल्ट ट्रांसपोर्ट लेयर पोर्ट संख्या 554 [3] है, बाद वाले को शायद ही कभी नियंत्रण अनुरोधों के लिए उपयोग किया जाता है।
स्रोत
एक स्टेटलेस प्रोटोकॉल को सर्वर को कई अनुरोधों की अवधि के लिए प्रत्येक संचार साथी के बारे में सत्र की जानकारी या स्थिति बनाए रखने की आवश्यकता नहीं होती है। इसके विपरीत, एक प्रोटोकॉल जिसे सर्वर पर आंतरिक स्थिति को रखने की आवश्यकता होती है उसे एक स्टेटफुल प्रोटोकॉल के रूप में जाना जाता
है।
स्टेटलेसनेस का एक नुकसान यह है कि प्रत्येक अनुरोध में अतिरिक्त जानकारी शामिल करना आवश्यक हो सकता है, और इस अतिरिक्त जानकारी को सर्वर द्वारा व्याख्या करने की आवश्यकता होगी।
स्रोत
तार्किक प्रवाह
जिस तरह से मैं इस रूप में स्ट्रीमिंग मीडिया के प्रवाह को समझता हूं:
- वह सर्वर जहां मीडिया सामग्री रहती है, वह वीडियो / ऑडियो डेटा सामग्री को उचित स्वरूप और खंडों में वितरण के लिए एन्क्रिप्ट, संपीड़ित, एन्कोड करेगा आदि।
- वेब सर्वर जो स्ट्रीमिंग मीडिया तक पहुंचने के लिए कनेक्शन की सुनता है, मीडिया को स्ट्रीम करने के लिए आवश्यक सभी संसाधनों को वितरित करेगा
- क्लाइंट लागू संसाधनों और फ़ाइलों का अनुरोध करता है और डाउनलोड करता है, और फिर उन्हें कॉन्फ़िगर करने और अन्य मापदंडों के रूप में URL पॉइंटर के माध्यम से प्लेबैक के लिए एक निरंतर फैशन में इकट्ठा करता है। क्लाइंट स्तर पर प्लेबैक सॉफ़्टवेयर सामग्री के उचित प्लेबैक की अनुमति देने के लिए प्रेषित पैकेट को असेंबल करता है।
HTTP बनाम RTSP की सामान्य तुलना के लिए कृपया नीचे स्ट्रीमिंग तकनीक अनुभाग देखें।
और भी
नीचे दिए गए 10 कारणों में आपको अपने स्वयं के वीडियो अनुभाग को कभी भी होस्ट क्यों नहीं करना चाहिए मैंने उन हिस्सों को उद्धृत किया है जो आपके प्रश्न का उत्तर "सामान्य" में मदद करने के लिए बहुत विशिष्ट होने के बिना प्राप्त करते हैं।
अनिवार्य रूप से यह कहता है कि जिस वेबसाइट में एम्बेडेड मीडिया प्लेयर नियंत्रण है:
- (1) ग्राहक वेब ब्राउज़र सेटिंग्स का पता लगाने के लिए "कनेक्शन और अनुरोध" ग्राहक से और
- (2) यह कोडेक और किसी भी अन्य क्लाइंट साइड डिटेक्शन सेटिंग्स को लागू करने के लिए पैरामीटर मान सेट करेगा, और फिर
- (3) यह आपके द्वारा स्ट्रीम किए गए सर्वर से सीधे वीडियो स्ट्रीम करेगा और होस्ट किए गए सर्वर पर मीडिया फ़ाइल के URL की ओर इशारा करते हुए आपके एम्बेडेड मीडिया प्लेयर कॉन्फ़िगरेशन में आगे कोड के आधार पर वीडियो और ऑडियो फ़ाइलों की मेजबानी करेगा।
क्लाइंट ब्राउज़र को सर्वर से डेटा प्राप्त करना चाहिए और इसे प्रसंस्करण के लिए स्ट्रीमिंग एप्लिकेशन को पास करना होगा। स्ट्रीमिंग एप्लिकेशन डेटा को चित्रों और ध्वनियों में परिवर्तित करता है। इस प्रक्रिया की सफलता का एक महत्वपूर्ण कारक क्लाइंट की तेज़ी से डेटा प्राप्त करने की क्षमता है जो एप्लिकेशन जानकारी प्रदर्शित कर सकता है। अतिरिक्त डेटा को एक बफर में संग्रहीत किया जाता है - मेमोरी का एक क्षेत्र जो एप्लिकेशन के भीतर डेटा स्टोरेज के लिए आरक्षित है। यदि डेटा को दो प्रणालियों के बीच हस्तांतरण में देरी होती है, तो बफर खाली हो जाता है और सामग्री की प्रस्तुति चिकनी नहीं होगी।
HTTP प्रोटोकॉल
HTTP एक प्रमुख तरीका है जिसमें इंटरनेट पर दस्तावेज़ जुड़े हुए हैं। क्लाइंट सर्वर से एक कनेक्शन बनाता है जिसमें फ़ाइल को स्ट्रीम किया जाता है, फ़ाइल को पुनर्प्राप्त किया जाता है और कनेक्शन बंद हो जाता है। HTTP सर्वर ब्राउज़र में स्थानांतरित होने वाली फ़ाइल का प्रकार बताता है।
HTTP का उपयोग करने के लाभ
HTTP का उपयोग करके किसी फ़ाइल को स्ट्रीमिंग करते समय, एक विशेष स्ट्रीमिंग सर्वर की आवश्यकता नहीं होती है। जब तक आपका ब्राउज़र MIME प्रकारों को समझता है तब तक वह HTTP सर्वर से स्ट्रीमिंग फ़ाइल प्राप्त कर सकता है। HTTP का उपयोग करके फ़ाइलों को स्ट्रीमिंग करने के विभिन्न लाभों में से एक यह है कि यह फ़ायरवॉल से गुजर सकता है और प्रॉक्सी सर्वर का उपयोग कर सकता है।
कुछ नुकसान
HTTP स्ट्रीमिंग फ़ाइलों की विश्वसनीय डिलीवरी सुनिश्चित करने के लिए टीसीपी / आईपी (ट्रांसमिशन कंट्रोल प्रोटोकॉल और इंटरनेट प्रोटोकॉल) का उपयोग करती है। यह प्रक्रिया गुम पैकेटों की जांच करती है और उन्हें वापस लेने के लिए कहती है। यह स्ट्रीमिंग परिदृश्य में समस्याग्रस्त हो जाता है जब आप चाहते हैं कि डेटा वितरण में खो जाने पर अस्वीकृत हो जाए, इसलिए डायनेमिक फ़ाइलें चलती रहती हैं। HTTP मॉडेम की गति का पता नहीं लगा सकता है इसलिए सर्वर प्रशासक को विभिन्न उपयोगकर्ताओं को विभिन्न प्रकार के कनेक्शन के साथ सर्वर उपयोगकर्ताओं को अलग-अलग संपीड़न दरों पर फ़ाइलों का उत्पादन करना चाहिए। HTTP सर्वर से फ़ाइलों की स्ट्रीमिंग उच्च-मांग स्थितियों के लिए अनुशंसित नहीं है।
आरटीएसपी प्रोटोकॉल
RTSP मानक प्रोटोकॉल है जिसका उपयोग अधिकांश स्ट्रीमिंग सर्वर विक्रेताओं द्वारा किया जाता है। RTSP सर्वर मीडिया फ़ाइलों को स्थानांतरित करने के लिए UDP (उपयोगकर्ता डेटाग्राम प्रोटोकॉल) का उपयोग करते हैं। यूडीपी लगातार जांच नहीं करता है कि फाइलें अपने गंतव्य पर पहुंची हैं या नहीं। यह स्ट्रीमिंग अनुप्रयोगों के लिए एक फायदा है क्योंकि यह फ़ाइल स्थानांतरण को बाधित करने की अनुमति देता है जब तक कि विलंब बहुत लंबा न हो। इस पद्धति का परिणाम यह है कि कई बार डेटा हानि होती है, लेकिन यदि विलंब छोटा है, तो फ़ाइलें चलती रहती हैं।
स्रोत
हम बात कर रहे हैं एम्बेडिंग बनाम सेल्फ होस्टेड वीडियो के बारे में
सबसे पहले, आप अपनी वीडियो फ़ाइल को YouTube, Vimeo, या Wistia जैसी तृतीय-पक्ष वीडियो होस्टिंग सेवा पर अपलोड करते हैं।
फिर, आप एक छोटे से कोड की प्रतिलिपि बनाते हैं जो वे आपको प्रस्तुत करते हैं, और इसे अपनी पोस्ट या पेज पर अपनी वर्डप्रेस साइट पर पेस्ट करते हैं। वीडियो आपकी साइट पर दिखाई देगा, उस स्थान पर जहां आपने एम्बेड कोड चिपकाया था, लेकिन वीडियो को स्वयं अपने वेब सर्वर, जहां आपकी वर्डप्रेस साइट होस्ट की गई है, के विपरीत वीडियो होस्ट के सर्वर से स्ट्रीम किया जा रहा है।
4. वेब वीडियो के लिए कोई एकल फ़ाइल प्रारूप मानक नहीं
वर्तमान HTML5 ड्राफ्ट विनिर्देश निर्दिष्ट नहीं करता है कि कौन से वीडियो प्रारूप ब्राउज़र को समर्थन करना चाहिए। नतीजतन, प्रमुख वेब ब्राउज़रों ने विचलन किया, प्रत्येक एक अलग प्रारूप का समर्थन करता है। इंटरनेट एक्सप्लोरर और सफारी H.264 (MP4) वीडियो चलाएंगे, लेकिन WebM या Ogg नहीं। फ़ायरफ़ॉक्स Ogg या WebM वीडियो खेलेंगे, लेकिन H.264 नहीं। शुक्र है, क्रोम सभी प्रमुख वीडियो प्रारूपों को चलाएगा, लेकिन यदि आप यह सुनिश्चित करना चाहते हैं कि आपका वीडियो सभी प्रमुख वेब ब्राउज़रों पर वापस चलेगा, तो आपको अपने वीडियो को कई प्रारूपों में बदलना होगा: .mp4, .ogv, और .webm
5. आशा है कि आप वीडियो परिवर्तित करना पसंद करेंगे। बहुत।
आपके अधिकांश दर्शक संभवतः उच्च गति वाले इंटरनेट कनेक्शन के लाभ से आपके डेस्कटॉप या लैपटॉप से आपके वीडियो देखेंगे। उन लोगों के लिए, आप एक बड़ी, HD-गुणवत्ता वाली फ़ाइल वितरित करना चाहेंगे ताकि वे ऐसा करने पर पूर्ण-स्क्रीन देख सकें। आम तौर पर, इसका अर्थ है उच्च स्ट्रीमिंग बिटरेट (5000 - 8000 kbps) पर 1080p या 720p फ़ाइल।
लेकिन आप फोन और टैबलेट जैसे मोबाइल उपकरणों के साथ-साथ धीमी इंटरनेट कनेक्शन के साथ दर्शकों को डिलीवरी के लिए एक छोटे, कम-रिज़ॉल्यूशन संस्करण को एन्कोड करना चाहते हैं।
6. वीडियो प्लेयर
एक वीडियो प्लेयर वेब सॉफ्टवेयर का एक छोटा सा टुकड़ा है जिसे आप अपनी साइट पर इंस्टॉल करते हैं जो स्वचालित रूप से पता लगाएगा कि कौन सा डिवाइस आपके वीडियो का अनुरोध कर रहा है, साथ ही इसकी कनेक्शन गति, और फिर उस व्यक्ति को उपयुक्त संस्करण वितरित करें।
7. बोझिल कोड [या शॉर्टकोड]
चाहे आप थर्ड-पार्टी प्लगइन या वर्डप्रेस की अंतर्निहित वीडियो क्षमताओं का उपयोग करते हैं, आपको वीडियो प्लेयर जो आपके द्वारा बनाए गए प्रारूप, साथ ही सर्वर पर उनके स्थान को बताने के लिए थोड़ा कोड बनाने की आवश्यकता होगी। यह कुछ इस तरह दिखता है ...
<video poster="movie.jpg" controls>
<source src="movie.webm" type='video/webm; codecs="vp8.0, vorbis"'/>
<source src="movie.ogg" type='video/ogg; codecs="theora, vorbis"'/>
<source src="movie.mp4" type='video/mp4; codecs="avc1.4D401E, mp4a.40.2"'/>
<p>This is fallback content</p>
</video>
तो आपकी साइट पर वीडियो जोड़ने का सबसे अच्छा समाधान क्या है?
बस एक तृतीय-पक्ष वीडियो होस्टिंग सेवा का उपयोग करें, फिर अपने वीडियो को अपने वर्डप्रेस पोस्ट या पेज में एम्बेड करें।
चरण एक: अपने वीडियो को Vimeo PRO जैसी लोकप्रिय, अच्छी तरह से स्थापित वीडियो होस्टिंग सेवाओं में से एक पर अपलोड करें।
चरण दो: एक बार जब आपका वीडियो अपलोड हो गया है और देखने के लिए तैयार है, तो अपने वीडियो के URL की प्रतिलिपि बनाएँ। अपनी वर्डप्रेस साइट पर लौटें और URL को अपनी पोस्ट या पेज पर पेस्ट करें जहाँ आप वीडियो को दिखाना चाहते हैं।
जब लोग आपका पृष्ठ देखते हैं, तो वीडियो उस स्थान पर दिखाई देगा जहाँ आपने URL चिपकाया था। लेकिन वीडियो फ़ाइल को अपने स्वयं के सर्वर के विपरीत वीडियो होस्ट के सर्वर से स्ट्रीम किया जाएगा, जहां आपकी वर्डप्रेस साइट होस्ट की गई है।
एम्बेडेड वीडियो प्लेयर स्वचालित रूप से उपयोगकर्ता के डिवाइस, ब्राउज़र और इंटरनेट कनेक्शन की गति का पता लगाएगा, और फिर वीडियो फ़ाइल के उपयुक्त संस्करण की सेवा करेगा। आपकी साइट पर स्थापित करने के लिए कुछ भी नहीं। तारीख तक रखने के लिए कोई प्लगइन्स नहीं। कोई मुश्किल कोड नहीं।
स्रोत