mediasoup

WebRTC 视频会议
授权协议 ISC
开发语言 Perl
所属分类 建站系统、 网络会议/视频会议
软件类型 开源软件
地区 不详
投 递 者 阴元青
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

mediasoup 是一个 WebRTC 视频会议工具。

设计目标:

  • 成为一个 SFU;
  • 同时支持 WebRTC 和普通 RTP 的输入和输出;
  • 在服务器端是一个 Node.js 模块/Rust crate;
  • 在客户端是一个很小的 JavaScript 和 C++ 库;
  • 极简主义:只处理媒体层;
  • 不要求任何信令协议;
  • 是超低级别的 API;
  • 支持所有现有的 WebRTC 端点;
  • 能够与知名的多媒体库/工具集成;

特性:

  • ECMAScript 6/Idiomatic Rust 低级别 API;
  • 多流:通过一个 ICE+DTLS 传输的多个音频/视频流;
  • IPv6;
  • 通过 UDP 和 TCP 的 ICE / DTLS / RTP / RTCP;
  • 支持同步广播和 SVC;
  • 发送方和接收方带宽估计与空间/时间层分配算法;
  • 数据信息交换
  • 功能极其强大
  • 目录 前言 正文 简述 对比 总结 《WebRTC工作原理精讲》系列-总览_Data-Mining的博客-CSDN博客前言欢迎大家订阅Data-Mining 的《WebRTC工作原理精讲》专栏。这里简单的罗列一下专栏的文章目录,一方面方便大家阅读,另一方面让大家对专栏可以有一个整体的认识。正文WebRTC[1]-WebRTC中h264解码过程的源码分析WebRT

  • mediasoup 不提供任何信令协议来通信客户端和服务器。 由应用程序使用 WebSocket、HTTP 或任何一种通信方式进行通信,并在客户端和服务器之间交换 mediasoup 相关的参数、请求/响应和通知。 在大多数情况下,这种通信必须是双向的,因此通常需要全双工通道。 但是,应用程序可以将相同的通道重用于非 mediasoup 相关的消息交换(例如身份验证过程、聊天消息、文件传输以及应用

  • 学习mediasoup,可以从mediasoup的官方文档中的example样例入手。官方样例 。以下是翻译。 官方文档中,共有如下8个样例,供读者进行学习。   1、versatica/mediasoup-demo 项目:https://github.com/versatica/mediasoup-demo 这是由mediasoup的作者制作的官方mediasoup-demo演示。 就是说,作者

  • sudo apt install python3.8 sudo apt install nodejs sudo apt install npm wangbuji@ubuntu:~/projects/mediasoup$ git clone https://github.com/versatica/mediasoup-demo.git wangbuji@ubuntu:~/projects/media

  • 概述 mediasoup是SFU模式的媒体服务器。SFU(Selective Forwarding Unit)模式是从房间中的每个参与者接收音频和视频流,并将其转发给其他人(终端发送一个并接收很多)。 与mixer或MCU(Multipoint Control Unit)相比,这种设计有更好的性能,更高的吞吐量和更少的延迟。 它具有高度的可扩展性,因为它不会转码或混合媒体,所以需要更少的资源。 由

  • TransportTuple 是mediasoup底层传输的基石 plain webrtc pipe 都通过这个类进行发送 没看到有专门的线程处理发送过程。 构造:支持tcpconn,udpsocket和拷贝 TransportTuple(RTC::UdpSocket* udpSocket, const struct sockaddr* udpRemoteAddr) : udpSock

  • MediaSoup 2019年3月写的文章了,后续也没有再跟进这个项目有没有新变化。 MediaSoup是一个开源的SFU库,分为客户端和服务端。服务端分为JS层和C++层,C++层用于处理媒体和SDP等数据。我个人主要关注媒体相关的处理,也就是RTP和RTCP相关的处理。我们的项目不会用到这个项目,看它的代码主要是解决我的两个疑问: 多人会议,它是如何能保证每一个接收端都能流畅? 它是如何处理各

  • Mediasoup Overview 官方 mediasoup 英文文档 非官方 mediasoup 中文文档 暂无中文文档 mediasoup 是一个基于 C++ 实现具有 SFU 的功能库,其 server 端对外提供 Nodejs API。 mediasoup 自身并不提供任何信令协议。所以需要应用程序,来确认 mediasoup 客户端与服务端进行通信的方式,用来协商客户端与服务端的相关参

  • 一、PlainTransport 介绍      mediasoup提供了PlainTransport可以接收裸RTP数据,所以可以通过ffmpeg.sh脚本推本地文件到mediasoup。 二、ffmpeg.sh推流介绍 脚本路径:mediasoup-demo/broadcasters/ffmpeg.sh 注意:想看到ffmpeg的推流效果,可以通过chrome网页请求,提前创建好一个房间,然后

  • mediasoup 模块的一些属性 mediasoup.types mediasoup 模块对外 export 出来的所有的 class + TypeScript 语法定义的类型。 var ms = require('mediasoup'); console.log(ms.types); 结果如下: { Worker: [Function: Worker], Router: [Funct

 相关资料
  •         视频会议须更新到6.13版本方可使用。会议室参会人数可支持50+同时进行视频会议,目前客户端仅能显示最多6方视频(同时参会人数可100+),但是会议过程中讲话人会到主屏上进行显示。目前轻推上仅支持发起会议,不支持通过输入会议号的形式加入会议,如果需要发起会议,请使用轻推客户端。 操作方法: 1.    手机版: (1)发起会议:右上角通话按钮-视频会议-选择联系人-发起会议 (2)

  • 视频驱动负责实现 LCUI 应用程序与操作系统中的视窗系统的交互,这些交互包括向 LCUI 应用程序提供屏幕尺寸、将组件的信息和渲染结果同步到对应的窗口中,是 LCUI 的几个驱动模块中最为复杂的一个。 表面 表面(Surface)是窗口的抽象,也是 LCUI 的组件与操作系统的窗口进行交互的中间层,它屏蔽了各个操作系统中的视窗操作接口的差异和实现细节,使得 LCUI 应用程序只需要专注于将图形内

  • 拍摄或从手机相册中选择图片或视频 参数 Object object 属性 类型 默认值 必填 说明 count number 9 否 最多可以选择的文件个数 mediaType Array.<string> ['image', 'video'] 否 文件类型 注意:mediaType为枚举值 建议开发者使用时只传一个值 如果传入两个值 优先video sourceType Array.<strin

  • 我正在使用Androidncoder生成一个带有AAC音频的H264视频,通过RTMP网络发送,并使用MediaMuxer本地存储在MP4文件中。 广播在RTMP上运行良好,但在本地保存时,生成的视频有时还可以,有时只是带有声音的黑色帧(或者只是带有一些信息块的第一部分帧),有时它先播放音频,然后以随机FPS速度播放视频。 这是我的Muxer包装器类和MPEG4Writer SDK类显示的输出:

  • 主要内容:HTML 音频/视频 DOM 参考手册,HTML 音频/视频 方法,HTML 音频/视频属性,HTML 音频/视频事件HTML 音频/视频 DOM 参考手册 HTML5 DOM 为 <audio> 和 <video> 元素提供了方法、属性和事件。 这些方法、属性和事件允许您使用 JavaScript 来操作 <audio> 和 <video> 元素。 HTML 音频/视频 方法 方法 描述 addTextTrack() 向音频/视频添加新的文本轨道。 canPlayType() 检测浏

  • 方式1:面试受邀者提前注册并登录如流客户端,与面试官互为好友后,面试官直接发起视频通话或通过提前预约视频通话形式,与受邀者远程视频。 方式2:面试官使用预约会议形式,提前创建视频会议,将会议链接分享给面试受邀者,面试受邀者可无需下载客户端,通过web浏览器形式加入会中。注意:当前web浏览器入会仅支持桌面端。 方式3:面试官使用预约会议形式,提前创建视频会议,将会议信息分享给面试受邀者,受邀者下载

  • 我需要提取5年前公司YouTube频道上的活动。我遇到了一个YouTube分析API的问题,因为它限制了我最近30天的活动。我正在考虑接下来尝试YouTube数据API V3,但我想首先在这里问一下,是否有人知道如何从YouTube频道中提取深层历史数据。我感兴趣的主要是每天每个视频的浏览量。我正在使用谷歌云平台,需要将数据存储在BigQuery中。 https://developers.goog

  • 有没有一种方法可以成功地将所有剪辑拼接在一起,从而防止出现奇怪的小故障?我整理了一个