Day 57

WebRTC Basics

12 min
JavaScript 100 Days

WebRTC (Web Real-Time Communication) browser-to-browser direct communication allow karta hai bina server ke — video calls, audio calls, file sharing. Google Meet, Zoom — sab WebRTC use karte hain.

getUserMedia — Camera/Mic Access

User ka camera aur microphone access karo.

camera.js
javascript
async function startCamera() {
  try {
    const stream = await navigator.mediaDevices.getUserMedia({
      video: { width: 1280, height: 720 },
      audio: true
    });
    
    const video = document.getElementById("myVideo");
    video.srcObject = stream;
    video.play();
    
    console.log("Camera started!");
    return stream;
    
  } catch (err) {
    if (err.name === "NotAllowedError") {
      console.error("Permission denied!");
    } else {
      console.error("Error:", err.message);
    }
  }
}

// Screen share
async function shareScreen() {
  const stream = await navigator.mediaDevices.getDisplayMedia({ video: true });
  document.getElementById("screen").srcObject = stream;
}

// Stop all tracks
function stopCamera(stream) {
  stream.getTracks().forEach(track => track.stop());
}

🎯 Practice Challenge

Simple camera app banao — camera stream dikhao, snapshot lene ka button, aur record karne ki functionality.