我正在尝试在服务器上构建一个实时分析系统,以使用WebRTC从客户端流式传输视频。
这里是我目前的想法。我将从客户端捕获网络摄像头视频流并将其发送(使用H.264压缩)到我的服务器。
在服务器上,我将流和每个原始帧接收到C ++库中进行分析。
然后,分析的输出(绘制的框坐标)将通过WebRTC或单独的WebSocket连接发送回客户端。
我一直在网上寻找并找到像Kurento和Mediasoup这样的开源媒体服务器,但是,由于我只需要读取流(无需分派给其他客户端),我真的需要使用现有的服务器吗?还是我可以自己构建它,如果可以的话,从哪里开始?
我通常对WebRTC和视频流世界还很陌生,所以我想知道,这听起来对您来说合适吗?
这取决于您的实时性。如果您想要30-60fps且接近实时,则将图像通过RTP获取到服务器是最好的解决方案。然后,您将需要诸如抖动缓冲区,解包等,视频解码器等之类的东西。
如果每秒仅需要一张图像,则从画布上抓取图像并通过Websockets或HTTP POST发送图像会更容易。 https://webrtchacks.com/webrtc-cv-tensorflow/显示了如何在Python中执行此操作。