将视频 stream/images 发送到 websocket 服务器

Send video stream/images to a websocket server

我正在开发一个处理图像的应用程序。有一个 HTML 前端我必须从网络摄像头捕获图像(使用 video 标签)并将它们连续发送到服务器。然后将对图像进行分析,当检测到对象时 (x, y, z) 点将被发送回客户端。

我现在有 2 个近似值:

1.- 不断捕获帧(使用不可见的 canvas 并预先将帧加载到那里)并使用 Base64 编码将它们发送到服务器。 (例如 Capture frames from video with HTML5 and JavaScript
优点:
- 易于实施。

缺点:
- 非常慢。许多图像将被连续发送,应该非常快速地处理。 (在这种情况下,图像必须在到达时保存并在处理后删除)

2.- 发送视频流并处理服务器中的所有帧。
优点:
- 数据发送速度非常快。

缺点:
- 复杂的。不知道怎么实现。

有什么制作技巧吗?

首先,您不应该使用 Websockets,因为它是一种变通方法。 您最好使用 WebRTC,它会直接从网络摄像头捕获帧,然后它会在 VP8 编解码器中对帧进行编码并发送到服务器。

因此在服务器端,您可以使用 libvp8 解码图片并识别所需的对象。因此,您所需要的只是一台能够接收 WebRTC 流并访问解码图片以进行进一步处理的服务器。