随笔分类 -  webrtc

webrtc
摘要:正文 neteq中存在一个模块peakDetector用于做峰值检测,用于处理下述的场景,在突发抖动过程中,突发的高抖动不足以拉大直方图的97分位,但又持续了一小段时间需要响应处理, 还存在一定的周期行为,所以在neteq中额外增加了peakDetector,用于弥补直方图不足以对抗该场景的问题; 阅读全文
posted @ 2024-02-05 20:12 woder 阅读(85) 评论(0) 推荐(0) 编辑
摘要:正文 neteq两种模式: RELATIVE_ARRIVAL_DELAY,INTER_ARRIVAL_TIME,两者计算抖动方式的存在区别 如上图所示: RELATIVE_ARRIVAL_DELAY(简称relative_delay)的计算相邻两个点的iat_ms,然后从区间头进行累加到当前(数学展 阅读全文
posted @ 2024-02-05 20:10 woder 阅读(73) 评论(0) 推荐(0) 编辑
摘要:1.前言 本文介绍了webrtc中的fec相关封装原理, 协议,分析其在webrtc中的应用过程和使用策略。 2.正文 2.1 red 为什么做red封装呢?Ulpfec编码后的内容会做Red封装后再放入RtpPacket,可fec在RFC5109已经定义好自己的传输格式,而且sdp协商过程中也有U 阅读全文
posted @ 2021-09-25 02:27 woder 阅读(4117) 评论(3) 推荐(3) 编辑
摘要:1. 前言 本文是webrtc拥塞控制的下文,主要介绍的是从cc-controller获取码率之后,如何将码率设置到PacingController控制发送速率,同时如何将码率分配调整到各个stream,各个stream的layer, simulcast,fec中 2. 正文 2.1 整体码控结构 阅读全文
posted @ 2021-09-25 02:23 woder 阅读(6453) 评论(0) 推荐(1) 编辑
摘要:webrtc源码分析(8)-拥塞控制(上)-码率预估本文是webrtc中拥塞控制的上文,主要是分析webrtc中的拥塞控制的码率探测,预估和调整的部分,介绍了整体框架和原理以及相关的类; 阅读全文
posted @ 2021-09-10 02:40 woder 阅读(13827) 评论(11) 推荐(7) 编辑
摘要:webrtc源码分析(4)-视频发送流程本文介绍了webrtc中视频的基本发送流程,阐述了视频如何从编码,到RTP打包,到Paced控制,经过ICE发送的流程: 阅读全文
posted @ 2021-08-18 01:57 woder 阅读(5768) 评论(4) 推荐(4) 编辑
摘要:webrtc源码分析(5)-Api接口本文结合了webrtc源码上的example分析webrtc的API接口以及webrtc的基本通讯流程和相关概念 阅读全文
posted @ 2021-07-30 22:49 woder 阅读(2920) 评论(0) 推荐(0) 编辑
摘要:webrtc源码分析(6)- jitter delay计算详解本文主要介绍webrtc jitter buffer的平滑原理和平滑视频抖动最关键的指标-jitter delay的计算 阅读全文
posted @ 2021-07-12 10:26 woder 阅读(6781) 评论(6) 推荐(1) 编辑
摘要:webrtc通过函数**AheadOf( )**进行rtp序列号的新旧的比较,rtp序列号的比较不能单纯的比较大小,因为会涉及到回环: template <typename T, T M = 0> inline bool AheadOf(T a, T b) { static_assert(std:: 阅读全文
posted @ 2021-06-02 17:16 woder 阅读(1052) 评论(0) 推荐(0) 编辑
摘要:1.前言 webrtc线程源于chromium,其中有消息队列,通信等功能,相对于原始的std::thread或者posix pthread而言,好用不少,本文介绍了webrtc 线程的常用功能以及实现; webrtc版本:M91 2.正文 2.1 webrtc中的主要线程 出于管理接口即时性,平衡 阅读全文
posted @ 2021-04-30 22:46 woder 阅读(2500) 评论(1) 推荐(0) 编辑
摘要:前言 从网上看到的另一句话,webrtc中的信号槽像是变种的观察者模式,当有信号发送的时候,信号发送者通过遍历自己的所有connect的信号槽,然后执行他们的回调;起初会有为什么需要信号槽 信号槽与普通的函数回调有什么区别的疑问, 个人认为信号槽是一种面向对象的回调,当回调涉及到对象,需要考虑到执行 阅读全文
posted @ 2020-01-14 00:25 woder 阅读(1464) 评论(0) 推荐(1) 编辑
摘要:前言 webrtc中为了保证线程安全,在线程中使用消息队列机制处理消息 正文 举一个创建PeerConnectionFactory时的例子为例;此处已经创建了PeerConnectionFactory对象 pc_factory,此时需要对其进行Initialize()操作,首先创建了一个方法调用器 阅读全文
posted @ 2020-01-02 21:49 woder 阅读(1663) 评论(1) 推荐(2) 编辑