剑痴乎

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

WebRTC研究:Transport-cc之RTP及RTCP

Transport-cc指的是Transport-wide Congestion Control。WebRTC最新的拥塞控制算法(Sendside BWE)基于Transport-cc,接收端记录数据包到达时间,构造相关RTCP包,然后反馈给发送端,在发送端做带宽估计,从而进行拥塞控制。之所以基于Transport-cc,放到发送端进行带宽估计,除了方便维护,也增加了相关算法的灵活性,因为大多数处理逻辑都放到了发送端。WebRTC中为了使用Transport-cc,需要用到RTP报头扩展以及增加新的RTCP类型。这…

2020年4月25日 7条评论 670点热度 4人点赞 阅读全文
WebRTC

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

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

2020年4月6日 2条评论 460点热度 1人点赞 阅读全文
WebRTC

WebRTC研究:丢包判断

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

2019年9月2日 3条评论 366点热度 3人点赞 阅读全文
WebRTC

WebRTC研究:RTP中的序列号以及时间戳比较

在使用RTP协议时,如果需要网络对抗,保障QoS(Quality of Service,服务质量),我们需要通过序列号以及时间戳的比较,进行丢包判断。但是有个问题,比如一个RTP包,序列号为number1:5000,另一个RTP包序列号为number2:60000,可以说60000一定比5000大,是个更新的RTP包吗? 当然不是了,首先我们先重温下RTP数据包的结构。 在RFC3550中RTP固定报头结构按如下定义: [crayon-60427af5c6d80991529786/] 可以看到,RTP序列号sequ…

2019年7月6日 1条评论 485点热度 1人点赞 阅读全文
我的其它小窝

公众号:码上Play(基本不更新,回答问题用)

近期评论
  • 头像liu on WebRTC研究:WebRTC M89关键更新我看市面上开源的mcu基本都是软编解码,很耗cpu…
  • 头像Jeff on WebRTC研究:音频带内FEC是的,不过WebRTC的实现很初级
  • 头像ewan on WebRTC研究:音频带内FEC大佬你好,请教下,你说的音频带外fec+nack的…
  • 头像Jeff on WebRTC研究:关键帧请求已更新
  • 头像Jeff on Windows平台WebRTC编译(持续更新)`fetch --nohooks webrtc`…
版权声明

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

COPYRIGHT © 2021 剑痴乎. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS