Javascript Navigator.MediaDevices.getUserMedia()使用哪些摄像头通信标准?

Javascript Navigator.MediaDevices.getUserMedia()使用哪些摄像头通信标准?,javascript,webrtc,mediadevices,Javascript,Webrtc,Mediadevices,有人知道使用什么通信标准来检测用于getUserMedia的摄像头硬件吗 我假设它是MTP或类似的东西,虽然我希望每个浏览器/操作系统的实现都不同,但我已经搜索了两天,找不到任何关于这方面的可靠信息。我已经搜索了很长时间,寻找您问题的答案。起初,我发现这是在: 本文档在WebIDL中定义了一组ECMAScript API,以允许将媒体发送到另一个浏览器或实现相应实时协议集的设备,并从中接收媒体。本规范与IETF RTCWEB集团制定的协议规范和媒体捕获工作组制定的访问本地媒体设备的API规范一起

有人知道使用什么通信标准来检测用于getUserMedia的摄像头硬件吗


我假设它是MTP或类似的东西,虽然我希望每个浏览器/操作系统的实现都不同,但我已经搜索了两天,找不到任何关于这方面的可靠信息。

我已经搜索了很长时间,寻找您问题的答案。起初,我发现这是在:

本文档在WebIDL中定义了一组ECMAScript API,以允许将媒体发送到另一个浏览器或实现相应实时协议集的设备,并从中接收媒体。本规范与IETF RTCWEB集团制定的协议规范和媒体捕获工作组制定的访问本地媒体设备的API规范一起制定

然后在网站上我发现了以下信息:

5.2.4。媒体流标识:

实现SDP包协商扩展的WebRTC端点 将使用SDP分组框架“mid”属性来标识媒体 溪流。此类端点必须实现RTP MID头扩展 如[I-D.ietf-mmusic-sdp-bundle-NEGATIONG]所述

此标头扩展使用[RFC5285]通用标头扩展 框架,因此需要在使用之前进行协商

12.2.1。媒体源标识:

每个RTP包流由唯一的同步来标识 源(SSRC)标识符。SSRC标识符包含在每个 所述RTP分组包括RTP分组流,并且还用于 在相应的RTCP报告中标识该流。SSRC是 如第4.8节所述选择。解复用的第一阶段 在单个传输层上接收的RTP和RTCP数据包在 WebRTC端点是根据RTP数据包流的特性分离RTP数据包流 SSRC值;完成后,可以执行其他解复用步骤 确定渲染媒体的方式和位置

RTP允许混音器或其他RTP层中间盒组合编码 来自多个媒体源的流,以形成来自 新媒体源(混音器)。新RTP中的RTP数据包 分组流可以包括贡献源(CSC)列表, 指示哪些原始SSRC对组合源有贡献 小溪

如第4.1节所述,实施需要支持接收 包含CSC列表的RTP数据包和 与中国证监会名单中的来源相关。中国证监会的名单可能会改变 以分组为基础,取决于正在进行的混合操作 表演

了解哪些媒体源对特定RTP数据包有贡献 如果用户界面指示了哪些参与者,则可能很重要 在会话中处于活动状态。中国证监会名单中包含的变更 需要使用一些API将数据包公开给WebRTC应用程序, 如果应用程序要能够跟踪会话中的更改 参与。最好将CSC值映射回WebRTC 跨此API的MediaStream标识,以避免暴露 SSRC/CSC名称空间到WebRTC应用程序

如果正在使用混音器到客户端音频电平扩展[RFC6465] 在会议期间(见第5.2.3节),中国证监会名单中的信息 通过每个贡献源的音频级别信息进行增强。 希望将此信息公开给WebRTC应用程序 在将CSC值映射到WebRTC MediaStream之后,使用一些API 身份,因此可以在用户界面中公开

Perkins等人于2016年9月18日到期[第35页]

2016年3月WebRTC的互联网RTP草案

上列出了WebRTC的所有传输

您可以在网站上找到IETF RTCWEB组中的所有文档


有关更多信息:


我的结论是:

  • 会话描述协议(SDP)
  • 实时传输协议(RTP)(可能太复杂)

  • webrtc.org库有一组特定于平台的粘合模块,可以在中找到,也可以在中找到。
    在Windows上,它使用MediaFoundation API(可回退到DirectShow)、Linux上的video4linux和Mac上的AVFoundation

    如果您只谈论硬件检测协议,那么我认为您是对的。每个浏览器都使用特定操作系统中定义的方法来访问相机硬件。但是如果您正在寻找
    WebRTC
    中使用的媒体传输协议,那么您可以通过。