码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • MediaSoup简介


    https://github.com/versatica/mediasoup.git  核心库:C++和node.js。
    https://github.com/versatica/mediasoup-demo.git  demo:有serevr、app即client,用的js。

    特性:Simulcast and SVC support.
    Congestion control.
    Sender and receiver bandwidth estimation with spatial/temporal layers distribution algorithm.

    C++和Node.js通过发送json字符串通信。

    node.js通过配置文件config.js,创建几个worker,一般是cpu核数。

    C++:通过mediasoup_worker_run(),作为一个独立程序运行起来。

    Worker包括router,即房间。

    Router包括Producer、Consumer(有SimpleConsumer、PipeConsumer、SvcConsumer、SimulcastConsumer等)、Transport(有WebRtcTransport、PipeTransport等)等。

    创建Router、Producer、Consumer、Transport等都是通过发送字符串,Node.js和C++通信。

    消息的格式用的开源库protoo-server、protoo-client。

    网络库用了libuv,通过pipe进行通信。

    uv_pipe_init、uv_pipe_open、uv_read_start、uv_read_stop、uv_write等。

    pipe通信,不需要端口,传入fd。

    因为是单向发送,单向接收,所以不需要加锁。

    new Channel::ChannelSocket(consumerChannelFd, producerChannelFd)。

    static constexpr int ConsumerChannelFd{ 3 };
    static constexpr int ProducerChannelFd{ 4 };

    消息有两种:1种是事件响应,有id,另一种是事件通知。

    因为是C++和Node.js混合开发,这样的设计(两个独立的程序)造成它们需要通信啊。

    好处呢?高并发?

    代码目录结构挺清晰。

    和janus对比?

  • 相关阅读:
    前端面试,备考第 13 天 - 执行上下文 | 作用域链 | 闭包
    【Linux常用命令10】用户管理和文件权限命令
    开源服务器大整理
    Docker学习资料集(从入门到实践)
    阅读笔记——《GANFuzz: A GAN-based industrial network protocol fuzzing framework》
    每三行分组后合并起来
    【已解决简单好用】notepad++怎么设置中文
    java计算机毕业设计汉语言类网上考试系统MyBatis+系统+LW文档+源码+调试部署
    Python教程之字典(Dictionary)操作详解
    C#面:解释什么是闭包
  • 原文地址:https://blog.csdn.net/chenquangobeijing/article/details/126590094
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号