Example
Peer-to-peer video chat
Use media streams for camera and microphone data and let Trystero handle room discovery and peer connection setup.
Send and receive camera streams
Add your local stream to the room, then attach remote streams as peers arrive.
import {joinRoom} from 'trystero'
const room = joinRoom({appId: 'video-chat'}, callId)
const localStream = await navigator.mediaDevices.getUserMedia({
audio: true,
video: true
})
localVideo.srcObject = localStream
room.addStream(localStream)
room.onPeerJoin = peerId => {
room.addStream(localStream, {target: peerId})
}
room.onPeerStream = (stream, peerId) => {
const video = createPeerVideo(peerId)
video.srcObject = stream
video.play()
}
room.onPeerLeave = peerId => {
removePeerVideo(peerId)
}