爱钻研技术的小羊
码龄10年
关注
提问 私信
  • 博客:40,030
    40,030
    总访问量
  • 16
    原创
  • 1,341,424
    排名
  • 42
    粉丝
  • 0
    铁粉

个人简介:直到研究透webrtc C++源码的那一天,学到老

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
  • 加入CSDN时间: 2014-10-28
博客简介:

qq_22658119的博客

查看详细资料
个人成就
  • 获得49次点赞
  • 内容获得25次评论
  • 获得179次收藏
  • 代码片获得253次分享
创作历程
  • 17篇
    2021年
成就勋章
兴趣领域 设置
  • 数据结构与算法
    推荐算法
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

webrtc周期性发送RTPFB反馈包

   本文基于m79版本的webrtc代码走读,其他版本代码可能有所不同,但是原理没有太大变化。接收端接收到远端的音视频数据包后,会周期的发送RTPFB反馈包记录接收时间和发送时间,用于发送端基于延时的码率估计,周期时间一般为100ms。socket接受到数据包并解析包后,通过带宽预测模块记录接收的包信息,周期发送rtpfb模块构造自上一次发送rtpfb包到本次构造rtpfb包之间的时间段内的包信息。一、RTPFB包的结构   rtpfb包的结构如下所示: 0 1
原创
发布博客 2021.12.08 ·
1195 阅读 ·
0 点赞 ·
2 评论 ·
3 收藏

NetEQ音频DSP处理命令决策

    NetEQ音频DSP处理命令有:Normal(正常播放),加速播放(Accelerate),减速播放(Preemptive),Expand(丢包补偿PLC),merge(融合)
原创
发布博客 2021.11.19 ·
2030 阅读 ·
1 点赞 ·
1 评论 ·
2 收藏

webRTC音频NetEq之音频包插入缓冲抖动BUFF处理过程

    从远端接收的音频帧,经过解头部RTP后,会首先插入到抖动buff,然后统计延迟信息,绘制延迟直方图,根据直方图计算抖动延时的参数,后续dsp的处理根据这个参数以及其他参数,来决策何种策略处理音频数据。这部分根据webrtc源码详细讲解如何插入抖动buff以及统计延迟直方图。    在webrtc中,NetEQ...
原创
发布博客 2021.11.15 ·
3259 阅读 ·
0 点赞 ·
1 评论 ·
10 收藏

RTP扩展头

   现有的RTP数据包头格式可能支持大多数应用程序类所需的公共函数集的完整集,但是还需要满足其他一些需求,有些特定的场合,RTP固定包头的字段内容无法满足,这就需要额外附加信息表征特性,从而RTP定义了扩展头,位于固定头最后。在RFC3550中定义的扩展头格式如下:   头扩展包含一个16位的defined by profile字段和16位长度的字段表征扩展头长度,此处的长度是扩展头32位的个数,比如,扩展头长度是8字节,则length=2。但这个扩展头方法最多存在两个缺陷:首先,在每个rtp包中最多
原创
发布博客 2021.10.13 ·
2287 阅读 ·
4 点赞 ·
0 评论 ·
14 收藏

傅里叶变换最通俗易懂解释

作 者:韩 昊 知 乎:Heinrich 微 博:@花生油工人 知乎专栏:与时间无关的故事   谨以此文献给大连海事大学的吴楠老师,柳晓鸣老师,王新年老师以及张晶泊老师。   转载的同学请保留上面这句话,谢谢。如果还能保留文章来源就更感激不尽了。   其实学习本来就不是易事,我写这篇文章的初衷也是希望大家学习起来更加轻松,充满乐...
转载
发布博客 2021.08.11 ·
606 阅读 ·
2 点赞 ·
0 评论 ·
5 收藏

webrtc中GCC拥塞控制模块之码率控制器AimdRateControl

nihao
原创
发布博客 2021.08.05 ·
1206 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

WebRtc码率控制模块之AcknowledgedBitrateEstimator

你
原创
发布博客 2021.08.03 ·
1051 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

webrtc模块之带宽预测Prober

prober
原创
发布博客 2021.07.30 ·
2897 阅读 ·
5 点赞 ·
1 评论 ·
19 收藏

GCC拥塞控制

webrtc中拥塞控制算法有两种:基于延时的拥塞算法和基于丢包的拥塞算法
原创
发布博客 2021.07.21 ·
894 阅读 ·
1 点赞 ·
0 评论 ·
8 收藏

mediasoup服务器转发流媒体数据及发送拥塞控制

webrtc
原创
发布博客 2021.07.09 ·
1665 阅读 ·
1 点赞 ·
4 评论 ·
14 收藏

mediasoup服务器接收流媒体数据及接收拥塞控制

webrtc
原创
发布博客 2021.07.09 ·
1404 阅读 ·
1 点赞 ·
1 评论 ·
12 收藏

webrtc客户端与mediasoup服务器连接过程(服务器接收流媒体数据之前的工作)

webrtc
原创
发布博客 2021.07.09 ·
2732 阅读 ·
9 点赞 ·
2 评论 ·
12 收藏

webrtc服务器meidasoup框架介绍

webrtc
原创
发布博客 2021.07.09 ·
964 阅读 ·
3 点赞 ·
0 评论 ·
1 收藏

webrtc服务器mediasoup源码分析

一、webrtc服务器meidasoup框架介绍二、webrtc客户端与mediasoup服务器连接过程(服务器接收流媒体数据之前的工作)三、mediasoup服务器接收流媒体数据及接收拥塞控制四、mediasoup服务器转发流媒体数据及发送拥塞控制五、mediasoup服务器接收RTCP消息处理六、mediasoup服务器同时作为流媒体数据的接收端和发送端发送RTCP消息...
原创
发布博客 2021.07.09 ·
526 阅读 ·
3 点赞 ·
3 评论 ·
2 收藏

STUN协议详解

    基于RFC3489标准的stun协议,无法穿越TCP类型NAT,只是适用于在现有NAT类型下的UDP穿越,另一种特殊情况NAT也无法进行穿越,就是对称型NAT,在很多企业中就很多属于对称型NAT,后面会讲到。STUN的发现过程是基于UDP的NAT处理的假设;随着新的NAT设备的部署,这些假设可能会被证明是无效的,当STUN被用来获取一个地址来与位于其在同一NAT后面的对等体通信时,它就不起作用了。当stun服务器的部署不在公共共享地址域范围内时,stun就不起作用。1. 定义STUN客户端:产生
原创
发布博客 2021.07.05 ·
10991 阅读 ·
7 点赞 ·
2 评论 ·
41 收藏

深入研究webrtc平滑发送(paced sender)

webrtc处理音视频的共同过程大致为:采集数据-数据编码-rtp打包-平滑发送-通道socket发送。本文讨论平滑发送(paced sender)作用:如果音视频数据编码后立即发送到网络,那么短时间内网络上会有大量的数据,从而会导致网络拥塞,严重的话...
原创
发布博客 2021.06.21 ·
2423 阅读 ·
3 点赞 ·
0 评论 ·
12 收藏

如何在webrtc中切换音频输出设备

webrtc中音频模块由虚拟基类AudioDeviceModule 管理,在调用webrtc::CreatePeerConnectionFactory创建peerconnectionFactory实例时会传入音频模块管理指针,如下peer_connection_factory_ = webrtc::CreatePeerConnectionFactory( networkThread.release() /* network_thread */, workerThread.release() /* w
原创
发布博客 2021.06.07 ·
3011 阅读 ·
7 点赞 ·
8 评论 ·
11 收藏
加载更多