उदाहरण के द्वारा, अंदर के HTML पृष्ठों से मीडिया को स्ट्रीम करना


12

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

  • स्ट्रीमिंग मीडिया वास्तव में कंटेनर प्रारूप और स्ट्रीमिंग प्रोटोकॉल के लिए उबलता है :
    • सभी ऑडियो डेटा एक ऑडियो बिटस्ट्रीम में (ऑडियो कोडेक के माध्यम से) एन्कोडेड है
    • वीडियो बिटस्ट्रीम में सभी वीडियो डेटा को एन्कोड किया गया है (फिर से, कोडेक के माध्यम से)
    • दो धाराओं को एक कंटेनर में एक साथ मिलाया जाता है ( मल्टीप्लेक्स किया गया है) जो अंततः एक फ़ाइल बन जाती है (जैसे MP4, आदि)।
    • एक विशेष मीडिया सर्वर इस कंटेनर (MP4 फ़ाइल, या कुछ अन्य प्रारूप) को क्लाइंट (शायद एक HTML5 वीडियो प्लेयर किसी के ब्राउज़र के अंदर चल रहा है) को कुछ मानक स्ट्रीमिंग प्रोटोकॉल, जैसे RTSP के माध्यम से कार्य करता है।
      • ब्राउज़र क्लाइंट के मामले में, मुझे लगता है कि ब्राउज़र के पास खुद का RTSP क्लाइंट है जो इसे तब किसी तरह उपयोगकर्ताओं को प्रस्तुत करता है HTML5 वीडियो प्लेयर
  • मैं एक वेब सर्वर जैसे कि nginx या httpd से एक MP4 फ़ाइल होस्ट कर सकता हूं , लेकिन चूंकि वे सर्वर RTSP सर्वर नहीं हैं, वे केवल MP4 के लिए अनुरोधों को डाउनलोड अनुरोधों के रूप में इलाज कर पाएंगे , और इस प्रकार, स्ट्रीम करने में असमर्थ होंगे। मीडिया फाइलें
    • इसी तरह, अगर मैं curlएक nginx सर्वर से फ़ाइलों को लाने के लिए उपयोग करना था, क्योंकि न तो curlऔर न ही nginx RTSP बोलते हैं, यह एक फ़ाइल डाउनलोड के रूप में माना जाएगा
  • लेकिन, जब मैं एक स्ट्रीमिंग मीडिया सर्वर (VideoLAN, Red5, Wowza, आदि) से एक MP4 फ़ाइल होस्ट करता हूं, और मैं उस सर्वर से एक स्ट्रीम का अनुरोध करने के लिए एक आरटीएसपी क्लाइंट (या किसी समर्थित स्ट्रीमिंग मीडिया क्लाइंट) का उपयोग करता हूं, और उसके बाद ही तब कोई वास्तविक स्ट्रीमिंग होती है
    • इसलिए भले ही YouTube या Vimeo "वीडियो" HTTP सर्वर द्वारा HTTP (S) से अधिक HTML पृष्ठों पर होस्ट किए गए हों, मैं यह मानता हूं कि उन पृष्ठों पर एम्बेडेड वीडियो प्लेयर (जो कि जहां वास्तव में वीडियो बाहर खेलते हैं ) वास्तव में एक दूसरा शुरू कर रहे हैं , एक स्ट्रीमिंग सर्वर के लिए बाद में कनेक्शन , और स्ट्रीमिंग RTSP या कुछ अन्य गैर-HTTP प्रोटोकॉल पर हो रही है

तो यह मेरी समझ है, और मुझे लगता है कि मैं पहले पूछूंगा कि अगर मैंने ऊपर जो कुछ भी कहा है वह गलत है, तो कृपया मुझे सुधार कर शुरू करें! यह मानते हुए कि मैं कमोबेश सही हूं:

स्ट्रीमिंग मीडिया प्लेयर, HTML पेज के अंदर चलने और HTML सर्वर द्वारा सेवा करने, स्ट्रीमिंग मीडिया सर्वर के साथ स्ट्रीमिंग (RTSP, आदि) कनेक्शन स्थापित करने (RTSP अनुरोधों की सेवा) कैसे करते हैं?


4
क्यों होता है पतन? यह एक धोखा नहीं है, विषय पर है, निश्चित रूप से अनुसंधान दिखाता है और एक एसएससीसीई है
smeeb


HTTP पर स्ट्रीमिंग अजीब क्यों होगी? स्ट्रीमिंग मूल रूप से सिर्फ "डाउनलोड के रूप में खेलते हैं", डाउनलोड को समाप्त करने के लिए इंतजार करने के बजाय (बाद में वैकल्पिक बफरिंग के साथ) डेटा को फेंक देते हैं। इस धारणा का उपयोग प्रोग्रामिंग में अन्य प्रकार के स्ट्रीम प्रोसेसिंग के लिए भी किया जाता है।
डैनियल बी

