首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
WebRTC
AGoodrMe
创建于2022-03-07
订阅专栏
webrtc相关知识
等 11 人订阅
共34篇文章
创建于2022-03-07
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Pacer
所有包的发送都要先经过pacer, 之后才能通过网络发送给对端 pacer的作用 让数据在网络上发送的更平滑, 防止因数据量的突增导致网络发生拥塞 左侧: 正常数据包的发送量, 分布很不均匀, pac
RTX协议
关于RTX要知道的几个要点: RTX包有自己的SSRC RTX包有自己的payload type, 在原数据payload type基础上+1 RTX包是按自己的sequence number来排序的
WebRTC接收NACK消息的过程
接收NACK的调用栈 Call::DeliverPacket 判断数据包 通过DeliverPacket()函数区分出RTP包和RTCP包进入不同的处理流程. 而判断是否RTCP包的核心思想就是: 判
NACK 格式
下图是RTCP feedback的消息头通用格式, 每个字段的含义在前文中都有介绍. 对于不同的feedback消息 他们的FCI是不一样的, 下面是NACK的FCI PID : 2字节, packe
VP8编码器对关键帧的判断
在webrtc系统中,关键帧的判断一直是一个重要的逻辑,不同的编解码器对关键帧的判断有不同的逻辑, 这里介绍一下VP8的关键帧判断逻辑. VP8 RTP包结构 payload desc : 对VP8负
WebRTC中NACK的处理流程
NACK调用栈 RtpDemuxer : 在音视频引擎模块中, 将从网络中收到的RTP包分发给不同的channel, 音频包分发给voice Channel, 视频包分发给videochannel 这
丢包重传NACK与RTX - 判断包位置的算法
该函数的作用是为了弄清楚两个包的先后顺序, 进而判断是否属于丢包的情况, 是否需要执行nack逻辑. 函数AheadOf() AheadOf(a, b), 比较a与b的顺序关系 a与b必须是无符号整数
丢包重传NACK与RTX - 概述
NACK用于通知丢了哪些包, 通讯双方的接收方通过NACK将没有接收到的包的sequence Number发送给发送方. RTX用于重传丢失的包, 发送方收到对方发来的NACK消息后就会在自己的发送记
RTCP协议
RTCP:RTP 控制协议 (RTCP:RTP Control Protocol) RTCP包在协议栈中位置 最底层为网络层, 包含一个14字节的Mac Header和一个4字节的Mac Tailer
RTP扩展头
RTP header中的“X”位如果置“1”, 则表示该header含有扩展信息. 扩展信息回存放在正常header尾部位置. profile : 占2个字节 profile值为0xBE、0xDE,
RTP协议
实时传输协议(RTP)为数据提供了具有实时特征的端对端传送服务, RTP 本身并没有提供按时发送机制或其它服务质量(QoS)保证,它依赖于底层服务去实现这一过程。 RTP 并不保证传送或防止无序传送,
WebRTC 服务质量综述
服务质量通俗来说就是从用户的的角度对音视频产品整体的感官体验, 包括音视频的清晰度、流畅度、实时性、带宽消耗等用户能直接感知到的和感知不到的一些指标. 其目标就是达到用户线下面对面交流的效果. 服务质
PortAllocatorSession
收集candidate的过程 根据媒体协商的数据收集candidate 如果协商传输音频和视频, 那么就会有两个媒体流channel 对于每个媒体流又分为RTP(媒体数据传输协议)传输和RTCP(为保
ICE
什么是ICE ICE(Interactive Connectivity Establishment) 以交互的方式建立网络连接. 该技术是一种用于穿越NAT的技术, 旨在让两台计算机可以更高效的互相通
PortAllocator
顾名思义, portAllocator 就是用来分配端口的, 因为每个candidate都是有IP、端口号、协议簇、类型所组成, 端口号的分配就是通过portAllocator完成的. 真正使用的是P
Candidate
什么是Candidate 每一个candidate 是一个网络地址信息 它包括: 协议簇、IP、端口、类型 例如 : "a = candidate: ... UDP ... 192.168.2.1 8
WebRTC 网络设备管理
用于网络设备的管理的类是 NetworkManager 类结构如下图 我们使用的是他的子类 : BasicNetworkManager BasicNetworkManager中一些重要的属性和方法:
WebRTC传输协议
webrtc使用的协议栈如下图:左侧为传统的浏览器HTTP相关协议, 右侧为webrtc所使用的协议栈. 最上面一层为API层 对于http来说 他的下层使用的TLS协议 如果是https则有这一项,
WebRTC中的SDP类结构
SDP内容分类(按功能分类) webrtc对SDP的分类(分为: 内容组/传输/内容) webrtc中的SDP类结构
SDP协议
每一个SDP都是以嵌套的方式定义的, 最外层是会话层其次是媒体层, 媒体层有分为音频和视频, 音频视频里有分别有各自的属性的定义. SDP规范 Key = Value Key : m(media A
下一页