I can't find any proper course on WebRTC so i posted this question.In my project i'd like to implement video call function between 2 people (no group calls). How do i learn webRTC I created a basic code with HTML and js using webRTC
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>MediaStream</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/4.1.2/socket.io.js"></script>
</head>
<body>
<center>
<video autoplay id="video"></video>
<br>
<button id="mute" onclick="toggleAudio()">Mute</button>
<button onclick="toggleVideo()">Toggle Video</button>
</center>
<script src="index.js"></script>
</body>
</html>
This is my JS Code
const options={
video:true,
audio:false
}
//this function is read when the stream is found
const mediaStreamSuccess=(stream)=>{
const vid=document.querySelector('#video')
//assign source object as stream
vid.srcObject=stream
}
//error handling
const mediaStreamError=(error)=>{
console.log(error)
}
//navigate through media devices to get user media
navigator.mediaDevices.getUserMedia(options)
.then(mediaStreamSuccess)
.catch(mediaStreamError)
function toggleAudio(){
options.audio=!options.audio
navigator.mediaDevices.getUserMedia(options)
.then(mediaStreamSuccess).catch(mediaStreamError)
}
function toggleVideo(){
options.video=!options.video
navigator.mediaDevices.getUserMedia(options)
.then(mediaStreamSuccess).catch(mediaStreamError)
}
This is my server code with socket.
const express=require('express')
const http=require('http')
const socketIO=require('socket.io')
const path=require('path')
const { userInfo } = require('os')
const app=express()
//using socketIO instance by passing server to it
const server=http.createServer(app)
const io=socketIO(server)
app.use(express.static(path.join(__dirname,'public')))
app.get('/',(req,res)=>{
res.sendFile(path.join(__dirname,'index.html'))
})
//creating a server instance
io.on('connection',socket=>{
console.log('user connected')
io.emit('User logged in',{userInfo :socket.id})
socket.on('disconnect',()=>{
io.emit('User logged out',{userInfo :socket.id})
})
})
server.listen(3000,()=>{
console.log('listening at 3000')
})
Here how do i secure video call and how do i use sockets for it.(I'm asking it bc i can't find much information about webRTC projects).