mediasoup
熠熠微光
这个作者很懒,什么都没留下…
展开
-
【流媒体】Mesh|MCU|SFU三种流媒体服务器的比较
各个流媒体服务器Mesh方案1对1的通信模型Mesh通信模型MCU方案SFU方案Mesh方案1对1的通信模型有WebRTC基础的应该能看懂下面这个图,关键就是NAT穿越、穿越不成功时的TURN服务器中转、以及Signal信令服务器交换SDP信息Mesh通信模型看下图可知Mesh是基于上图1对1的多对多通信模型,其中每条线路都是P2P,NAT穿越不成功时还是TURN备选MCU方案如图C1、C2、C3……是用户,在某个Room里,用户们进行多人视频交流时,MCU会把视频流和音频流解码拆开分别混原创 2020-06-22 15:10:54 · 2221 阅读 · 0 评论 -
【流媒体】Media soup源码分析(四)流的转发
传输媒体流的通道的建立在Media soup源码分析(三)中已经说明,实际上流的转发是依赖于Socket文章目录创建socketWebRtcTransportUdpSocket::UdpSocket传递数据包onRecvOnUvRecvUserOnUdpDatagramReceivedOnUdpSocketPacketReceived对数据包处理OnPacketReceivedSTUNOnStunDataReceivedProcessStunPacketDTLSOnDtlsDataReceived——DT原创 2020-07-16 20:52:31 · 1578 阅读 · 1 评论 -
【流媒体】Media soup源码分析(三)传输通道的建立
前面说到channel与router的建立,实际上channel是node服务器与底层C++之间信令交互的通道。transport才是router给用户推流拉流的通道,而创建完Router过后就开始创建Transport了文章目录创建Transport用户请求Worker——把信令传递给下一层Router->HandleRequest——确定Transport的类型SetNewTransportIdFromInternal——获得TransportIDRTC::WebRtcTransport——创建原创 2020-07-06 20:46:41 · 1671 阅读 · 0 评论 -
【流媒体】Media soup源码分析(二)Router的建立
在Channel建立后,上层应用发送数据请求传给底层C++,Router便能成功创建,本文将接着C++ Request 继续分析源码,前面相关的流程请看(一) RequestRequest当传来的 MethodId 是 WORKER_CREATE_ROUTER 时,就表示要创建一个Router了,调用 SetNewRouterIdFromInternal() 函数从internal中可以获取到Router的ID ,然后再执行Router的构造函数,同时传入ID接着调用Worker的私有成员mapRo原创 2020-07-03 11:36:37 · 754 阅读 · 0 评论 -
【流媒体】Media soup源码分析(一)信令的传输过程
正文目录JS部分先看整体展开Worker重要函数channel的建立JS部分的总结C++部分main流程图main.cppSocket的建立UnixStreamSocket.cppconsumerSocketUnixStreamSocketonReadOnUvReadUserOnUnixStreamReadOnConsumerSocketMessageRequestOnConsumerSocketMessageOnChannelRequestJS部分JS部分的重点是Worker.js先看整体从Wo原创 2020-07-02 14:19:12 · 2788 阅读 · 3 评论 -
【流媒体】Mediasoup主业务流程+时序图
文章目录createRoutercreateTransportconnectcreateProducercreateConsumercreateRoutercreateTransportconnect连接是非常关键的一步createProducercreateConsumer原创 2020-06-24 17:57:35 · 1312 阅读 · 0 评论 -
【流媒体】Mediasoup库的架构(C++部分)
文章目录Mediasoup库介绍Mediasoup基本概念Mediasoup包括的特性Mediasoup C++核心类图ConsumerTransportRouterMediasoup C++详细类图RtpStreamSendSeqManagerProducerNackGeneratorPortManagerDtlsTransportRembClient/RembServerIceCandidateIceServerTransportTupleMediasoup库介绍Mediasoup基本概念Wo原创 2020-06-23 17:26:02 · 2713 阅读 · 0 评论 -
【流媒体】Mediasoup Demo 结构
Mediasoup结构图Mediasoup Demo介绍appbroadcastconfig.jsserver.jslibRoom.jsinteractiveClient.jsinteractiveServer.jslibworkerMediasoup结构图分为三个模块,紫色部分是Node.js,作为服务器后台,下面是浏览器的前端部分,右边是Mediasoup C++Mediasoup Demo介绍app客户端代码broadcast广播,推流或收流,只有去或只有回config.js配.原创 2020-06-24 17:54:24 · 911 阅读 · 0 评论