mediasoup

old-six-programmer2 个月前
音视频·webrtc·实时音视频·mediasoup
深入浅出mediasoup—WebRtcTransportmediasoup 提供了多种 transport,包括 WebRtcTransport、PipeTransport、DirectTransport、PlainTransport 等,用来实现不同目的和场景的媒体通信。WebRtcTransport 是 mediasoup 实现与 WebRTC 客户端进行媒体通信的对象,是 mediasoup 最重要也是最复杂的 transport,理解了 WebRtcTransport 的设计与实现,再去分析其他类型 transport 会简单很多。
old-six-programmer2 个月前
webrtc·mediasoup·libuv
深入浅出mediasoup—通信框架libuv 是一个跨平台的异步事件驱动库,用于构建高性能和可扩展的网络应用程序。mediasoup 基于 libuv 构建了包括管道、信号和 socket 在内的一整套通信框架,具有单线程、事件驱动和异步的典型特征,是构建高性能 WebRTC 流媒体服务器的重要基础,本文主要分析 mediasoup 对 libuv 的封装。
old-six-programmer2 个月前
webrtc·sdp·mediasoup·ortc
深入浅出mediasoup—协议交互本文主要分析 mediasoup 一对一 WebRTC 通信 demo 的协议交互,从协议层面了解 mediasoup 的设计与实现,这是深入阅读 mediasoup 源码的重要基础。
webrtc&ffmpeg_study3 个月前
实时音视频·mediasoup·流媒体服务
mediasoup源码分析(二)--worker启动官方提供的mediasoup-demo是由js(信令)+c++(流媒体服务)两部分服务,mediasoup的worker进程是nodejs通过child_process 的spawn()接口启动的
webrtc&ffmpeg_study3 个月前
实时音视频·mediasoup·流媒体服务
mediasoup源码分析--channel创建及信令交互在golang实现mediasoup的tcp服务及channel通道一文中,已经介绍过信令服务中tcp和channel的创建,本文主要讲解c++中mediasoup的channel创建,以及信令服务和mediasoup服务如何交互
webrtc&ffmpeg_study4 个月前
实时音视频·mediasoup·流媒体服务
mediasoup基础概览提示:本文为之前mediasoup基础介绍的优化Mediasoup 是一个构建在现代 Web 技术之上的实时通信(RTC)解决方案,它是一个完全兼容 WebRTC 的高性能 Selective Forwarding Unit(SFU)服务器。Mediasoup 允许开发人员轻松地在应用程序中实现音视频通话、会议和直播等功能。 Mediasoup 的设计目标是提供高性能和可扩展性,同时保持足够的灵活性,以适应不同的应用场景和需求。它适用于需要实时音视频通信的 Web 应用程序,并且可以与现有的 Web 技术
、、、、南山小雨、、、、10 个月前
音视频·webrtc·mediasoup·sfu
mediasoup webrtc音视频会议搭建拉下源码: https://github.com/versatica/mediasoup-demo 源码里有以下目录其中,app网页的界面终端,broadcasters是广播,也就是他支持我们用ffmpeg推流上去给所有的成员广播,server是流媒体服务器。 源码包含了,https服务器用于浏览器获取界面,信令服务器用于房间管理,和流媒体服务器用于数据转发。
草根大哥10 个月前
udp·mediasoup·port·rtcminport·rtcmaxport
mediasoup udp端口分配策略mediasoup-worker多进程启动时,rtcMinPort/rtcMaxPort可以使用相同的配置。 for (let i = 0; i < numWorkers; i++) { let worker = await mediasoup.createWorker({ logLevel: config.mediasoup.worker.logLevel, logTags: config.mediasoup.worker.logTags, rtcMinPort: minPort, rtcMaxPort
草根大哥10 个月前
cluster·mediasoup·横向扩容·回源
mediasoup-cluster横向扩容机制基于mediasoup实现类似RTMP-CDN的回源机制,从而实现cluster-node的横向扩容。 mediasoup worker实现了PipeTransport机制。 pipeTransport代表了一个RTP通信对,可以实现同一台机器或者多台机器之间的通信。 A pipe transport represents a network path through which RTP, RTCP (optionally secured with SRTP) and SCTP (DataChannel)
草根大哥1 年前
webrtc·mediasoup·udp端口复用
webrtc基于DTLS的端口复用技术DTLS协议: DTLS(Datagram Transport Layer Security)数据包安全传输协议,用于在不可靠的数据包传输协议上(如UDP)提供数据的安全传输。 UDP多路复用: 一个UDP多路复用,被用来处理共享同一个UDP端口的多个并发的UDT连接。类似同一个tcp port上创建多个socket connection. UDP多路复用,根据包头的目标Socket ID,将接收到的不同的UDT包分发给相应 的UDT Socket。 换言之,多个UDT Socket绑定到不同的UDP端口
草根大哥1 年前
node.js·webrtc·多线程·mediasoup·socket.io
Mediasoup在node.js下多线程实现mediasoup基于socket.io的交互消息来完成join-room的请求过程。Join的过程,实际就是获取stream的过程,也就是视频加载时间(video-load-speed)。在RTMP系统,视频加载时间是秒开。Mediasoup给出的第一个frame是I-frame,但由于交互的消息较多(8条),node.js是单线程处理框架,并发处理能力明显不足。即使50个并发,也有超过20%的用户视频加载时间>1000ms。