WebRTC Windows端推1080P/30帧优化

2024-01-23 07:08
文章标签 windows 优化 30 webrtc 1080p

本文主要是介绍WebRTC Windows端推1080P/30帧优化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

WebRTC Windows端推1080P/30帧

    • 1 背景
    • 2 WebRTC版本
    • 3 测试
      • 3.1 测试环境
        • 3.1.1 硬件
        • 3.1.2 软件
      • 3.2 测试内容/数据
    • 4 一些分析
    • 5 结论

1 背景

Windows端的浏览器(例如Chrome)推1080P/30帧在普通机器上应该是可以的,但是默认的OpenH264软编CPU占用较高,据说在某些特定机器的某些编码参数下可以触发硬件编码,可以有效降低CPU占用。然而这里专指Native,不是浏览器。

2 WebRTC版本

66

3 测试

3.1 测试环境

3.1.1 硬件
设备信息
CPUIntel® Core™ i5-7200U CPU @ 2.50GHz,2701 Mhz,2 个内核,4 个逻辑处理器
显卡笔记本集成显卡,Intel® HD Graphics 620
摄像头HD Pro Webcam C920,最大支持1080P
3.1.2 软件

Win10,OBS,WebRTC。

3.2 测试内容/数据

推流参数:

  • H264 Base Profile;
  • 1080P;
  • 30FPS;
  • 4M码率。
采集编码CPU软编/硬编备注
OBS DS D3DOBS x264 preset:ultrafast40%软编使用OBS集成WebRTC测试,显示的是OBS的CPU,可能包含了图片预处理的CPU占用。
OBS DS D3DOBS qsv preset:balance24%硬编使用OBS集成WebRTC测试,显示的是OBS的CPU,可能包含了图片预处理的CPU占用。
WebRTC DSOBS x264 preset:ultrafast49%软编
WebRTC DSOBS qsv preset:balance37%硬编
WebRTC DSWebRTC OpenH264 Base Profile58%软编

4 一些分析

  • WebRTC内部默认使用DirectShow来操作摄像头,根据要求的参数,输出了1920*1080的MJPG格式(MJPG格式的最大帧率为30),是一种压缩格式,内部又用软件解码成YUV,这个环节占用了大量的CPU,而另外一种输出格式YUY2,无需解压,但帧率只支持到5,可能是摄像头对USB带宽的考虑;
  • OBS的摄像头采集可以设置分辨率、帧率(不一定成功),但是仍然受摄像头本身支持的能力限制,比如我使用的这个摄像头,就无法设置19201080 30FPS的输出。默认情况下,OBS输出了640480 30FPS的YUY2图像,但是贴到1920*1080的画布上作为整体最终的输出。摄像头输出图像跟场景中的其他元素送入D3D进行纹理渲染,最后从纹理生成的图像转成NV12,实现了硬件加速,并且没有解压过程,CPU占用很低,同时能够输出足够的帧率;
  • 同样的环境下,x264的性能比OpenH264高。

5 结论

目前看最佳的组合是使用OBS基于硬件加速的采集、编码,WebRTC自带的这些模块性能相比之下逊色不少。
但是,从OBS的输出原理来看,实际上需要走完采集、渲染的Pipeline,然后再从纹理下载输出图像,想把采集模块摘出来单独使用并不简单,只有编码模块依赖比较少,比较独立。

这篇关于WebRTC Windows端推1080P/30帧优化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/635594

相关文章

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

HDFS—存储优化(纠删码)

纠删码原理 HDFS 默认情况下,一个文件有3个副本,这样提高了数据的可靠性,但也带来了2倍的冗余开销。 Hadoop3.x 引入了纠删码,采用计算的方式,可以节省约50%左右的存储空间。 此种方式节约了空间,但是会增加 cpu 的计算。 纠删码策略是给具体一个路径设置。所有往此路径下存储的文件,都会执行此策略。 默认只开启对 RS-6-3-1024k

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

MySQL高性能优化规范

前言:      笔者最近上班途中突然想丰富下自己的数据库优化技能。于是在查阅了多篇文章后,总结出了这篇! 数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意,并且最后不要超过32个字符 临时库表必须以tmp_为前缀并以日期为后缀,备份

2024网安周今日开幕,亚信安全亮相30城

2024年国家网络安全宣传周今天在广州拉开帷幕。今年网安周继续以“网络安全为人民,网络安全靠人民”为主题。2024年国家网络安全宣传周涵盖了1场开幕式、1场高峰论坛、5个重要活动、15场分论坛/座谈会/闭门会、6个主题日活动和网络安全“六进”活动。亚信安全出席2024年国家网络安全宣传周开幕式和主论坛,并将通过线下宣讲、创意科普、成果展示等多种形式,让广大民众看得懂、记得住安全知识,同时还

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

在 Windows 上部署 gitblit

在 Windows 上部署 gitblit 在 Windows 上部署 gitblit 缘起gitblit 是什么安装JDK部署 gitblit 下载 gitblit 并解压配置登录注册为 windows 服务 修改 installService.cmd 文件运行 installService.cmd运行 gitblitw.exe查看 services.msc 缘起

Windows如何添加右键新建菜单

Windows如何添加右键新建菜单 文章目录 Windows如何添加右键新建菜单实验环境缘起以新建`.md`文件为例第一步第二步第三步 总结 实验环境 Windows7 缘起 因为我习惯用 Markdown 格式写文本,每次新建一个.txt后都要手动修改为.md,真的麻烦。如何在右键新建菜单中添加.md选项呢? 网上有很多方法,这些方法我都尝试了,要么太麻烦,要么不凑效