Tag Archives: WebRTC

2020
04-06

WebRTC音视频传输基础:NAT穿透

WebRTC音视频传输基础:NAT穿透 如今越来越多的音视频应用场景采用WebRTC技术,例如视频会议,在线教育,云游戏等。WebRTC包含一套强大的点对点(P2P)通信技术方案,用于音视频传输,本文我们来了解下背后的NAT穿透技术。 什么是NAT NAT(Network Address Translation)指的是网络地址转换,常部署在一个组织的网络出口位置。网络分为私网和公网两个部分....Read More >
2020
03-24

WebRTC 安卓Native code编译问题

开此文章用于记录自己编译WebRTC安卓Native code遇到的问题。 问题0x01 错误提示如下: [crayon-5e8fe06117fbd995165632/] 这个是在我执行build_aar.py --build-dir out --arch "armeabi-v7a" "arm64-v8a"命令编译生成aar文件遇到的。看了下目录, sdk/android/AndroidManifest.xml是存在的。后来发现是路径....Read More >
2020
03-23

WebRTC安卓Native code编译下载失败问题

记录下今天编译WebRTC 安卓Native code遇到的一个问题。相关错误提示如下: [crayon-5e8fe06118d12356281701/] 执行gclient sync命令后过一会儿报Failed to download错误,我用浏览器或者wget命令去下载一点问题都没。之前都没遇到过这问题。谷歌搜了下,发现有人遇到过类似问题,还都是国人,问题出在代理上,在有些代理环境下,gclient sync下的某些命令连接会失败。以前....Read More >
2019
11-29

WebRTC研究:Trendline滤波器-TrendlineEstimator

WebRTC研究:Trendline滤波器-TrendlineEstimator 前面文章WebRTC研究:包组时间差计算-InterArrival讲到了相关包组时间差计算,输出包组发送时间差,到达时间差等参数。本篇文章主要介绍下这些参数在判断网络拥塞情况方面的应用。 到达时间模型 在WebRTC研究:包组时间差计算-InterArrival说到了到达时间模型,主要包含几个包组时间差计算的概念: 到达时间差:t(i) - t....Read More >
2019
11-12

WebRTC研究:包组时间差计算-InterArrival

WebRTC研究:包组时间差计算-InterArrival 在GCC(Google Congestion Control)中,包含两种拥塞控制算法。一种是基于丢包的,一种是基于延迟的。GCC最后综合这两种算法得到一个目标码率。 基于延迟的拥塞控制算法主要由四部分组成:预处理(pre-filtering), 到达时间滤波器(arrival-time filter), 过载检测器(over-use detector....Read More >
2019
11-04

WebRTC研究:应用受限区域探测器-AlrDetector

在WebRTC GCC(Google Congestion Control)中,有一个叫做AlrDetector(应用受限区域探测器,Application limited region detector)的模块。该模块利用某段时间值,以及这段时间发送的字节数判断当前输出网络流量是否受限。这些限制主要跟应用程序本身输出网络流量的能力有关,例如编码器性能,不能编码出设置的目标码率。下面举个简单例子说明下。 假设我们经过带宽预测后,获取到一个目标码流ta....Read More >
2019
09-02

WebRTC研究:丢包判断

使用RTP协议封装数据时,我们可以通过RTP头部的序列号连续性判断是否丢包。但由于RTP头部序列号只有两字节表示,值范围[0,65535],存在回绕问题(参考之前文章:WebRTC研究:RTP中的序列号以及时间戳比较,建议先阅读一遍此文章)。所以判断序列号连续性时得考虑回绕问题。下面我们就结合WebRTC这相关源码,讲下如何有效地根据序列号进行丢包判断。 首先看下这块代码,代码位于src\modules\video_coding中的jitter_bu....Read More >