将视频 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 流并访问解码图片以进行进一步处理的服务器。
我正在开发一个处理图像的应用程序。有一个 HTML 前端我必须从网络摄像头捕获图像(使用 video 标签)并将它们连续发送到服务器。然后将对图像进行分析,当检测到对象时 (x, y, z) 点将被发送回客户端。
我现在有 2 个近似值:
1.- 不断捕获帧(使用不可见的 canvas 并预先将帧加载到那里)并使用 Base64 编码将它们发送到服务器。 (例如 Capture frames from video with HTML5 and JavaScript)
优点:
- 易于实施。
缺点:
- 非常慢。许多图像将被连续发送,应该非常快速地处理。 (在这种情况下,图像必须在到达时保存并在处理后删除)
2.- 发送视频流并处理服务器中的所有帧。
优点:
- 数据发送速度非常快。
缺点:
- 复杂的。不知道怎么实现。
有什么制作技巧吗?
首先,您不应该使用 Websockets,因为它是一种变通方法。 您最好使用 WebRTC,它会直接从网络摄像头捕获帧,然后它会在 VP8 编解码器中对帧进行编码并发送到服务器。
因此在服务器端,您可以使用 libvp8 解码图片并识别所需的对象。因此,您所需要的只是一台能够接收 WebRTC 流并访问解码图片以进行进一步处理的服务器。