खैर, हटाए गए उत्तर पर टिप्पणियों को पढ़ने के बाद, मुझे लगता है कि मैंने अंत में यह निर्धारित किया है कि आप क्या पूछ रहे हैं: "HTTP स्ट्रीमिंग के साथ काम कैसे करना है? आप एक टाइमस्टैम्प को फ़ाइल के अंदर बाइट स्थिति में अनुवाद नहीं कर सकते हैं! " हो सकता है कि आपको इस बारे में सवाल स्पष्ट करना चाहिए।
डेनियल बी

जवाबों:


7

स्ट्रीमिंग मीडिया प्लेयर, 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 (उपयोगकर्ता डेटाग्राम प्रोटोकॉल) का उपयोग करते हैं। यूडीपी लगातार जांच नहीं करता है कि फाइलें अपने गंतव्य पर पहुंची हैं या नहीं। यह स्ट्रीमिंग अनुप्रयोगों के लिए एक फायदा है क्योंकि यह फ़ाइल स्थानांतरण को बाधित करने की अनुमति देता है जब तक कि विलंब बहुत लंबा न हो। इस पद्धति का परिणाम यह है कि कई बार डेटा हानि होती है, लेकिन यदि विलंब छोटा है, तो फ़ाइलें चलती रहती हैं।

स्रोत


10 वजहों से आपको कभी भी अपने वीडियो को होस्ट नहीं करना चाहिए

हम बात कर रहे हैं एम्बेडिंग बनाम सेल्फ होस्टेड वीडियो के बारे में

सबसे पहले, आप अपनी वीडियो फ़ाइल को 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 चिपकाया था। लेकिन वीडियो फ़ाइल को अपने स्वयं के सर्वर के विपरीत वीडियो होस्ट के सर्वर से स्ट्रीम किया जाएगा, जहां आपकी वर्डप्रेस साइट होस्ट की गई है।

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

स्रोत


धन्यवाद @PIMP_JUICE_IT (+1) - यदि आप बुरा नहीं मानते हैं तो कुछ फॉलोअप सवाल, " एम्बेडेड वीडियो प्लेयर " वाक्यांश के आपके उपयोग पर थोड़ी सी उलझन से उपजा है : जब आप कहते हैं " अनिवार्य रूप से यह कहता है कि वेबसाइट जो एम्बेडेड है वीडियो और ऑडियो प्लेयर होगा ... ", आप एम्बेडेड प्लेयर से क्या मतलब है ? मेरे लिए, ऑडियो / वीडियो या तो एक वेबसर्वर (एमपीईजी-डीएएसएच या समान का उपयोग करके) या आरटीएसपी जैसे कुछ बोलने वाले स्ट्रीमिंग सर्वर से सेवा ली जा सकती है । और फिर, मेरे लिए, एक खिलाड़ी एक क्लाइंट-साइड निर्माण है जो एक इंसान के लिए ऑडियो / वीडियो निभाता / प्रस्तुत करता है।
14

इसलिए जब आप किसी खिलाड़ी के होने वाली वेबसाइट (सर्वर) के बारे में बात करते हैं , तो यह थोड़ा भ्रमित करता है। क्या आप स्पष्ट कर सकते हो?
14

4

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

HTML5 ने वह <VIDEO>टैग पेश किया है जो जावास्क्रिप्ट और सीएसएस का उपयोग करते हुए ब्राउज़र में प्रदर्शित वीडियो को एकीकृत करने की समस्या को हल करता है। पिछले <OBJECT>टैग को बाहरी सॉफ़्टवेयर की आवश्यकता थी और इसे पृष्ठ के साथ बुरी तरह से एकीकृत किया गया था। नए टैग के प्रभाव में ब्राउज़र को एक वीडियो प्लेयर भी बनना पड़ता है, हालांकि कोई मानक नहीं लगाए गए थे। परिणाम मानकों का कुल विखंडन था, जिसका एकमात्र समाधान यह है कि वीडियो सर्वर कई वीडियो प्रारूप उपलब्ध कराएगा और ये सभी वैकल्पिक स्रोत <VIDEO>टैग में निर्दिष्ट किए जाएंगे , जिसमें से ब्राउज़र उस एक को चुन लेगा जिसका वह समर्थन करता है।

कई स्रोतों के साथ टैग का एक उदाहरण:

<video width=320 height=240 controls poster=image.jpg>
   <source src="movie.mpd">
   <source src="movie.webm">
   Your browser does not support the video tag.
</video>

<VIDEO>टैग से प्रोटोकॉल-नास्तिक है, इसलिए किसी भी प्रोटोकॉल RTSP सहित ब्राउज़र द्वारा समर्थित उपयोग कर सकते हैं। MPEG-DASH प्रोटोकॉल (HTTP पर डायनामिक एडेप्टिव स्ट्रीमिंग) के लिए समर्थन हाल ही में बहुत व्यापक हो गया है, इसलिए यह अधिकांश डिवाइस और ब्राउज़र देशी पर या एचटीएमएल 5 का उपयोग करेगा, जिसका अर्थ है कि अतिरिक्त प्लगइन्स की आवश्यकता नहीं है। यह डिवाइस और ब्राउज़र संगतता चार्ट देखें । MPEG-DASH की सेवा के लिए अपने सर्वर को तैयार करने के लिए इस मोज़िला लेख को भी देखें । DASH HTTP के माध्यम से काम करता है, इसलिए यह तब तक काम करेगा जब तक आपका HTTP सर्वर बाइट रेंज रिक्वेस्ट को सपोर्ट करता है और इसे .mpd फाइल्स को सेव करने के लिए सेट किया जाता है mimetype="application/dash+xml"

