首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >WebRTC开销

WebRTC开销
EN

Stack Overflow用户
提问于 2012-08-13 12:43:21
回答 3查看 2.5K关注 0票数 5

我想知道,当通过数据通道发送数据时,WebRTC产生了多少开销。我知道Websockets每帧有2- 14字节的开销。WebRTC是否使用更多开销?我在网上找不到一些有用的信息。对我来说很清楚,Datachannels暂时不能使用。Mediastreams使用了多少开销?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-14 07:16:51

WebRTC使用RTP发送其媒体。RTP在UDP上运行。

除了通常的IP和UDP报头外,还有两个额外的报头:

  1. RTP报头本身从12个字节开始,并可以从12个字节开始增长,具体取决于所使用的内容。
  2. 有效载荷报头-用于特定编解码器的每个数据包的报头。这取决于编解码器本身。

RTP被设计为在其有效负载上具有尽可能少的开销,这是由于您想要实现更好的媒体质量的基本推理,这意味着将尽可能多的比特专用于媒体本身。

票数 2
EN

Stack Overflow用户

发布于 2014-04-09 11:38:15

在应用层,您可以将DataChannel看作是通过SCTP发送和接收的。在SCTP报头的PPID (Payload Protocol Identifier,有效负载协议标识符)字段中,Datachannel将值0x51设置为发送UTF-8数据,将0x52设置为二进制数据。

是的,你是对的。RTCDataChannel在DTLS和UDP上使用SCTP。DTLS用于安全性。但是,SCTP在穿越大多数NAT/防火墙设置时存在问题。因此,为了克服这一点,SCTP通过UDP进行隧道传输。因此,发送数据的总开销为:

SCTP + DTLS + UDP + IP

这就是:

28 bytes + 20-40 bytes + 8 bytes + 20 - 40 bytes

因此,开销大约是120字节。WebRTC客户端可以发送的SCTP数据包的最大大小为1280字节。因此,您最多可以为每个SCTP数据包发送大约1160字节的数据。

票数 5
EN

Stack Overflow用户

发布于 2016-12-12 07:58:00

这是2个peer.js实例(babylon.js前端)每16ms (~60秒)发送3个字节的截图。

分析器显示30,000位/秒:

30,000位/8位/字节/ 60 /秒= 62.5字节,所以在发送的3个字节之后,根据分析器,它是~59.5字节

我不确定是否有什么东西没有计入传入,因为它只分析了一半,15k比特/秒

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11934499

