剑痴乎

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

WebRTC研究:基于Transport Feedback的早期丢包检测

丢包检测与重传作为WebRTC中一个抗弱网机制,对提高QOS起了很大作用。WebRTC中目前主要靠NACK机制实现丢包检测与重传,接收端判断丢包情况并记录,然后通过NACK RTCP报文(RFC 4585)反馈丢包信息给发送端,发送端根据NACK报文信息进行包的重传。 NACK机制针对的是某个SSRC的单独流,对于某个SSRC流,对于一个包N,接收端要检测它是否丢了,需要前面收到的该流的包N-1,以及后面收到该流的包N+1的信息,通过检测N-1以及N+1间是否有空隙判断N是否丢了。如果因为一些特殊原因,包N+1到晚…

2022年2月17日 0条评论 281点热度 11人点赞 Jeff 阅读全文
WebRTC

Continue,2022,加油

自从去年4月后,由于临时接手了离职音频算法工程师的工作,所以一直忙于音频处理的研究工作,同时解决产品上音频相关问题。由于要学的内容很多,很难有空余时间,不知不觉把博客给落下了。进入2022年,经过去年一段时间的潜心修炼,目前对WebRTC整个音频处理有了更深入的认识,当然,空余时间也多了些,所以准备继续更新博客,也把没回复的评论过下,找个时间回复。 这段消失的时间,自己总结起来有三方面收货: 1)加深了音频3A算法的熟悉,尤其是AEC3算法内部处理流程,以及特定场景下回声问题排查以及修复,例如采集丢音,采集播放抖动…

2022年1月26日 2条评论 247点热度 13人点赞 Jeff 阅读全文
WebRTC

WebRTC研究:记一次音频带宽估计引入的异常分析

本篇文章主要从自己前几个月遇到的一个小问题引出。 问题背景 之前使用Web浏览器播放做测试,发现升级Chrome 87后播放视频会卡,排查服务端下行处理日志发现,带宽估计模块异常,如下是部分异常日志: [crayon-628d76dc31226709066664/] 由于下行带宽估计会作用到Pacing模块,带宽估计的异常触发Pacing模块发送异常,从而导致视频卡顿。明明最近没有优化服务端带宽估计处理,哪里出错了呢? 通过异常日志可以很容易发现是反馈的Transport Feecback报文异常,Transpor…

2021年4月26日 1条评论 746点热度 3人点赞 Jeff 阅读全文
WebRTC

WebRTC研究:Encoded Transform

前段时间看到腾讯云的分享:《技术解码丨WebRTC Insertable Stream 初探与 WebRTC “管道化”》。想不到国内也开始关注这个新特性了,作为一个经常关注WebRTC最新提交代码的人,去年初就关注到了WebRTC Insertable Streams相关代码提交,不过对我这样一个Native Code开发者来说,用途不大,毕竟自己也可以在源码层面实现,获取或者修改自己需要的任何数据。但是这一特性对Web开发者来说用途就大了,给了Web开发者更多的自由与操作性。 WebRTC Insertable…

2021年3月28日 5条评论 1057点热度 6人点赞 Jeff 阅读全文
WebRTC

WebRTC研究:统计参数之往返时延

前面文章介绍了抖动,今天我们来看下chrome://webrtc-internals/页面中的一个重要统计参数:往返时延(RTT)。 什么是RTT 往返时延(round-trip time,RTT) 是网络请求从起点到目的地然后再回到起点所花费的时长(不包括接收端的处理时间)。RTT是分析网络性能的一个重要指标,我们通常使用RTT来诊断网络连接的速度,可靠性以及拥塞程度。 ping命令是最常见的一种估计往返时延的方法。下面是ping Google的示例,底部显示了rtt的不同表示:最小,平均,最大,平均偏差。 [c…

2021年3月21日 6条评论 1288点热度 9人点赞 Jeff 阅读全文
WebRTC

WebRTC研究:统计参数之抖动

当我们调试WebRTC web客户端时,经常会打开chrome://webrtc-internals/这个页面,在这里我们可以看到音视频流的各种统计。今天我们就来看下其中的一个统计参数:抖动(jitter)。 什么是抖动 在网络传输中,每个包从发送端到接收端的时延都是不相同的,而jitter就是用来衡量这种不同。一般在发送端,数据包发送时间间隔是相同的,也就是均匀发送数据,但是传输过程中由于各种情况,例如拥塞,丢包,网络错误等,接收端收到的数据包间隔就会不一样,可能一会大,一会小,导致时延发生变化,这个时延的变化程…

2021年3月14日 3条评论 1165点热度 9人点赞 Jeff 阅读全文
WebRTC

WebRTC研究:WebRTC M89关键更新

最近更新了M89代码,看了下Release Notes,有几个需要关心的地方。 Plan B SDP语法后续处理计划 WebRTC 1.0已经正式成为W3C标准,推荐使用标准SDP格式:Unified Plan,主流浏览器基本都支持Unified Plan SDP。Plan B SDP后续将会不赞成使用,直到移除掉。官方后续时间计划如下: M89 (2021.02):在开发者控制台增加不赞成使用警告 M93 (2021.08): Plan B被移除掉, 但是增加了选项,可以延长移除的截止日期 M96 (2022.0…

2021年2月27日 4条评论 1199点热度 9人点赞 Jeff 阅读全文
WebRTC

Linux平台WebRTC编译

系统要求 系统:Ubuntu 16.04及以上(本文Ubuntu 18.04) 磁盘空间:至少6.4 GB磁盘空间 安装工具 [crayon-628d76dc37d67965186446/] 安装depot tools [crayon-628d76dc37d6b021423645/] 获取代码 [crayon-628d76dc37d6c965937197/] 安装依赖 [crayon-628d76dc37d6e515025042/] 生成Ninja工程文件 WebRTC默认使用Ninja作为编译系统,Ninja工程…

2021年1月28日 1条评论 919点热度 8人点赞 Jeff 阅读全文
12345
版权声明

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

近期评论
  • 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