当前位置: 首页 > 知识库问答 >
问题:

使用getUserMedia API配置帧格式

盖博简
2023-03-14

我有以下代码在我的Google Chrome浏览器中传输连接的视频源。WebRTC的getUserMedia执行此操作。下面的代码片段用于配置我的外部相机设备的分辨率和帧速率。

function configureVideo()
{
      const video_constraints ={};

      //Create the following keys for Constraint
      video_constraints.video = {};

      //set camera name
      video_constraints.video.deviceId = {};
      video_constraints.video.deviceId.exact = <device_id_comes_here>

      //set resolution Width
      video_constraints.video.width = {};
      video_constraints.video.width.exact = 640;

      //set resolution height
      video_constraints.video.height = 480;
      video_constraints.video.height.exact = streamHeight;

      //set fps
      video_constraints.video.frameRate = 60;
      video_constraints.video.frameRate.exact = streamFps;

      console.log("Selected Contraints is :", video_constraints);

      navigator.mediaDevices.getUserMedia(video_constraints).then(streamCallback).catch(handleError);
}

是的,我成功地从我的外部摄像机设备传输视频。相机提供两种帧格式YUYV和BY8。但是我真的不知道什么帧格式目前流。

是否有任何方法可以在WebRTC中配置我感兴趣的视频帧格式。

共有1个答案

拓拔泉
2023-03-14

回答您的问题“有没有任何方法可以在WebRTC中配置我感兴趣的视频帧格式”答案是否定的...这很令人沮丧!

您必须获取流并将其呈现到画布以获取数据,然后进行转换。。。这主要是由于MediaCapture的功能和帧可能经过的转换(取决于浏览器实现)。您可以使用ImageCapture获得更多相机属性(并将其作为ImageBitmap获得),但目前的支持非常弱。

请阅读下面我的答案,其中深入介绍了MediaCapture和ImageCapture的使用案例,以了解更多信息。

为什么iPad/iOS上的本机相机分辨率-vs-getUserMedia的差异?

当相机自动对焦时拍照

 类似资料:
  • 在哪里可以配置Jupyter,使DataFrame对象在默认情况下显示为带边框的完整表? 现在看起来是这样的:

  • 格式约定: 参阅xsd文件(包含在jar中): nutz-ioc-0.1.xsd Git@OSC镜像 示例文件 示例 Git@OSC镜像: <ioc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="nutz-ioc-0.1.xsd"> <obj name="o

  • 配置文件使用的是 JSON 格式。 JSON 中使用的数据结构和变量名对应着 Burp UI 中显示选项。生成配置文件的最简单方法是在 Burp UI 中创建所需的配置,然后保存为配置文件。您还可以手动编辑现有的配置文件,其内容是很容易就可以看懂的。 部分配置文件可以在需要时使用。您可以通过每个子工具选项卡的配置面板上的”选项(Options)”按钮来保存该区域的配置,或者通过从完整配置的文件中删

  • 高级规则的配置信息格式,快速使用方法! 配置信息格式说明 通过配置信息快速生成含有配置信息规则,配置信息格式包含几乎所有参数,不需要的参数可以选择删除。 注意:通过原始数据导入方式建议不要超过5000个字符,否则可能无法导入,如果过长推荐使用URL方式导入。 支持全部http/https/socks5/socks5-tls/custom服务器类型,支持全新tfo/obfs特性。 整个配置需要使用J

  • 我有一个类似于这个和这个的问题。区别在于我必须按位置选择行,因为我不知道索引。 我想做一些类似于,但iloc不允许这种访问。如果我执行,则会出现关于链接索引的警告。

  • 我在R中有一个数据帧,我想根据两个列表中的行和列的特定匹配来设置值。 以下是我必须遵循的流程。我有一个数据框,如下所示 我有一个函数,它将列名作为输入,并返回一个与该列名关联的值。例如:一些_函数(“test.var1.t1”)可能返回10的值。 我有一些行名和列名的列表。我需要检查列表中的每个行名称和列名,将它们匹配在一起,计算匹配列的函数,并将值发布到相应的单元格中的数据框中。例如 行名称列表

  • 问题内容: 想象一下,我在Spring 3 @Controller中有这个带注释的方法 但是我需要配置输出json格式,就像我在做的那样: 有什么方法可以配置此行为? 问题答案: 这是我最终所做的。 我仍然必须弄清楚如何配置其他属性,例如:

  • key 描述 host 服务器主机名 一般使用apigwws.open.rokid.com port 服务器端口 目前为443 branch 服务器功能选择分支 固定为/api key 用于服务登录认证  device_type_id 用于服务登录认证 secret 用于服务登录认证 device_id 设备名,用于服务登录 codec 语音编码格式: speech服务可选项"pcm" "opu"