Javascript 在不到100ms的时间内将websocket中的240x240px映像发送到其他客户端

Javascript 在不到100ms的时间内将websocket中的240x240px映像发送到其他客户端,javascript,node.js,websocket,Javascript,Node.js,Websocket,在我正在进行的一个项目中,我需要非常快速地发送图像,但是使用socket.io,图像以低帧速率发送,我重新实现了代码,以便在客户端和服务器中使用本机WebSocket库,但这并没有带来太多性能增益。现在,我正在发送一个皮克斯数组。有没有一种方法可以在客户端javascript中压缩这些数据,或者更好,有没有什么技巧可以加快WebSocket的速度 以下是用于发送图像的客户端代码: ctx.drawImage(video, 0, 0, canvasDimension, canvasDimensio

在我正在进行的一个项目中,我需要非常快速地发送图像,但是使用socket.io,图像以低帧速率发送,我重新实现了代码,以便在客户端和服务器中使用本机WebSocket库,但这并没有带来太多性能增益。现在,我正在发送一个皮克斯数组。有没有一种方法可以在客户端javascript中压缩这些数据,或者更好,有没有什么技巧可以加快WebSocket的速度

以下是用于发送图像的客户端代码:

ctx.drawImage(video, 0, 0, canvasDimension, canvasDimension);

                      const imageData = ctx.getImageData(0, 0, canvasDimension, canvasDimension);
                      const buffer = [...new Uint8ClampedArray(imageData.data.buffer)];
                      
                      ws.send(JSON.stringify({
                        type: "webcamSnapshot",
                        payload: buffer
                      }));

为什么在发送二进制数据之前要将其转换为JSON?为什么不直接以二进制形式发送图像字节,然后让客户端处理呢?@selbie WebSockets需要字符串数据。据我所知,这是不正确的。也许您可以发送(压缩的)图像,而不是RGB字节?使用