Skip to content

WebRTC & Video Streaming

আধুনিক ইন্টারনেটে ভিডিও কলিং এবং হাই-কোয়ালিটি ভিডিও স্ট্রিমিংয়ের জন্য বিশেষ কিছু টেকনোলজি এবং প্রোটোকল ব্যবহার করা হয়।

1. WebRTC (Web Real-Time Communication)

WebRTC হলো একটি ওপেন সোর্স প্রজেক্ট যা ব্রাউজার এবং মোবাইল অ্যাপকে সরাসরি একে অপরের সাথে তথ্য আদান-প্রদান (P2P - Peer to Peer) করার সুবিধা দেয়।

মূল বৈশিষ্ট্য:

  • P2P Communication: ডেটা কোনো সেন্ট্রাল সার্ভার ছাড়াই সরাসরি এক ইউজার থেকে অন্য ইউজারের কাছে যায় (কিছু বিশেষ ক্ষেত্র ছাড়া)।
  • Low Latency: এটি UDP প্রোটোকলের ওপর ভিত্তি করে চলে, তাই ল্যাটেন্সি অনেক কম। ভিডিও কলের জন্য এটি অপরিহার্য।
  • Audio/Video & Data: এটি শুধুমাত্র ভিডিও নয়, অডিও এবং যেকোনো ধরনের বাইনারি ডেটা দ্রুত পাঠাতে পারে।

কিভাবে কানেক্ট হয়? (Signaling & NAT)

ডাইরেক্ট কানেক্ট হওয়া কঠিন কারণ অনেকের আইপি পাবলিক থাকে না। তাই:

  • Signaling: ইউজাররা একে অপরের মেটাডেটা শেয়ার করার জন্য একটি ছোট সার্ভার ব্যবহার করে।
  • STUN/TURN Servers: ফায়ারওয়াল বা নেটওয়ার্ক সমস্যা থাকলে এই সার্ভারগুলো কানেকশনটি সফল করতে সাহায্য করে।

উদাহরণ: Google Meet, Zoom (Web version), Discord (Voice/Video).

2. Video Streaming (HLS & DASH)

ভিডিও স্ট্রিমিং (যেমন: Netflix, YouTube) সরাসরি ফাইল ডাউনলোড নয়। এখানে ভিডিওকে ছোট ছোট টুকরো (Chunks) করে পাঠানো হয়।

প্রধান প্রোটোকলসমূহ:

  1. HLS (HTTP Live Streaming): এটি অ্যাপল (Apple) দ্বারা তৈরি। এক একটি ভিডিও ফাইলকে ৫-১০ সেকেন্ডের ছোট ছোট .ts ফাইলে ভাগ করে পাঠানো হয়। এটি প্রায় সব ডিভাইসে সাপোর্ট করে।
  2. DASH (Dynamic Adaptive Streaming over HTTP): এটি একটি ইন্ডাস্ট্রি স্ট্যান্ডার্ড। এটি নেটওয়ার্কের স্পিড বুঝে ভিডিও কোয়ালিটি অটোমেটিক অ্যাডজাস্ট করতে পারে।

স্ট্রিমিং কিভাবে কাজ করে?

  • Transcoding: মূল ভিডিওটিকে বিভিন্ন রেজোলিউশনে (720p, 1080p, 4k) কনভার্ট করা।
  • Packaging: ভিডিওগুলোকে ছোট চাঙ্ক এবং একটি মেনিফেস্ট ফাইল (Manifest File) এ সাজানো।
  • CDN: সারা বিশ্বের ইউজারের কাছে দ্রুত পৌঁছানোর জন্য এজ সার্ভারে ক্যাশ করা।

WebRTC বনাম Video Streaming

বৈশিষ্ট্যWebRTCVideo Streaming (HLS/DASH)
ল্যাটেন্সিসাব-সেকেন্ড (খুবই কম)৩-৩০ সেকেন্ড
কমিউনিকেশনদ্বিমুখী (Bidirectional)একমুখী (One-way)
আর্কিটেকচারP2P / Peer to PeerClient-Server / CDN based
ব্যবহারভিডিও কল, গেমিংমুভি দেখা, ইউটিউব

NOTE

ভিডিও স্ট্রিমিংয়ে কোয়ালিটি ধরে রাখা এবং ব্যান্ডউইথ সেভ করাই মূল লক্ষ্য, কিন্তু ভিডিও কলে ল্যাটেন্সি বা বিলম্ব কমানোই প্রধান চ্যালেঞ্জ।

Released under the MIT License.