क्लाइंट और सर्वर के बीच सामान्य इंटरैक्शन निम्न के समान दिखता है। HTML5 VIDEO के लिए, ब्राउज़र भी खिलाड़ी है, हालांकि यह खेलने के लिए एक नया कनेक्शन खोल सकता है।

छवि

प्रारंभिक कनेक्शन मेटाडेटा को आपूर्ति करता है जो ग्राहक वीडियो प्रदर्शित करने के लिए उपयोग करता है। यदि उस मेटाडेटा को प्राप्त करने के लिए आरटीएसपी प्रोटोकॉल का उपयोग किया गया था, तो वीडियो + ऑडियो डेटा स्थानांतरित करने के लिए बाद में एक आरटीपी कनेक्शन बनाया जाता है। RTCP प्रोटोकॉल का उपयोग सर्वर पर अतिरिक्त कमांड ट्रांसफर करने के लिए किया जाता है।

RTP, RTCP और RTSP सभी अलग-अलग पोर्ट पर काम करते हैं। आमतौर पर जब RTP पोर्ट N पर होता है, RTCP पोर्ट N + 1 पर होता है। एक आरटीपी सत्र में रिसीवर के अंत में संयुक्त होने के लिए कई धाराएं हो सकती हैं; उदाहरण के लिए, ऑडियो और वीडियो अलग-अलग चैनलों पर हो सकते हैं।

ताकि कोई भी आपकी सामग्री से बाहर न जाए, आपको रॉयल्टी-फ्री कोडेक्स, वेबएम या थेरा, और एच .264 वीडियो, और वोरबिस और एमपी 3 ऑडियो दोनों उपलब्ध कराने चाहिए। (आसान कहा, करना मुश्किल है।)

यह RTSP के लिए विस्तार से होता है:

  1. क्लाइंट सर्वर के लिए एक टीसीपी कनेक्शन स्थापित करता है, आमतौर पर टीसीपी पोर्ट 554 पर, आरटीएसपी के लिए प्रसिद्ध पोर्ट।

  2. क्लाइंट तब आरटीएसपी हेडर कमांड की एक श्रृंखला जारी करना शुरू कर देगा जिसमें HTTP के समान प्रारूप है, जिनमें से प्रत्येक सर्वर द्वारा स्वीकार किया जाता है। इन RTSP आदेशों के भीतर, क्लाइंट सत्र आवश्यकताओं के सर्वर विवरणों का वर्णन करेगा, जैसे कि RTSP का संस्करण इसका समर्थन करता है, डेटा प्रवाह के लिए उपयोग किए जाने वाले परिवहन और किसी भी संबंधित UDP या TCP पोर्ट जानकारी। यह जानकारी DESCRIBE और SETUP हेडर का उपयोग करके पारित की जाती है और एक सर्वर आईडी के साथ सर्वर की प्रतिक्रिया पर संवर्धित की जाती है जिसे क्लाइंट, और कोई भी ट्रांज़िटरी प्रॉक्सी डिवाइस, आगे के एक्सचेंजों में स्ट्रीम की पहचान करने के लिए उपयोग कर सकते हैं।

  3. एक बार परिवहन मापदंडों की बातचीत पूरी हो जाने के बाद, ग्राहक आरटीपी डेटा स्ट्रीम की डिलीवरी शुरू करने के लिए सर्वर को निर्देश देने के लिए एक प्ले कमांड जारी करेगा।

  4. एक बार जब क्लाइंट स्ट्रीम को बंद करने का फैसला करता है, तो एक सत्र कमांड आईडी के साथ जारी किया जाता है, जो सर्वर को उस आईडी से जुड़े आरटीपी डिलीवरी को रोकने का निर्देश देता है।

आगे की पढाई :


1

यहाँ एक त्वरित और गंदा जवाब है-

वेब पर बैक वीडियो चलाने और वास्तविक समय में इसे वास्तव में स्ट्रीमिंग करने के बीच अंतर है।

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

रीयलटाइम स्ट्रीमिंग (कहते हैं, एक वेब कैमरा से) .. अच्छी तरह से, मुश्किल है। फ्लैश में यह कार्यक्षमता अंतर्निहित है, लेकिन इसका अब उपयोग नहीं किया जाना चाहिए। एचटीएमएल 5 वीडियो रियलटाइम स्ट्रीमिंग का समर्थन नहीं करता है, लेकिन लोग फ़ाइल होस्टिंग सर्वर को लगातार उस वीडियो फ़ाइल को बदलने के लिए इसे "ट्रिक" करने में सक्षम हैं जो इसे प्रदान करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.