Coderbrix

Coderbrix

  • About
  • Services
  • Blog
  • Careers
Contact
Coderbrix
Coderbrix

Coderbrix

With our innovative solutions and dedicated expertise, success is a guaranteed outcome. Lets accelerate together towards your goals and beyond.🧘

Subscribe to our newsletter.

Quick Links

    HomeAboutBlogContact

Company

    BenifitsCollaboratesTeam OffshoringTerms & ConditionsPrivacy Policy

Resources

    BlogCareersFAQs

Social Links

    LinkedInFacebookDribble

Copyright © 2025 Coderbrix. All rights reserved.

Lets Connect
Back to Blogs

Node.js-এ WebRTC সেটআপ

  • Rayhan

    Rayhan KObir

  • June 18, 2024(1 year ago)
Blog

Node.js-এ WebRTC সেটআপ

WebRTC (Web Real-Time Communication) ব্যবহার করে আপনি ব্রাউজার বা অ্যাপ্লিকেশনের মধ্যে সরাসরি অডিও, ভিডিও ও ডেটা আদান-প্রদান করতে পারেন। Node.js-এ WebRTC সেটআপ করতে হলে সাধারণত signaling server, peer connection এবং মিডিয়া হ্যান্ডলিং নিয়ে কাজ করতে হয়।

Step 1: Signaling Server তৈরি

Signaling server পিয়ারগুলোর মধ্যে কানেকশন সেটআপ, অফার/আনসার ও আইস ক্যান্ডিডেট এক্সচেঞ্জের জন্য ব্যবহৃত হয়। Node.js-এ Express ও Socket.io দিয়ে সহজেই signaling server তৈরি করা যায়।

// Express ও Socket.io দিয়ে signaling server
const express = require("express");
const http = require("http");
const { Server } = require("socket.io");
 
const app = express();
const server = http.createServer(app);
const io = new Server(server);
 
io.on("connection", (socket) => {
  socket.on("signal", (data) => {
    socket.broadcast.emit("signal", data);
  });
});
 
server.listen(3000, () => {
  console.log("Signaling server running on port 3000");
});

Step 2: ক্লায়েন্ট সাইড WebRTC কানেকশন

ক্লায়েন্ট সাইডে, WebRTC API ব্যবহার করে peer connection তৈরি করতে হবে এবং signaling server-এর মাধ্যমে অফার, আনসার ও আইস ক্যান্ডিডেট এক্সচেঞ্জ করতে হবে।

// ক্লায়েন্ট সাইড উদাহরণ (ব্রাউজার)
const socket = io("http://localhost:3000");
const peer = new RTCPeerConnection();
 
peer.onicecandidate = (event) => {
  if (event.candidate) {
    socket.emit("signal", { candidate: event.candidate });
  }
};
 
socket.on("signal", async (data) => {
  if (data.offer) {
    await peer.setRemoteDescription(new RTCSessionDescription(data.offer));
    const answer = await peer.createAnswer();
    await peer.setLocalDescription(answer);
    socket.emit("signal", { answer });
  } else if (data.answer) {
    await peer.setRemoteDescription(new RTCSessionDescription(data.answer));
  } else if (data.candidate) {
    await peer.addIceCandidate(new RTCIceCandidate(data.candidate));
  }
});

Step 3: মিডিয়া হ্যান্ডলিং

ক্লায়েন্ট সাইডে, ইউজারের ক্যামেরা ও মাইক্রোফোন থেকে মিডিয়া স্ট্রিম নিয়ে peer connection-এ যোগ করতে পারেন।

navigator.mediaDevices
  .getUserMedia({ video: true, audio: true })
  .then((stream) => {
    stream.getTracks().forEach((track) => peer.addTrack(track, stream));
  });

উপসংহার:
Node.js-এ WebRTC সেটআপ করতে signaling server, peer connection এবং মিডিয়া হ্যান্ডলিং-এর সমন্বয় দরকার। এইভাবে আপনি সহজেই রিয়েল-টাইম ভিডিও/অডিও চ্যাট, লাইভ স্ট্রিমিং বা ডেটা শেয়ারিং অ্যাপ্লিকেশন

If you found this helpful, please share it!

Elevate Your Businesses With our Digital Services

We always work on developing feature-rich customize solutions so your business can be constant with the evolving trends in the eCommerce industry.

Get in Touch