const { getUserMp4, RTCPeerConnection, RTCRtpCodecParameters } = require('werift') const { Server } = require('ws') const server = new Server({ port: 8881 }); console.log("start"); server.on("connection", async (socket) => { const pc = new RTCPeerConnection({ codecs: { video: [ new RTCRtpCodecParameters({ mimeType: "video/H264", clockRate: 90000, rtcpFeedback: [ { type: "nack" }, { type: "nack", parameter: "pli" }, { type: "goog-remb" }, ], }), ], }, }); const stream = await getUserMp4("./1.mp4", true); // pc.addTransceiver(stream.audio, { direction: "sendonly" }); pc.addTransceiver(stream.video, { direction: "sendonly" }); pc.connectionStateChange .watch((state) => state === "connected") .then(() => { stream.start(); }); await pc.setLocalDescription(await pc.createOffer()); const sdp = JSON.stringify(pc.localDescription); socket.send(sdp); socket.on("message", (data) => { pc.setRemoteDescription(JSON.parse(data)); }); });