जब मैंने पहली बार स्ट्रीमिंग के बारे में सुना, तो यह वेबकैम के साथ लाइव स्ट्रीमिंग के संदर्भ में था । तो, एक होस्ट वीडियो सामग्री प्रसारित कर रहा है, और दूसरा होस्ट वीडियो सामग्री प्राप्त कर रहा है। तो क्या यह स्ट्रीमिंग है? खैर ... हाँ ... लेकिन एक लाइव स्ट्रीम एक ठोस अवधारणा है, और मुझे लगता है कि यह प्रश्न स्ट्रीमिंग की अमूर्त अवधारणा को संदर्भित करता है। Https://en.wikipedia.org/wiki/Live_streaming देखें
तो चलिए आगे बढ़ते हैं।
वीडियो एकमात्र संसाधन नहीं है जिसे स्ट्रीम किया जा सकता है। ऑडियो भी स्ट्रीम किया जा सकता है। इसलिए हम अब स्ट्रीमिंग मीडिया के बारे में बात कर रहे हैं। Https://en.wikipedia.org/wiki/Streaming_media देखें । ऑडियो को कई तरीकों से लक्ष्य से स्रोत तक पहुंचाया जा सकता है। तो चलिए कुछ डेटा डिलीवरी के तरीकों की एक दूसरे से तुलना करते हैं।
क्लासिक फ़ाइल डाउनलोड करने वाली
क्लासिक फ़ाइल वास्तविक समय में नहीं होती है। फ़ाइल का उपयोग करने से पहले, आपको डाउनलोड पूरा होने तक इंतजार करना होगा।
प्रोग्रेसिव डाउनलोड
प्रोग्रेसिव डाउनलोड चंक्स स्ट्रीम किए गए मीडिया फ़ाइल से अस्थायी बफर में डेटा डाउनलोड करते हैं। उस बफ़र में डेटा काम करने योग्य है: बफ़र में ऑडियो-वीडियो डेटा खेलने योग्य है। इसके कारण उपयोगकर्ता डाउनलोड करते समय स्ट्रीम की गई मीडिया फ़ाइल को देख / सुन सकते हैं। फास्ट-फ़ॉरवर्डिंग और रिवाइंडिंग संभव है, बफर के साथ संभोग। वैसे भी, प्रगतिशील डाउनलोड लाइव स्ट्रीमिंग नहीं है।
स्ट्रीमिंग
वास्तविक समय, और विखंडू डेटा होता है। लाइव प्रसारण में स्ट्रीमिंग को लागू किया जाता है। प्रसारण सुनने वाले ग्राहक तेजी से अग्रेषण या रिवाइंड नहीं कर सकते। वीडियो स्ट्रीम में, प्लेबैक के बाद डेटा को छोड़ दिया जाता है।
एक स्ट्रीमिंग सर्वर अपने क्लाइंट के साथ 2-तरह का कनेक्शन रखता है, जबकि एक वेब सर्वर सर्वर प्रतिक्रिया के बाद कनेक्शन बंद कर देता है।
ऑडियो और वीडियो केवल एक चीज नहीं है जिसे स्ट्रीम किया जा सकता है। आइए PHP मैनुअल में धाराओं की अवधारणा पर एक नज़र डालें।
एक स्ट्रीम एक संसाधन ऑब्जेक्ट है जो स्ट्रीम करने योग्य व्यवहार प्रदर्शित करता है। यही है, इसे रैखिक शैली में पढ़ा या लिखा जा सकता है, और धारा के भीतर एक मनमाने स्थान पर fseek () करने में सक्षम हो सकता है। लिंक: https://www.php.net/manual/en/intro.stream.php
PHP में, एक संसाधन एक बाहरी स्रोत जैसे फ़ाइल, डेटाबेस कनेक्शन का एक संदर्भ है। तो दूसरे शब्दों में, एक धारा एक स्रोत है जिसे पढ़ा या लिखा जा सकता है। इसलिए, यदि आपने साथ काम किया है fopen()
, तो आप पहले ही धाराओं के साथ काम कर चुके हैं।
पाठ-फ़ाइल का एक उदाहरण जो स्ट्रीमिंग के अधीन है:
// Let's say that cheese.txt is a file that contains this content:
// I like cheese, a lot! My favorite cheese brand is Leerdammer.
$fp = fopen('cheese.txt', 'r');
$str8 = fread($fp, 8); // read first 8 characters from stream.
fseek($fp, 21); // set position indicator from stream at the 21th position (0 = first position)
$str30 = fread($fp, 30); // read 30 characters from stream
echo $str8; // Output: I like c
echo $str30; // Output: My favorite cheese brand is L
जिप फाइलों को भी स्ट्रीम किया जा सकता है। उसके शीर्ष पर, स्ट्रीमिंग फ़ाइलों तक सीमित नहीं है। HTTP, FTP, SSH कनेक्शन और इनपुट / आउटपुट को भी स्ट्रीम किया जा सकता है।
स्ट्रीमिंग की अवधारणा के बारे में विकिपीडिया क्या कहता है?
कंप्यूटर विज्ञान में, एक धारा डेटा तत्वों का एक क्रम है जो समय के साथ उपलब्ध कराया जाता है। एक धारा को एक कन्वेयर बेल्ट पर आइटम के रूप में सोचा जा सकता है जिसे बड़े बैचों के बजाय एक बार में संसाधित किया जा सकता है।
देखें: https://en.wikipedia.org/wiki/Stream_%28computing%29 ।
इसके लिए विकिपीडिया लिंक: https://srfi.schemers.org/srfi-41/srfi-41.html
और लेखकों को धाराओं के बारे में कहना है:
धाराएँ, जिन्हें कभी-कभी आलसी सूची भी कहा जाता है, एक अनुक्रमिक डेटा संरचना होती है जिसमें केवल मांग पर गणना की गई तत्व होते हैं। एक धारा या तो अशक्त है या उसके cdr में एक धारा के साथ एक जोड़ी है। चूंकि स्ट्रीम के तत्वों की गणना केवल तब की जाती है जब एक्सेस किया जाता है, धाराएं अनंत हो सकती हैं।
तो एक स्ट्रीम वास्तव में एक डेटा संरचना है।
मेरा निष्कर्ष: एक धारा एक स्रोत है जिसमें डेटा हो सकता है जिसे अनुक्रमिक तरीके से पढ़ा या लिखा जा सकता है। एक धारा वह सब कुछ नहीं पढ़ती है जो स्रोत में एक बार होता है, यह क्रमिक रूप से पढ़ता / लिखता है।
उपयोगी लिंक:
- http://www.slideshare.net/auroraeosrose/writing-and-using-php-streams-and-sockets-zendcon-2011 बहुत स्पष्ट प्रस्तुति प्रदान करता है
- https://www.sk89q.com/2010/04/introduction-to-php-streams/
- http://www.netlingo.com/word/stream-or-streaming.php
- http://www.brainbell.com/tutorials/php/Using_PHP_Streams.htm
- http://www.sitepoint.com/php-streaming-output-buffering-explained/
- http://php.net/manual/en/wrappers.php
- http://www.digidata-lb.com/streaming/Streaming_Proposal.pdf
- http://www.webopedia.com/TERM/S/streaming.html
- https://en.wikipedia.org/wiki/Stream_%28computing%29
- https://srfi.schemers.org/srfi-41/srfi-41.html