![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mediasoup
cynic_liu
这个作者很懒,什么都没留下…
展开
-
mediasoup源码分析之-丢包重传
丢包重传就是在客户端没有收到服务端发送的数据情况下,服务端重新发送数据。ACK和NACK是两种选择机制,mediasoup里采用的是nack机制,客户端在没有接收到某个包时,主动通过RTCP消息告知服务端,哪个包丢失了,服务端收到该消息后重传对应的包。关于RTCP携带NACK的消息,RFC4585有详细描述,FMT=1,PT=205 0 1 2 3 0 1 2 3 4 5 6 7 8 9原创 2021-08-19 20:23:22 · 405 阅读 · 0 评论 -
mediasoup源码分析之-rtpParameters
rtpparameter包含了音视频的基本信息,拥塞控制方式以及重传方式约定。consumer和producer需要依据该参数来进行初始化rtp会话。音频相对比较简单,采用的适合低延迟语音通话的opus编码,在辅助以FEC扛丢包。下面重点说一下视频流相关的rtp parameter。Producer video rtpparameters{ "codecs": [ { "clockRate": 90000, "mimeType": "video/VP8", "parameters.原创 2021-07-30 16:30:03 · 649 阅读 · 0 评论 -
mediasoup-demo编译安装
安装node 下载mediasoup-demo# git clone https://github.com/versatica/mediasoup-demo.git# cd mediasoup-demo# git checkout v3安装# cd mediasoup-demo/server# npm install --unsafe-perm 可能遇到的问题解决1. 如果执行npm install 时,不带参数“--unsafe-perm”时,会有如下错误gyp WA.原创 2021-02-25 15:06:36 · 736 阅读 · 0 评论 -
mediasoup源码分析之-网络基础库libuv
开源的网络事件库有很多种,大家最熟悉的莫过于集成在nginx里的event模块,很灵巧也很好的支撑了nginx的高性能服务。但是分析源码后,大家其实都比较类似,底层采用epoll机制探测事件,从而驱动上层业务运行。libuv也是一个开源的网络事件库,它的设计也比较巧妙,很轻量级。mediasoup中,libuv使用由以下两个函数启动,ClassInit负责生成uv_loop_t对象,并初始化相关对象,类似nginx的ngx_worker_process_cycle,RunLoop调用uv_run,启动循原创 2021-07-13 11:34:28 · 385 阅读 · 0 评论