有人知道用于检测与getUserMedia一起使用的相机硬件的通信标准是什么?
我认为它是MTP或类似的东西,尽管我希望每个浏览器/ OS的实现都不同,但是我已经搜索了两天,但找不到任何可靠的信息。
答案 0 :(得分:7)
我很久以来一直在寻找您问题的答案。最初,我在w3.org WebRTC site上发现了这一点:
本文档在WebIDL中定义了一组ECMAScript API,以允许将媒体发送到另一浏览器或设备并从中接收媒体,以实现适当的实时协议集。此规范是与IETF RTCWEB组开发的协议规范和 API规范一起开发的,以访问Media Capture开发的本地媒体设备特遣队。
然后在"Media transport and use of RTP"网站上,我发现了以下信息:
5.2.4。媒体流识别:
实现SDP捆绑协商扩展的WebRTC端点 将使用SDP分组框架的“ mid”属性来标识媒体 流。这些端点必须实现RTP MID头扩展 在[I-D.ietf-mmusic-sdp-bundle-negotiation]中进行了介绍。
此头扩展使用[RFC5285]通用头扩展 框架,因此在使用前需要进行协商。
12.2.1。媒体来源识别:
每个RTP数据包流都通过唯一的同步进行标识 源(SSRC)标识符。 SSRC标识符包含在每个 RTP数据包包括RTP数据包流,还用于 在相应的RTCP报告中标识该流。 SSRC是 如第4.8节所述进行选择。多路分解的第一阶段 在单个传输层上接收到的RTP和RTCP数据包在 WebRTC端点将根据RTP数据包流将其分离 SSRC值;完成后,可以执行其他解复用步骤 确定如何以及在哪里渲染媒体。
RTP允许混合器或其他RTP层中间盒组合编码 来自多个媒体源的流,从中形成新的编码流 一个新的媒体源(混合器)。该新RTP中的RTP数据包 数据包流可以包括“贡献源”(CSRC)列表, 表明哪些原始SSRC促成了合并源 流。
如第4.1节所述,实现需要支持接收 包含CSRC列表的RTP数据包和 与中国证监会列表中的来源有关。 CSRC列表可以更改 在逐个数据包的基础上,具体取决于混合操作 执行。
了解哪些媒体源促成了特定的RTP数据包 如果用户界面指示哪些参与者,则可能很重要 在会话中处于活动状态。中国证监会清单中的变更包括 数据包需要使用某些API公开给WebRTC应用程序, 如果应用程序能够跟踪会话中的更改 参与。希望将CSRC值映射回WebRTC 跨此API的MediaStream身份,以避免暴露 WebRTC应用程序的SSRC / CSRC命名空间。
如果正在使用混音器到客户端音频级别扩展[RFC6465] 在会话中(请参阅第5.2.3节),证监会列表中的信息 通过每个贡献源的音频级别信息进行扩展。 希望将此信息公开给WebRTC应用程序 在将CSRC值映射到WebRTC MediaStream之后,使用一些API 身份,因此可以在用户界面中公开。
Perkins等人。将于2016年9月18日到期[第35页]
WebRTC的Internet草案RTP,2016年3月
WebRTC的所有传输都列在this site上。
您可以在网站"Real-Time Communication in WEB-browsers (rtcweb)"上找到IETF RTCWEB组中的所有文档。
答案 1 :(得分:4)
webrtc.org库具有一组特定于平台的粘合模块,可以在here和Chrome tree中找到它们。 在Windows上,它使用MediaFoundation API(具有DirectShow的后备功能),Linux上的video4linux和Mac上的AVFoundation