Screen Sharing এবং Display Media API

WebRTC API এর উন্নত ব্যবহার - ওয়েবআরটিসি (WebRTC) - Web Development

329

WebRTC (Web Real-Time Communication) প্রযুক্তি শুধুমাত্র ভিডিও এবং অডিও কলের জন্য নয়, এটি screen sharing বা স্ক্রীন শেয়ারিং করতে ব্যবহৃত হতে পারে। স্ক্রীন শেয়ারিং প্রযুক্তিটি ব্যবহৃত হয় যখন আপনি আপনার ডিভাইসের স্ক্রীন (যেমন ডেস্কটপ বা ওয়েব পেজ) অন্য কাউকে দেখাতে চান। এটি বিশেষ করে ভিডিও কনফারেন্সিং বা ওয়েবinar ধরনের অ্যাপ্লিকেশনগুলিতে ব্যবহৃত হয়।

Display Media API হল একটি WebRTC API যা স্ক্রীন বা ডেস্কটপ শেয়ারিংয়ের জন্য ব্যবহৃত হয়। এই API ব্যবহার করে আপনি একটি পেজ থেকে অন্য পেজে বা পিয়ার-টু-পিয়ার যোগাযোগে আপনার স্ক্রীন, একটি নির্দিষ্ট উইন্ডো, অথবা কোনো ট্যাব শেয়ার করতে পারেন।

১. Display Media API কী?

Display Media API হল একটি JavaScript API, যা ওয়েব পেজের মাধ্যমে ব্যবহারকারীর স্ক্রীন বা একটি নির্দিষ্ট অ্যাপ্লিকেশন উইন্ডো শেয়ার করার জন্য ব্যবহৃত হয়। এই API getDisplayMedia() মেথডের মাধ্যমে কাজ করে। ব্যবহারকারী যখন তাদের স্ক্রীন শেয়ার করতে চান, তখন ব্রাউজার একটি পপআপ দেখাবে যাতে তারা তাদের স্ক্রীন বা অ্যাপ্লিকেশন উইন্ডো নির্বাচন করতে পারে।

২. getDisplayMedia() মেথড

getDisplayMedia() মেথড ব্যবহার করে আপনি ব্যবহারকারীর স্ক্রীন শেয়ার করতে পারেন। এটি একটি Promise রিটার্ন করে, যা একটি MediaStream অবজেক্ট প্রদান করে, যার মাধ্যমে আপনি স্ক্রীন শেয়ার করতে পারেন।

getDisplayMedia() ব্যবহার করার উদাহরণ:

navigator.mediaDevices.getDisplayMedia({ video: true })
  .then((stream) => {
    // স্ক্রীন শেয়ারিং স্ট্রিম সংগ্রহ হয়েছে
    const video = document.querySelector('video');
    video.srcObject = stream;
  })
  .catch((err) => {
    console.error("Error accessing display media: ", err);
  });

এখানে:

  • { video: true } অপশন ব্যবহার করে স্ক্রীন থেকে ভিডিও স্ট্রিম সংগ্রহ করা হচ্ছে।
  • getDisplayMedia() ব্যবহারকারীর স্ক্রীন বা অ্যাপ্লিকেশন উইন্ডো শেয়ার করার অনুমতি চায় এবং সফল হলে একটি MediaStream রিটার্ন করে।
  • stream অবজেক্টটিকে একটি <video> ট্যাগের srcObject হিসাবে সেট করা হচ্ছে যাতে স্ক্রীন শেয়ারিং প্রদর্শিত হয়।

৩. স্ক্রীন শেয়ারিং অপশন

getDisplayMedia() মেথডটি বিভিন্ন কনফিগারেশন অপশন নিতে পারে, যেমন:

  • video: স্ক্রীনের ভিডিও স্ট্রিম শেয়ার করা হবে।
  • audio: স্ক্রীনের সাথে অডিও শেয়ার করার জন্য।

যদি আপনি স্ক্রীনের সাথে অডিও শেয়ার করতে চান, তবে আপনি { audio: true, video: true } অপশন ব্যবহার করতে পারেন, তবে এটি কিছু ব্রাউজারে সমর্থিত নয়।

স্ক্রীন শেয়ারিং ও অডিও শেয়ারিং উদাহরণ:

navigator.mediaDevices.getDisplayMedia({ video: true, audio: true })
  .then((stream) => {
    // স্ক্রীন এবং অডিও শেয়ার করা হচ্ছে
    const video = document.querySelector('video');
    video.srcObject = stream;
  })
  .catch((err) => {
    console.error("Error accessing display media: ", err);
  });

৪. স্ক্রীন শেয়ারিং স্ট্রিমকে RTCPeerConnection এর মাধ্যমে শেয়ার করা

