- 博客(13)
- 收藏
- 关注
原创 webrtc 音视频数据流向
webrtc 音视频处理框架分析1.分析思路切入点2. 音视频处理流程2.1 发送端2.1.1 采集2.1.2 前处理2.1.3 编码2.1.4 RTP分包传输2.2 接收端2.2.1 收流2.2.2 组帧处理2.2.3 抖动处理2.2.4 解码2.2.5 渲染1.分析思路切入点2. 音视频处理流程2.1 发送端2.1.1 采集2.1.2 前处理2.1.3 编码2.1.4 RTP分包传输2.2 接收端2.2.1 收流2.2.2 组帧处理2.2.3 抖动处理2.2.4 解码2.2.5
2021-08-02 23:40:51
601
原创 mediasoup-demo 多方通信SDP协商分析
mediasoup-demo SDP协商分析1.SDP协商方式2.推流端 SDP3.订阅端(接收端)SDP1.SDP协商方式2.推流端 SDPv=0o=- 4949866233914119598 4 IN IP4 127.0.0.1s=-t=0 0a=group:BUNDLE 0 1 2a=extmap-allow-mixeda=msid-semantic: WMS 6d0c4361-dfac-4322-963e-03799f367ac1m=audio 55279 UDP/TLS/RTP
2021-07-04 20:58:40
1114
原创 mediasoup simucast consumer 分析
mediasoup simucast 消费端处理逻辑mediasoup simucast 当前现状mediasoup simucast consumer 实现mediasoup simucast consumer 代码分析mediasoup simucast 当前现状webrtc具有Simulcast功能,可以将一个分辨率的流编码成多个分辨率并发送,观看端可以根据带宽去动态的选择某个分辨率,也可以自己选择某个分辨率。在webrtc M70及M70以上版本vp8,vp9,h264三种编码器都支持Simul
2021-04-18 21:44:11
1469
6
原创 mediasoup RTT 使用场景
mediasoup RTT计算什么是RTTRTT 两种计算方式发送端RTT计算接收端RTT计算RTT 使用场景发送端RTP包重传次数控制接收端NACK发送次数控制什么是RTTRTT 两种计算方式发送端RTT计算接收端RTT计算RTT 使用场景发送端RTP包重传次数控制接收端NACK发送次数控制...
2021-04-11 16:51:23
336
原创 webrtc 线程设计
webrtc 线程设计前言1. webrtc::ProcessThread1.1 使用场景1.2 接口设计2、rtc::TaskQueue2.1 使用场景2.2 使用接口3、rtc::Thread3.1 使用场景3.2 接口设计4. 引用文章前言本文主要对webrtc框架使用到的三种线程类进行分析,根据下面两方面去讨论:使用场景(webrtc那些模块使用)接口设计1. webrtc::ProcessThread1.1 使用场景webrtc::ProcessThread 在 modul
2021-03-21 17:21:59
500
3
原创 webrtc中的RTCP简介
mediasoup ICE提名选举过程1 ICE 状态2 ICE 提名流程图1 ICE 状态mediasoup 的 ICE 有4种状态,分别是NEW,CONNECTED,COMPLETED,DISCONNECTED。状态解使NEWwebrtctransport 新建立,没有收到任何的STUN包CONNECTED收到了符合要求的STUN包,但该STUN包没有携带hasUseCandidate,设置STUN包对应的IP:PORT 处于候选列表中DISCONNEC
2021-03-14 17:34:37
489
原创 SRT的平滑发送机制
SRT的平滑发送机制讨论内容什么是平滑发送SRT的平滑发送机制平滑发送的设计要点总结插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入讨论内容对于实时音视频传输来说,如何在不确定的网络状况下,保证最佳的音视频播放体验,是一个核心问题。一般来说,现在的实时音视频传输协议都是基于UDP来传输,
2021-03-13 21:34:48
474
原创 mediasoup ICE提名选举过程
mediasoup ICE1. ICE简介2. mediasoup ICE设计2.1 SDP的ICE相关属性2.2 STUN2.2.1 角色(role)2.2.1 指纹2.2.1 交换密钥2.3 SRTP1. ICE简介webrtc具有Simulcast功能,可以将一个分辨率的流编码成多个分辨率并发送,观看端可以根据带宽去动态的选择某个分辨率,也可以自己选择某个分辨率。在webrtc M70及M70以上版本vp8,vp9,h264三种编码器都支持Simulcast功能,但mediasoup sfu目
2021-03-13 21:25:20
520
原创 mediasoup udp 单端口方案设计
mediasoup sfu 单端口方案设计mediasoup simucast 当前现状mediasoup simucast consumer 实现mediasoup simucast consumer 代码分析mediasoup simucast 当前现状webrtc具有Simulcast功能,可以将一个分辨率的流编码成多个分辨率并发送,观看端可以根据带宽去动态的选择某个分辨率,也可以自己选择某个分辨率。在webrtc M70及M70以上版本vp8,vp9,h264三种编码器都支持Simulcast功
2021-03-13 17:02:19
1654
11
原创 I/O 多路复用如何高效处理写事件
I/O 多路复用如何高效处理写事件写事件什么时候触发写事件会带来什么问题如何解决写事件什么时候触发刚开始接触 epoll 的时候,对于读事件很好理解,只要对应的socket有数据到来,epoll_wait 就会反馈该socket 有数据到来,可以开始读了。但对某个socket 添加写事件,epoll_wait 返回socket 可写是什么含义?一般情况下,文件I/O有读写缓冲来提高性能,不会...
2019-10-18 23:37:04
503
原创 锁为什么是低效率的?
并发编程学习笔记学习的内容这本书讲述了什么怎样讲述的为什么要这样讲述如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入学习的内容这系列学习笔记是基于linux ...
2019-06-28 21:38:45
1485
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人