gpt4 book ai didi

html - 如何将网络摄像头流式传输到服务器并操作流

转载 作者:太空狗 更新时间:2023-10-29 14:10:55 26 4
gpt4 key购买 nike

我想将用户的网络摄像头(从浏览器)传输到服务器,我需要服务器能够处理流(在该视频流上运行一些 C 算法)并向用户发送回信息。

我仔细研究了 WebRTC 和 MediaCapture 并阅读了此处的示例:https://bitbucket.org/webrtc/codelab/overview .

然而,这是为点对点视频聊天而设计的。据我了解,来自 getUserMedia 的 MediaStream 是通过 RTCPeerConnection (with addStream) 传输的;我想知道的是:我可以使用它,但在服务器上处理视频流吗?

预先感谢您的帮助

最佳答案

这是我设计的解决方案。我在这里发帖是为了寻求同类信息的人:-)

前端

我使用 WebRTC API:使用 getUserMedia 获取网络摄像头流,打开 RTCPeerConnection(和 RTCDataChannel 获取不利信息)。流采用 DTLS 加密(强制),多媒体流使用 RTP 和 RTCP。视频采用 VP8 编码,音频采用 Opus 编码。

后端侧

在后端,这是复杂的部分。我能找到的(目前)最好的选择是 Janus Gateway .它负责很多事情,比如 DTLS 握手、RTP/RTCP 解复用等。基本上,每次传输 RTP 数据包时它都会触发一个事件。 (RTP 数据包通常是 MTU 的大小,因此视频帧和 RTP 数据包之间不是 1:1 的映射。

然后我构建了一个 GStreamer(1.0 版)来解包 RTP 数据包,解码 VP8,确保视频缩放和色彩空间/格式转换以发布 BGR 矩阵(与 OpenCV 兼容)。管道的开头有一个 AppSrc 组件,结尾有一个 AppSink

还有什么要做

我必须采取额外的措施来确保良好的可伸缩性(线程、内存泄漏等),并找到一种干净高效的方式来使用我在这个程序中拥有的 C++ 库。

希望对您有所帮助!

关于html - 如何将网络摄像头流式传输到服务器并操作流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23628422/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com