关于通过 websocket 转发 `navigator.mediaDevices.getDisplayMedia` 的 MediaStream 数据

查看 10|回复 0
作者:fzdwx   
大概需求就是局域网内分享屏幕的一个功能
[ol]
  • 第一个进入房间的用户就是分享者
  • 后面进入这个房间的用户都能看到第一个人分享的屏幕
    [/ol]
    这个是客户端发送的代码:
    // send stream to server
    mediaRecorder = new MediaRecorder(stream);
    mediaRecorder.ondataavailable = (e) => {
         if (e.data.size > 0) {
             socket.send(e.data);
         }
    }
    mediaRecorder.start(1000);
    服务端转发的代码:
    socket.onmessage = (m) => {
        broadcast(
            room,
            m.data
        );
    };
    // broadcast 最后也是直接发送: socket.send(message);
    然后客户端接收:
    const blob = new Blob([m.data], {type: "video/webm;codecs=vp8"});
    video.src = URL.createObjectURL(blob);
    客户端最后数据也能接受到,但是就是好像解析不了:

    一直转圈圈,求大佬解答!
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部