当前位置: 首页 > news >正文

注册网站会不会有问题简单三栏网站

注册网站会不会有问题,简单三栏网站,做网站没有学历的人会吗,装修平台哪个最好一、Mediasoup 整体结构 整个Mediasoup库通过Nodejs管理,比如整体逻辑、worker、router、producer、consumer...都是通过JS进行管理的。 其底层的数据传输是通过C部分进行控制的,通过NodeJs来控制C部分,以实现整体的数据传输效 二、Mediasou…

一、Mediasoup 整体结构

整个Mediasoup库通过Nodejs管理,比如整体逻辑、worker、router、producer、consumer...都是通过JS进行管理的。

其底层的数据传输是通过C++部分进行控制的,通过NodeJs来控制C++部分,以实现整体的数据传输效

二、Mediasoup js类关系

1.几乎所有类都继承自EnhancedEventEmitter,每个对象都可以发送事件

2.每个worker代表一个节点,内部有多个Router,组成Routers结构。每个Worker中都有一个channel,与C++进行通讯

3.对于每一个Router房间来说,是包含Tranports和Produces

4.Transport包含Produces与Consumes,其包括多个子类,如WebRtcTransport(浏览器数据传输)、PlainRtpTransport(非音视频)、PipeTransport(不同router之间数据流转)

二、Mediasoup c++类关系

1.最核心是Router类,房间概念,包含Consumer、Producer,Transport子模块,关系对应1:n

2.Consumer中含有多种子类,如:SimpleConsumer(音视频流)、PipeConsumer(Router之间数据流转)、SvcConsumer(分层、增量)、SimulcastConsumer(分层)

3.Producer,接收共享者传输的流

4.Transport分为3种,同前面JS介绍一致,TransportTuple元组存放本地socket、远端socket、IP、端口

三、Mediasoup 核心类介绍

  1. 对于4种消费者,都包含RtpStreamSend对象,消费者发送数据给客户端,通过RtpStreamSend方法。RtpStreamSend继承自RtpStream,这个类处理Rtp数据流的收发。RtpStream使用到了RtpPacket,这个包是用于对Rtp数据包的分析,Rtp数据有数据包头,对于包头每一个字段的定义都是在这个Packet里面操作的

  2. 因为要对整个数据进行处理,所以使用SeqManager,序列管理器。服务端推送给客户端的数据流是会重新排序的,排序的时候便会依靠这个SeqManager,它会记录某个SSRC所对应的Sequence,以此为起始位置,然后后面的每个包都向下递增一个数

  3. Producer作为服务端的生产者,它是用来接收共享者发送的数据流,所以它里面包含多个RtpStreamRecv,是一对多的关系(为什么是多个RtpStreamRecv呢?因为数据的接收有可能会丢包,丢包重传的也算作一路流,对应的音频的丢包也是需要重传)

  4. 作为数据的接收端,RtpStreamRecv使用到了NackGenerator丢包产生器。接收端能够知道有没有丢包,因为数据包有Sequence,比如发送了100个数据,前50个数据是连续的,但假设当50之后是55,Recv端就知道丢了 51、52、53、54 这4个包了。丢包之后如何解决呢,有两种方式:

  5. Fec:在每个包增加一些冗余,它能计算 出丢失的音频包或视频包

  6. Nack:它会告诉发送端丢了哪些包,发送端会根据策略,若时间比较短的话,会把丢失的包补上来,具体补哪些包就是根据NackGenerator产生的

  7. Transport分为3种,WebRtcTransport(浏览器数据传输)、PlainRtpTransport(非音视频)、PipeTransport(不同router之间数据流转)。TransportTuple元组存放本地socket、远端socket、IP、端口

  8. 最核心的是WebRtcTransport,与浏览器进行数据传输。首先其包含UdpScoket与TcpServer对应两个链接,可以与客户端连接通信

  9. 对于UdpSocket与TcpServere,其继承自PortManager端口管理器,对于Mediasoup来说,默认是从40000到49999共一万个端口号。UdpSocket和TcpServer通过PortManager进行对端口号的管理,首先确定端口号有没有被占用,没有被占用就使用该端口号对数据传输;若被占用,就根据PortManager的策略往后跳。注意Udp和Tcp的使用是互斥的

  10. DtlsTransport:使用dtls对Rtp包进行数据加密的协议,同时在这里面还使用到了Srtp协议,Srtp协议分为数据的收与发,所以在WebRTCTransport中有Srtp send和recv这两个Session

  11. RembClient/RembServer:这两个主要用于对带宽的评估,既可用于client端也可用于server端。对于共享者来说,Mediasoup的WebRTCTransport就是RembClient端;对于消费者来说,就是RembServer端

  12. IceCandidate:候选者包括Host、Server reflexive、Relay reflexive三种,对于WebRTC一般设置成Host,最高优先级

http://www.yayakq.cn/news/828137/

相关文章:

  • 男生女生做污事网站 localhost阳新网络推广公司
  • 设置自己的网站wordpress菜单跳出
  • 爱站工具官网网站网站制作开发需要哪些技术
  • 做资源网站 文件能存储到云盘吗wordpress dux主题5.2
  • 廊坊文安建设局网站全球首个完全响应式网站自助建设平台在中国诞生
  • 住房和城乡建设部网站 挂证通报微商的货源都从哪来
  • 怎么做钓qq密码网站app开发公司有哪些部门
  • postgresql做网站用什么环境安县网站制作
  • 程序员网站建设做特产的网站
  • asp.net做网站的步骤设计之家logo设计
  • 天长市城乡规划建设局网站军事新闻最新头条
  • 哪种网站开发简单评论插件 wordpress
  • 企业网站模板下载安装设置网站域名解析和网站主机绑定
  • 定制开发app的设计流程seo是什么地方
  • 服装网站模板免费下载厦门做网站软件
  • 网站已改版百度上线wordpress结构化数据插件
  • 太仓市住房和城乡建设局网站天津建设工程信息网渤海油田
  • wordpress网站 800cdn求个网站没封的2021
  • 网站适配手机怎么做wordpress注册邮件验证
  • 论述网站开发建设的一般流程个人如何制作app
  • 杭州企业网站php 公司网站源码
  • 优斗网站建设网站建设与管理和计算机网络技术
  • 网站建设 百度贴吧怎么做全屏网站
  • wordpress建站网站根目录网站管理包括哪些内容
  • 网站幕布拍照什么样子的我被钓鱼网站骗了骗取建设信用卡建设银行会怎么处理钱会还回吗
  • 电子商务自助建网站网站建设人群定位
  • 云南企业网站东莞优化网站关键词优化
  • dw如何制作自己的网站哪个网站做新中式
  • 做网站需要虚拟主机还是服务器360推广登录入口
  • c语言做的网站有什么优缺点做网站首页代码