একটি স্ক্রীন শেয়ারিং স্ট্রিম তৈরি হওয়ার পর, আপনি সেই স্ট্রিমটিকে RTCPeerConnection এর মাধ্যমে অন্য পিয়ার বা ক্লায়েন্টের সাথে শেয়ার করতে পারেন, যেমন ভিডিও কল বা ভিডিও কনফারেন্সিং অ্যাপ্লিকেশনগুলিতে ব্যবহৃত হয়।

স্ক্রীন শেয়ারিং স্ট্রিম RTCPeerConnection এ যোগ করা:

navigator.mediaDevices.getDisplayMedia({ video: true })
  .then((stream) => {
    // RTCPeerConnection তৈরি
    const peerConnection = new RTCPeerConnection();

    // স্ক্রীন স্ট্রিমটিকে পিয়ার কনেকশনে যোগ করা
    stream.getTracks().forEach(track => peerConnection.addTrack(track, stream));

    // এখানে অন্যান্য WebRTC সিগন্যালিং এবং পিয়ার কনেকশন কাজ করা যাবে
  })
  .catch((err) => {
    console.error("Error accessing display media: ", err);
  });

এখানে:

  • stream.getTracks() মেথডটি স্ট্রিমের সব ট্র্যাক সংগ্রহ করে, এবং তারপর সেগুলো RTCPeerConnection.addTrack() মেথডে যোগ করা হয়।

৫. স্ক্রীন শেয়ারিং বন্ধ করা

যদি ব্যবহারকারী স্ক্রীন শেয়ারিং বন্ধ করতে চান, তখন স্ট্রিমের ট্র্যাকগুলো বন্ধ করা প্রয়োজন।

স্ক্রীন শেয়ারিং বন্ধ করার উদাহরণ:

// স্ক্রীন স্ট্রিম বন্ধ করা
const tracks = stream.getTracks();
tracks.forEach(track => track.stop());

এখানে:

  • getTracks() ব্যবহার করে স্ট্রিমের সমস্ত ট্র্যাক নেওয়া হয়, তারপর stop() মেথডের মাধ্যমে তাদের বন্ধ করা হয়।

৬. স্ক্রীন শেয়ারিং নিরাপত্তা এবং অনুমতি

  • স্ক্রীন শেয়ারিং অ্যাপ্লিকেশনগুলির জন্য ব্রাউজার ব্যবহারকারীর কাছ থেকে স্ক্রীন শেয়ারিংয়ের অনুমতি চায়। ব্যবহারকারী যখন স্ক্রীন শেয়ার করার চেষ্টা করেন, তখন ব্রাউজার একটি ডায়ালগ বক্স দেখায় যেখানে তারা নির্দিষ্ট স্ক্রীন, উইন্ডো, বা ব্রাউজার ট্যাব নির্বাচন করতে পারে।
  • HTTPS প্রোটোকল এবং Secure Contexts ব্যবহার করা বাধ্যতামূলক, কারণ স্ক্রীন শেয়ারিং নিরাপত্তার জন্য ঝুঁকিপূর্ণ হতে পারে।

৭. স্ক্রীন শেয়ারিংয়ের ব্যবহার

WebRTC এর স্ক্রীন শেয়ারিং প্রযুক্তি অনেক ধরনের অ্যাপ্লিকেশন তৈরি করতে সহায়তা করে, যেমন:

  • ভিডিও কনফারেন্সিং: ব্যবহারকারীরা তাদের স্ক্রীন শেয়ার করতে পারে, যা ফাইল দেখানো, প্রেজেন্টেশন, বা কোড শেয়ারিংয়ের জন্য কাজে আসে।
  • ওয়েবিনার: একাধিক বক্তা বা প্যানেলিস্ট তাদের স্ক্রীন শেয়ার করতে পারে।
  • কোলাবোরেটিভ টুলস: একাধিক ব্যবহারকারী একসাথে কাজ করতে পারে এবং স্ক্রীন শেয়ার করে আইডিয়া বা ডকুমেন্ট শেয়ার করতে পারে।

সারাংশ

Display Media API এবং getDisplayMedia() মেথড WebRTC এর স্ক্রীন শেয়ারিং কার্যক্রমের জন্য ব্যবহৃত হয়। এই API ব্যবহার করে আপনি ব্যবহারকারীর স্ক্রীন বা একটি নির্দিষ্ট উইন্ডো শেয়ার করতে পারেন এবং সেই স্ট্রিমটি RTCPeerConnection এর মাধ্যমে অন্য পিয়ার বা ক্লায়েন্টের সাথে শেয়ার করতে পারেন। স্ক্রীন শেয়ারিংয়ের জন্য নিরাপত্তা, অনুমতি, এবং HTTPS প্রোটোকল ব্যবহার অত্যন্ত গুরুত্বপূর্ণ। WebRTC এর স্ক্রীন শেয়ারিং প্রযুক্তি অনেক ধরনের রিয়েল-টাইম কমিউনিকেশন অ্যাপ্লিকেশনে কার্যকরী ভূমিকা পালন করে।

Content added By
Promotion

Are you sure to start over?

Loading...