剑痴乎

  • 首页
  • 文章分类
    • 音视频
    • WebRTC
    • 编程之美
    • Linux
    • Windows
    • 生活点滴
    • 校园生活
  • 参考
    • API参考
    • 实用工具
    • 测试音视频
    • 文档
  • 留言板
  • 关于
剑痴乎
代码为剑,如痴如醉
WebRTC

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

如今越来越多的音视频应用场景采用WebRTC技术,例如视频会议,在线教育,云游戏等。WebRTC包含一套强大的点对点(P2P)通信技术方案,用于音视频传输,本文我们来了解下背后的NAT穿透技术。 什么是NAT NAT(Network Address Translation)指的是网络地址转换,常部署在一个组织的网络出口位置。网络分为私网和公网两个部分,NAT网关设置在私网到公网的路由出口位置,私网与公网间的双向数据必须都要经过NAT网关。位于NAT后的是私网IP地址,分配给NAT的是公网IP地址。NAT通过将私网I…

2020年4月6日 3条评论 1210点热度 10人点赞 Jeff 阅读全文
WebRTC

WebRTC 安卓Native code编译问题

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

2020年3月24日 5条评论 1410点热度 3人点赞 Jeff 阅读全文
WebRTC

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

记录下今天编译WebRTC 安卓Native code遇到的一个问题。相关错误提示如下: [crayon-628f1d924d5eb079688456/] 执行gclient sync命令后过一会儿报Failed to download错误,我用浏览器或者wget命令去下载一点问题都没。之前都没遇到过这问题。谷歌搜了下,发现有人遇到过类似问题,还都是国人,问题出在代理上,在有些代理环境下,gclient sync下的某些命令连接会失败。以前用SS(IP封得太厉害放弃了现在)就没遇到过,现在用的VPN走全局就遇到了,…

2020年3月23日 0条评论 973点热度 0人点赞 Jeff 阅读全文
WebRTC

WebRTC研究:Trendline滤波器-TrendlineEstimator

前面文章WebRTC研究:包组时间差计算-InterArrival讲到了相关包组时间差计算,输出包组发送时间差,到达时间差等参数。本篇文章主要介绍下这些参数在判断网络拥塞情况方面的应用。 到达时间模型 在WebRTC研究:包组时间差计算-InterArrival说到了到达时间模型,主要包含几个包组时间差计算的概念: 到达时间差:\(t_{i} - t_{i-1}\) 发送时间差:\(T_{i} - T_{i-1}\) 时延变化:\(d_{i} = t_{i} - t_{i-1} - (T_{i} - T_{i-1}…

2019年11月29日 19条评论 2560点热度 7人点赞 Jeff 阅读全文
音视频

Intel平台硬件加速视频编解码开发

视频编解码分为硬件加速以及非硬件加速。硬件加速是指通过显卡,FPGA等硬件进行视频编解码,由于硬件有专门优化,所以性能高,能耗低,非硬件加速编解码是指通过CPU进行视频编解码,性能就没那么高(虽然有相关CPU指令优化),由于视频编解码计算量很大,所以能耗也很高。在PC平台上主流的硬件加速编解码有Intel集成显卡,Nvidia显卡。Nvidia平台的编解码用的比较多,网上资料也多,接口也很简单,但是相对成本会高些。Intel集显平台视频编解码成本就低很多了,只要是最近几年带集显的CPU基本都支持硬件加速编解码,但是…

2019年11月21日 3条评论 1559点热度 10人点赞 Jeff 阅读全文
WebRTC

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

在新版GCC(Google Congestion Control)也就是Sendside BWE中,包含两种拥塞控制模型。一种是基于丢包的,一种是基于时延的,全部在发送端计算。Sendside BWE最后综合这两种估计值取小的那个作为目标码率。 基于时延的拥塞控制算法主要由四部分组成:预处理(pre-filtering), 到达时间滤波器(arrival-time filter), 过载检测器(over-use detector),码率控制器(and a rate controller)。本文主要介绍其中的到达时间…

2019年11月12日 21条评论 3174点热度 5人点赞 Jeff 阅读全文
WebRTC

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

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

2019年11月4日 8条评论 1836点热度 4人点赞 Jeff 阅读全文
WebRTC

WebRTC研究:MediaStream概念以及定义

根据W3C的WebRTC 1.0: Real-time Communication Between Browsers规范,WebRTC的源码中定义了两套主要的C++接口,分别是MediaStream与PeerConnection相关的API。本篇文章主要介绍下MediaStream API中一些概念,方便理解内部代码如何处理。 MediaStream 相关API定义在源码api\media_stream_interface.h中。里面主要涉及这4个概念:source,sink,mediatrack,mediastr…

2019年10月22日 1条评论 1240点热度 5人点赞 Jeff 阅读全文
12345…24
版权声明

为支持原创,创作更好的文章,未经许可,禁止任何形式的转载与抄袭,如需转载请邮件私信!本人保留所有法定权利。违者必究!

近期评论
  • Richard on WebRTC研究:Encoded Transform楼主你好,图片不见了,可以更新一下嘛?
  • flash91120 on Windows平台WebRTC编译-VS2017楼主,能不能出一期qt上使用webrtc…
  • damon on WebRTC音视频传输基础:NAT穿透太细了,看了眼我自己的笔记,果断直接删除…
  • k on Windows平台WebRTC编译(持续更新)麻烦问一下,我在src文件夹下,运行gn…
  • 小胖子 on WebRTC研究:Transport-cc之RTP及RTCP请教一个问题,在tcc的包里面的base…

COPYRIGHT © 2022 jianchihu.net. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang