
流媒体系列 -- MediaSoup
文章平均质量分 74
流媒体系列 -- MediaSoup
奋斗企鹅CopperSun
这个作者很懒,什么都没留下…
展开
-
【网络通信 -- WebRTC】项目实战记录 -- mediasoup android 适配 webrtc m94
【1】下载并配置 depot_tools【2】获取 WebRTC 源码【3】编译 WebRTC【4】保存 Webrtc Android 相关头文件与库【5】适配 MediaSoup Android Client Lib参考致谢本博客为博主的学习实践总结,并参考了众多博主的博文,在此表示感谢,博主若有不足之处,请批评指正。【1】二 Ubuntu下编译WebRtc-Android【2】webrtc Android最新源码及编译【3】webrtc 103 android编译问题【4】原创 2023-09-07 15:00:13 · 1136 阅读 · 0 评论 -
【网络通信 -- WebRTC】项目实战记录 -- linux 环境下 libmediasoup 编译与测试
mediasoup-broadcaster-demo 使用 libmediasoupclient 库实现向 mediasoup 服务器发布一个预设的视频流的功能。【2】depot_tools / fetch:第8行:exec:python:未找到。原创 2023-09-01 19:53:18 · 1916 阅读 · 1 评论 -
【网络通信 -- WebRTC】MediaSoup 源码分析 -- 总体架构分析
【网络通信 -- WebRTC】MediaSoup 源码分析 -- 总体架构分析【1】MediaSoup 的整体架构WorkerA worker represents a mediasoup C++ subprocess that runs in a single CPU core and handles Router instances Worker 表示 MediaSoup C++ 的子进程,该子进程运行在一个单独的 CPU 核心中,用于处理 Router 实例RouterA .原创 2021-08-20 15:53:53 · 1531 阅读 · 1 评论 -
【网络通信 -- WebRTC】WebRTC 源码分析 -- GCC 带宽估计 -- 接收端带宽估计
【网络通信 -- WebRTC】WebRTC 源码分析 -- 接收端带宽估计【1】OveruseEstimator 中的卡尔曼滤波公式简介【2】OveruseDetector 中的带宽负载信号的触发与阈值的动态调整阈值动态调整公式为到达时间差,为时刻的延迟,为自适应增益;带宽负载信号触发时机的判断并且持续时间大于 100ms 则判断为带宽过载 则判断为带宽过量 则判断为带宽正常【3】AimdRateControl 中有限状态机的状态转移......转载 2022-06-23 14:25:42 · 862 阅读 · 0 评论 -
【网络通信 -- WebRTC】MediaSoup 源码分析 -- 基于 libuv 的 Socket 封装
【网络通信 -- WebRTC】MediaSoup 源码分析 -- 基于 libuv 的 Socket 封装【1】UDP 数据包传输 --UdpSocketUdpSocket 相关类构成与继承关系【2】TCP 数据包传输 --TcpServerTcpServer 相关类结构与继承关系【3】通道数据传输 --ChannelSocketChannelSocket 相关类结构与继承关系参考致谢本博客为博主的学习实践总结,并参考了众多博主的博文,在此表示感谢,博主若有...原创 2021-08-20 15:53:18 · 545 阅读 · 0 评论 -
【网络通信 -- WebRTC】MediaSoup 源码分析 -- 发布者与消费者的创建
【网络通信 -- WebRTC】MediaSoup 源码分析 -- 发布者与消费者的创建【1】发布者创建Channel::ChannelRequest::MethodId::TRANSPORT_PRODUCE 确定 producerId 存在并且发布者实例不存在 Transport::SetNewProducerIdFromInternal 创建发布者实例 RTC::Producer 构造函数 添加发布者实例 RtpListener::AddProducer原创 2021-09-01 16:34:36 · 562 阅读 · 0 评论 -
【网络通信 -- WebRTC】MediaSoup 源码分析 -- STUN 数据包处理与 ICE 交互
【网络通信 -- WebRTC】MediaSoup 源码分析 -- STUN 数据包处理【0】MediaSoup 中处理 STUN 数据包的调用路径WebRtcTransport::OnPacketReceived -> RTC::StunPacket::IsStun -> WebRtcTransport::OnStunDataReceived -> RTC::StunPacket::Parse -> IceServer::ProcessStunPacket【1原创 2021-08-24 14:30:08 · 1118 阅读 · 0 评论 -
【网络通信 -- WebRTC】MediaSoup 源码分析 -- DTLS 处理
【网络通信 -- WebRTC】MediaSoup 源码分析 -- DTLS 处理【1】DTLS 类初始化 --DtlsTransport::ClassInitDtlsTransport::ClassInit 获取证书和私钥 若配置信息中指定了证书和私钥的路径,从配置的文件中读取证书与私钥信息 DtlsTransport::ReadCertificateAndPrivateKeyFromFiles 若配置信息中未指定证书和私钥的路径,生成证书和私钥 DtlsTra.原创 2021-08-24 14:04:07 · 665 阅读 · 0 评论 -
【网络通信 -- WebRTC】MediaSoup 源码分析 -- RTP 数据包处理
【网络通信 -- WebRTC】MediaSoup 源码分析 -- RTP 数据包处理【1】MediaSoup 中处理 RTP 数据包的调用路径WebRtcTransport::OnPacketReceived -> RTC::RtpPacket::IsRtp -> WebRtcTransport::OnRtpDataReceived -> SrtpSession::DecryptSrtp -> RTC::RtpPacket::Parse -- 解析 RTP 数据包原创 2022-01-13 10:00:22 · 692 阅读 · 0 评论 -
【网络通信 -- WebRTC】MediaSoup 源码分析 -- RTCP 数据包处理
【网络通信 -- WebRTC】MediaSoup 源码分析 -- RTCP 数据包处理【1】MediaSoup 中处理 RTCP 数据包的调用路径WebRtcTransport::OnPacketReceived -> RTC::RTCP::Packet::IsRtcp -> WebRtcTransport::OnRtcpDataReceived -> SrtpSession::DecryptSrtcp -> RTC::RTCP::Packet::Parse -原创 2022-01-13 09:56:23 · 556 阅读 · 0 评论 -
【网络通信 -- WebRTC】MediaSoup 源码分析 -- NACK 机制
【网络通信 -- WebRTC】MediaSoup 源码分析 -- NACK 机制参考致谢本博客为博主的学习实践总结,并参考了众多博主的博文,在此表示感谢,博主若有不足之处,请批评指正。原创 2021-09-18 16:33:39 · 538 阅读 · 1 评论 -
【网络通信 -- WebRTC】MediaSoup 源码分析 -- 关键帧请求
【网络通信 -- WebRTC】MediaSoup 源码分析 -- 关键帧请求参考致谢本博客为博主的学习实践总结,并参考了众多博主的博文,在此表示感谢,博主若有不足之处,请批评指正。原创 2021-09-20 12:12:22 · 654 阅读 · 0 评论 -
【网络通信 -- WebRTC】MediaSoup 源码分析 -- 拥塞控制
【网络通信 -- WebRTC】MediaSoup 源码分析 -- 拥塞控制【1】MediaSoup -- TransportCongestionControlServer 类的结构图示【2】MediaSoup -- TransportCongestionControlClient 类的结构图示【3】MediaSoup -- SenderBandwidthEstimator 类的结构图示参考致谢本博客为博主的学习实践总结,并参考了众多博主的博文,在此表示感谢,博主若有不...原创 2022-01-13 10:04:29 · 549 阅读 · 0 评论 -
【网络通信 -- WebRTC】项目实战记录 -- MediaSoup 环境搭建
【网络通信 -- WebRTC】项目实战记录 -- MediaSoup 环境搭建【1】安装 node 环境curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -sudo apt-get install -y nodejsapt install npm【2】配置淘宝镜像临时使用npm --registry https://registry.npm.taobao.org持久使用npm config set原创 2021-08-12 09:17:14 · 1604 阅读 · 0 评论 -
【网络通信 -- WebRTC】项目实战记录 -- 基于 MediaSoup 的 FFMPEG 接入
【网络通信 -- WebRTC】项目实战记录 -- MediaSoup FFMPEG 推拉流参考致谢本博客为博主的学习实践总结,并参考了众多博主的博文,在此表示感谢,博主若有不足之处,请批评指正。【1】ffmpeg推流到mediasoup【2】mediasoup源码分析(十) ffmpeg推流到mediasoup 及调试...原创 2021-11-09 09:43:27 · 717 阅读 · 0 评论 -
【网络通信 -- WebRTC】项目实战记录 -- MediaSoup 开启 Valgrind 工具集
【网络通信 -- WebRTC】项目实战记录 -- MediaSoup 开启 Valgrind 工具集【1】启动 Valgrind 工具关键代码分析mediasoup-3/src/Worker.ts 中有如下代码,该段代码会根据系统中与 MediaSoup Valgrind 配置相关的环境变量,启动 Valgrind 检测 MediaSoup Worker;export class Worker extends EnhancedEventEmitter{ /** * @private原创 2022-04-22 09:31:42 · 363 阅读 · 0 评论 -
【网络通信 -- WebRTC】项目实战记录 -- MediaSoup 模糊测试 Fuzzer 使用简记
变异 (Mutation) 算法用于产生新的且能够覆盖更多基本块的输入,LibFuzzer 包含了一系列内置的简单的变异算法具体如下,这些内置的变异算法中,变异的位置的和变异的值都是采用。的模糊测试引擎,是 LLVM 项目的一部分,它与被测库链接,通过特定的入口点将模糊测试的输入提供给被测函数,并在测试过程中不断变异输入,并统计代码覆盖率和崩溃情况;运行模糊器,需要将零个或多个语料库目录作为命令行参数传递,模糊器将读取每个语料库目录中的测试样本输入,并且生成的任何新测试输入将被写回第一个语料库目录;原创 2022-10-21 17:51:17 · 920 阅读 · 0 评论