复制
相关文章
Roslyn 入门:使用 Roslyn 静态分析现有项目中的代码
发布于 2018-03-18 12:45 更新于 2018-06-02 01:26
walterlv
2018/09/18
1.8K0
Roslyn 入门:使用 Roslyn 静态分析现有项目中的代码
.Net 编译器平台 --- Roslyn
最近做一个功能想要动态执行C#脚本,就是预先写好代码片段,在程序运行时去执行代码段,比如像这样(以下代码为伪代码):
Niuery Diary
2023/10/22
3830
.Net 编译器平台 --- Roslyn
matlab怎么显示当前文件夹和工作区
1、第一步在我们的电脑上打开matlab,可以看到界面上目前没有显示当前文件夹和工作区,如下图所示:
狼啸风云
2020/07/15
12.9K0
matlab怎么显示当前文件夹和工作区
译 | 使用Roslyn分析器高效编写更好的代码
Roslyn 是 .NET 编译器平台,即使在运行代码之前,它也能帮助您捕获 Bug。例如内置于 Visual Studio 中的Roslyn 拼写检查分析器。
Edi Wang
2019/07/17
2.4K0
译 | 使用Roslyn分析器高效编写更好的代码
工作区介绍
1.一个代码包可以有多个以.go为扩展名的源码文件组成如下,demo1.go demo2.go 和 main.go 都属于代码包main,注意同一个目录下的.go 文件只能属于一个代码包
酷走天涯
2019/06/11
8230
工作区介绍
修复 React 代码中烦人的 Warning
react的diff算法是把key当成唯一id然后比对组件的value来确定是否需要更新的,所以如果没有key,react将不会知道该如何更新组件。你不传 key 也能用是因为 react 检测到子组件没有 key 后,会默认将数组的索引作为 key。react根据key来决定是销毁重新创建组件还是更新组件,原则是:
ConardLi
2020/12/15
2.4K0
修复 React 代码中烦人的 Warning
Git工作流程、工作区、缓存区、版本库
暂存区:英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
子润先生
2021/07/08
1.1K0
MatLab工作区
MatLab 中的基础工作区是针对当前 MatLab 窗口内的脚本代码而言的(无论是命令行窗口输入的还是 M 脚本文件中的),是所有脚本代码所共享的(即对当前 MatLab 窗口而言是唯一的),是对外可见的(即 MatLab 窗口中显示的工作区),与当前 MatLab 窗口是共存亡的。
hotarugali
2022/03/01
1.3K0
git mv 从工作区和暂存区中重命名内容
它会将内容从工作区和暂存区中重命名,手动重命名需要执行两步操作,git mv 一步即可
很酷的站长
2022/12/16
4790
git mv 从工作区和暂存区中重命名内容
Roslyn 判断当前使用 dotnet core 编译器进行编译
在写 msbuild 预编译或编译调度逻辑时,如何知道当前执行的编译器使用的是上古版本的 msbuild 还是用了 dotnet core 内核的 Roslyn 编译器?本文解决的问题是我期望在 Windows 系统使用 .NET Framework 版本的工具,而在非 Windows 系统上,使用 dotnet core 版本的工具。原因是 .NET Framework 在开发者设备上都会有,用起来简单。而 dotnet core 提供了跨平台,可以在其他平台上使用
林德熙
2021/01/07
4630
Git之工作区和暂存区
工作区和暂存区 Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。 先来看名词解释。 工作区(Working Directory) 就是你在电脑里能看到的目录,比如
兮动人
2021/06/11
9170
Git之工作区和暂存区
Git 工作区、暂存区与版本库
基本概念 工作区 在电脑中能看到的目录 工作区.jpg 此处的 initialize 文件夹可被看作为工作区 暂存区 一般存放在 .git 目录下的 index 文件中,也将暂存区称作索引 未提交的文件修改通通放在暂存区中 暂存区.jpg 版本库 工作区中的 .git 目录(.git 为隐藏目录) 版本库.jpg 添加文件到版本库中 把文件添加到暂存区中 把暂存区的所有内容提交到当前分支 添加暂存区 将工作区中的文件添加到暂存区 语法 git add 文件名 添加暂存区.jpg 添加完成之后查看本地库状
Emperor_LawD
2021/08/20
7530
Git 工作区、暂存区与版本库
Git教程2(工作区和暂存区)
注意 update2也被撤销了,因为上个案例中update2也是被添加后没有执行add操作,所以一并也被撤销了。
用户4919348
2019/04/02
1K0
Git教程2(工作区和暂存区)
Git工作区、版本库与暂存区
Git与其它版本控制系统如SVN的一个最大的不同之处就是发明了暂存区的概念,本文从创建Git版本库开始,依次描述了追踪文件、修改文件、丢弃修改、提交修改等基本Git操作,在此过程中介绍了Git版本控制系统中三个重要概念:工作区、版本库与暂存区。
我是东东东
2018/08/01
8690
Git工作区、版本库与暂存区
git-工作区、暂存区、版本库
就是 git init 的目录,就是工程目录。 工作区下包含着版本库 .git 文件夹。
潇洒
2023/10/20
2340
git-工作区、暂存区、版本库
动态代码框架发布-CZGL.Roslyn
开源项目位置:https://github.com/whuanle/CZGL.CodeAnalysis
痴者工良
2021/04/26
1.2K0
Service Broker 无法工作的问题修复
数据库的Service Broker在通过备份/还原方式恢复数据库后,通过SELECT * FROM sys.transmission_queue 查到的错误信息: An exception occurred while enqueueing a message in the target queue. Error: 15517, State: 1. Cannot execute as the database principal because the principal "dbo" does not e
张善友
2018/01/19
1K0
内存四区之代码区,全局区,栈区和堆区
C++ 在程序执行时,将内存大致分为代码区,全局区,栈区和堆区四个区域。不同的区域存储不同的数据,赋予不同的生命周期,能够更灵活地进行编程。
呆呆
2021/07/05
2.3K0
roslyn 生成代码_delphi反编译为源码
Roslyn 是微软公司开源的 .NET 编译器。编译器支持 C# 和 Visual Basic 代码编译,并提供丰富的代码分析 API。 GITHUB地址:https://github.com/dotnet/roslyn.git
全栈程序员站长
2022/09/30
5390
roslyn 生成代码_delphi反编译为源码
点击加载更多

相似问题

Roslyn是否支持项目/编译级诊断的代码修复操作(没有位置)?

10

无法创建新的“诊断与代码修复”项目!(Roslyn+VS2013)

16

Resharper支持Roslyn诊断和快速操作的代码修复

115

非文本的Roslyn代码诊断报告?

11

Roslyn诊断注册

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档