আমি যখন প্রথমবার স্ট্রিমিংয়ের কথা শুনেছিলাম তখন এটি একটি ওয়েবক্যামের সাথে সরাসরি স্ট্রিমিংয়ের প্রসঙ্গে ছিল । সুতরাং, একটি হোস্ট ভিডিও সামগ্রী সম্প্রচার করছে এবং অন্য হোস্টটি ভিডিও সামগ্রীটি গ্রহণ করছে। তাহলে কি এই স্ট্রিমিং হচ্ছে? আচ্ছা ... হ্যাঁ ... তবে একটি লাইভ স্ট্রিম একটি কংক্রিট ধারণা এবং আমি মনে করি যে প্রশ্নটি স্ট্রিমিংয়ের বিমূর্ত ধারণাটিকে বোঝায়। Https://en.wikedia.org/wiki/Live_streaming দেখুন
সুতরাং চলুন এগিয়ে আসা যাক।
ভিডিও হ'ল একমাত্র সংস্থান যা প্রবাহিত হতে পারে। অডিও স্ট্রিমও করা যায়। সুতরাং আমরা এখন স্ট্রিমিং মিডিয়া সম্পর্কে কথা বলছি। Https://en.wikedia.org/wiki/Streaming_media দেখুন । অডিওকে বিভিন্ন উপায়ে লক্ষ্য থেকে উত্স থেকে সরবরাহ করা যেতে পারে। সুতরাং আসুন একে অপরের সাথে কিছু ডেটা বিতরণ পদ্ধতি তুলনা করি।
ক্লাসিক ফাইল ডাউনলোড
ক্লাসিক ফাইল ডাউনলোডিং রিয়েল-টাইম হয় না। ফাইলটি ব্যবহারের আগে নেওয়ার আগে আপনাকে ডাউনলোডটি শেষ না হওয়া পর্যন্ত অপেক্ষা করতে হবে।
প্রগতিশীল ডাউনলোড
প্রগতিশীল ডাউনলোডগুলি স্ট্রিমযুক্ত মিডিয়া ফাইল থেকে অস্থায়ী বাফারে ডেটা ডাউনলোড করে দেয়। সেই বাফারের ডেটা কার্যক্ষম: বাফারে অডিও-ভিডিও ডেটা প্লেযোগ্য। যে কারণে ব্যবহারকারীরা ডাউনলোডের সময় প্রবাহিত মিডিয়া ফাইলটি দেখতে বা শুনতে পারবেন। দ্রুত-ফরওয়ার্ডিং এবং রিওয়াইন্ডিং সম্ভব, বাফারের সাথে মিলিত হওয়া। যাইহোক, প্রগতিশীল ডাউনলোড লাইভ স্ট্রিমিং নয়।
স্ট্রিমিং
রিয়েল-টাইম এবং ডেটা খণ্ডিত হয়। স্ট্রিমিং সরাসরি সম্প্রচারে প্রয়োগ করা হয়। সম্প্রচারটি শোনার ক্লায়েন্টরা দ্রুত-ফরওয়ার্ডিং বা রিওয়াইন্ড করতে পারে না। ভিডিও স্ট্রিমগুলিতে, ডেটা প্লেব্যাকের পরে ফেলে দেওয়া হয়।
একটি স্ট্রিমিং সার্ভার তার ক্লায়েন্টের সাথে একটি দ্বি-মুখী সংযোগ রাখে, অন্যদিকে কোনও ওয়েব সার্ভার সার্ভারের প্রতিক্রিয়ার পরে সংযোগ বন্ধ করে দেয়।
অডিও এবং ভিডিও কেবলমাত্র স্ট্রিম করা যায় না। আসুন পিএইচপি ম্যানুয়ালটিতে স্ট্রিমগুলির ধারণাটি দেখে নেওয়া যাক।
একটি স্ট্রিম এমন একটি রিসোর্স অবজেক্ট যা স্ট্রিমেবল আচরণ প্রদর্শন করে। এটি, এটি লিনিয়ার ফ্যাশনে থেকে পড়া বা লেখা যেতে পারে এবং প্রবাহের মধ্যে একটি স্বেচ্ছাসেবী স্থানে () সন্ধান করতে সক্ষম হতে পারে। লিঙ্ক: https://www.php.net/manual/en/intro.stream.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
জিপ ফাইলগুলিও স্ট্রিম করা যায়। সর্বোপরি, স্ট্রিমিং কেবলমাত্র ফাইলে সীমাবদ্ধ নয়। এইচটিটিপি, এফটিপি, এসএসএইচ সংযোগ এবং ইনপুট / আউটপুট পাশাপাশি প্রবাহিত হতে পারে।
স্ট্রিমিংয়ের ধারণা সম্পর্কে উইকিপিডিয়া কী বলে?
কম্পিউটার বিজ্ঞানে, একটি স্ট্রিম ডেটা উপাদানগুলির ক্রম হয় যা সময়ের সাথে সাথে উপলব্ধ। একটি স্ট্রিম হিসাবে ভাবা যেতে পারে কনভেয়র বেল্টের আইটেমগুলি বড় ব্যাচের পরিবর্তে একবারে প্রক্রিয়াজাত করা হচ্ছে।
দেখুন: https://en.wikedia.org/wiki/Stream_%28 কমপ্লেটিং ৯৯৯ ।
উইকিপিডিয়া এতে লিঙ্ক করেছে: https://srfi.schemers.org/srfi-41/srfi-41.html
এবং লেখকরা এই স্ট্রিম সম্পর্কে বলতে পারেন:
স্ট্রিমগুলি, কখনও কখনও অলস তালিকাগুলি বলা হয়, কেবলমাত্র চাহিদা অনুযায়ী গণনা করা উপাদানগুলি সহ একটি ক্রমযুক্ত ডেটা কাঠামো। একটি স্ট্রিম হয় নাল বা তার সিডির স্ট্রিমের সাথে একটি জুড়ি। যেহেতু কোনও স্ট্রিমের উপাদানগুলি কেবল অ্যাক্সেসের সময় গণনা করা হয় তাই প্রবাহগুলি অসীম হতে পারে।
সুতরাং একটি স্ট্রিম আসলে একটি ডেটা স্ট্রাকচার।
আমার উপসংহার: একটি স্ট্রিম এমন একটি উত্স যা এমন ডেটা থাকতে পারে যা থেকে পাঠানো যায় বা অনুক্রমিক উপায়ে লেখা যেতে পারে। একটি স্ট্রিম উত্সটিতে যা আছে তা একবারে পড়ে না, এটি ক্রমানুসারে পড়ে / লেখে।
ব্যবহারযোগ্য লিঙ্কগুলি:
- 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