我想从浏览器(PC / Mac / Android)到Java服务器制作相机流,以便在帧上运行一些简历算法? WebRTC是否是一个很好的解决方案,我知道它主要用于双端点通信解决方案。但我想知道我是否只能将它用于Java服务器的一个方向,以某种方式可以处理流的每个帧? 任何已知的解决方案项目? 是否存在另一种用于实时流媒体和分析的优秀技术(跨平台客户端和Java服务器)?
在整个网络上无限次地回答这个问题;当然,当您在服务器代码中实现WebRTC时,您可以获得框架,最有可能是使用Google的WebRTC本机API:https://webrtc.org/native-code/所以它仍然是点对点的,但是一个对等体是Web浏览器,另一个对等体是您的服务器。可能使您的想法无效的真正问题是,您正在接收高度压缩的视频(VP8 / VP9 / H264),因此您将在解压缩后获得原始帧,那么您对这些帧的工作质量CV是什么?
有两种方法:
1)忽略WebRTC及其对等(或对等到服务器)功能,在本地获取帧并使用HTTP将其发送到服务器。 https://webrtchacks.com/webrtc-cv-tensorflow/有详细说明。
2)使用WebRTC将实际流传输到另一端。这要求服务器了解WebRTC。 https://doc-kurento.readthedocs.io/en/6.9.0/tutorials/java/tutorial-magicmirror.html展示了一个例子,甚至用Java编写。
http-post方法更简单,但带宽要求使其有点不适合高fps应用程序。