mediasoup中文翻译、代码走读输出文档(后续陆续更新)

阅读: 评论:0

mediasoup中文翻译、代码走读输出文档(后续陆续更新)

mediasoup中文翻译、代码走读输出文档(后续陆续更新)

文章目录

  • 使用说明
  • mediasoup 官方文档走读、翻译
    • 总览
    • 软件设计宗旨
    • 了解webrtc协议
    • 用例
    • V3 与V2的差异
    • 客户端与服务器之间的通信
      • mediasoup-client和libmediasoupclient的准则
      • 信令和 Peers
      • 设备加载
        • device.load({ routerRtpCapabilities })
      • 创建 "Transports"
      • 生产媒体
      • 消费媒体
    • 可扩展性
      • 多个独立的'mediasoup '-'routers'
      • 一对多广播
    • mediasoup v3设计
      • 特征
      • 架构
        • Transport类型区别
    • mediasoup-client V3 设计
      • 特性
    • libmediasoupclient库
      • 特征
        • libwebrtc API
        • 多线程
  • mediasoup源码走读输出
    • 代码中一些疑惑及解析
    • 主要类的抽象分层关系
    • channel命名空间中的类关系

使用说明

  1. ???代表有疑问,需要后续补充

  2. 官网地址:官网文档目录链接

mediasoup 官方文档走读、翻译

总览

一个SFU(选择性转发单元)从终端接收音频和视频流然后转发给其他终端。每个接收终端可以选择接收的流和时空层。与mixer或MCU(多点控制单元)相比,该设计具有更好的性能,更高的吞吐量和更少的延迟。它具有高度的可扩展性,并且由于不需要转码或混合媒体,因此所需资源少得多。

由于端点分别获取其他端点的媒体,因此它们可以具有个性化的布局,并选择要呈现的流以及如何显示它们。

软件设计宗旨

  • 是一个选择转发单元;(并列的还有:MCU-多点控制单元,几年前比较流行;Mesh -网状模型,即多个终端之间两两进行连接,形成一个网状结构;不同码流模型的本质差异)
  • 支持WebRTC和普通RTP输入和输出
  • 在服务器端设计的是Node.js模块
  • 客户端是小型JavaScript和C ++库
  • 是极简主义设计:只处理媒体分层(分层概念,参考RTP-SVC标准)
  • 与信令无关: 不强制任何信令协议
  • 非常低级别的API(mediasoup和它的客户端库提供一个超级低级的API。它们的目的是使不同的用例和场景,没有任何约束或假设。)
  • 支持现存所有类型的webRTC终端;(webRTC终端 是基于webRTC实现的终端)
  • 使与众所周知的多媒体库/工具 可以集成

了解webrtc协议

有助于理解后续api的实现原理

WebRTC 支持通过 DataChannel API 在端到端之间传 输任意应用数据。DataChannel 依赖于 SCTP(Stream Control Transmission Protocol,流控制传输协议),而 SCTP 在两端之间建立的 DTLS 信道之上运行的。

Secure Real-time Transport Protocol(SRTP)用于传输多媒体数据而RTP Control Protocol(RTCP)信息用于监控传输的状态。而DTLS则用于SRTP key及其相关的管理。

如果发生STUN服务器无法建立连接的情况的话,ICE将会使用TURN中继服务器,TURN是STUN的扩展,它允许媒体遍历NAT,而不会执行STUN流量所需的“一致打孔”,TURN服务器实际上在WebRTC对等体之间中继媒体,所以我这里理解的话使用TURN就很难被称为端对端之间通信了.

用例

mediasoup及其客户端库提供了超低级的API。它们旨在实现各种用例和场景,而没有任何约束或假设。其中一些用例是:

  • 组视频聊天应用程序。
  • 实时一对多(或很少对多)广播应用程序。
  • RTP流。

V3 与V2的差异

简而言之,mediasoup v3和mediasoup-client v3(除了新的libmediasoup C ++库)都比其相应的v2版本低级别(参考软件宗旨-low level API)得多,并且具有大量的改进和新功能。下表仅列出最具吸引力的部分:

Featurev2v3Description
mediasoup protocol 【协议】[√][]【v2带有一组JSON消息,必须在客户端和服务器之间盲目交换。尽管这使客户端“从理论上讲更容易”,但使服务器端逻辑变得困难。

本文发布于:2024-03-11 15:30:57,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/1710553718142184.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:中文翻译   代码   文档   mediasoup
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23