WebRTC可以在服务器端用于获取流帧吗?

时间:2019-03-20 16:17:30

标签: video-streaming webrtc video-processing live-streaming http-live-streaming

我想从浏览器(PC / Mac / Android)到Java服务器的摄像机流,以便在框架上运行某些CV算法?
WebRTC是否将是一个很好的解决方案,我知道它主要用于2端点通信解决方案。但是我想知道是否只能将它用于Java服务器的一个方向,以某种方式可以处理流的每一帧?

任何已知的解决方案\项目?
是否有另一项好的技术(跨平台客户端和Java服务器)用于实时流传输和分析?

2 个答案:

答案 0 :(得分:1)

在网络上无休止地回答了这个问题;当然,在服务器代码中实现WebRTC时,您可以得到框架,很可能是通过使用Google的WebRTC本机API:https://webrtc.org/native-code/ 因此,它仍然是点对点的,但是一个点是Web浏览器,另一个点是您的服务器。可能使您的想法无效的真正问题是,您正在接收高度压缩的视频(VP8 / VP9 / H264),因此您在解压缩后将获得原始帧,那么从这些帧上工作可以期望得到什么质量的简历? >

答案 1 :(得分:0)

有两种方法:

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应用。