webrtc服务器压测工具使用

WebRtc性能自适应 采取编码时长占采集间隔的比例得到性能的估计根据性能估计得到overuse、underuse信号做adapt down和adapt up从overuse到underuse需要谨慎,避免频繁切换向上调整和向下调整策略主要有三个:保帧率、保分辨率、帧率和分辨率平衡。原文WebRtc性能自适应 - 知乎★文末名片可以免费领取音视频开发学习资料,内容包括(FFmpeg ,webRTC ,rtmp ,hls ,rtsp ,ffplay ,srs)以及音视频学习路线图等等。见下方! 阅读详情

  主要介绍3个开源的webrtc压力测试框架–kite,pion及srs_bench,以janus服务器为例。

1、KITE

   KITE整合了Selenium和Aullure。Selenium 是一个开源的浏览器自动化框架,支持集群化(grids),不同的节点可以运行不同的操作系统类型/版本、浏览器类型/版本,这样我们就可以在各种操作系统和浏览器的组合下自动化测试 Web 应用了。Allure 则是一个开源的测试报告工具,用来展示测试结果。有开源版本也有商用版本。

重要特征:

  • 支持linux、windows,mac,ios及android平台,也支持所有的浏览器;

  • 支持Jisti、janus、Kurento/openvidu、Mediasoup、Medooze (Simulcast demo) 服务器;

  • 使用java或Javascript语音作为测试脚本开发语音;

注意:

《1》、安装时注意现有系统上使用的浏览器版本及其对应的驱动版本需要对应,否则会失败。谷歌浏览器查找对应版本的官方方法如下。
在这里插入图片描述

《2》、默认一个janus 视频会议只支持6个测试实例,需要更改配置文件及相应的脚本语言,不熟悉的情况下可以根据第一次运行的log中找到关键信息然后用egrep在测试用例中找对应的代码。(因为写的时候没有那个环境了所以就不列举了。)

《3》、需要使用KITE-Sample-Tests来测试我们的janus,这份sample里有多款webrtc服务器的初级测试脚本;

《4》、如果使用https模式且使用自己生成的证书,需要在sample对应webrtc服务文件夹下的config配置文件中添加浏览器启动参数,谷歌浏览器需添加"–ignore-certificate-errors",可以往KITE-master\localGrid\chrome\startNode中添加该参数(该文件在KITE成功安装后才有),也可以在config文件中添加。其它浏览器没使用过暂时没研究。

《5》、如果想节省移动资源可以把config文件中的headless的值设置为true,如下。这样它测试时就不会打开浏览器,但是编解码还是会有,省下浏览器那些许的资源开销。
在这里插入图片描述

《6》、如果浏览器驱动安装对了,然后按照github官方步骤就能跑起来,然后输出结果,可是也有时候显示测试已经pass但是实际并没有成功启动测试的(之所以知道没成功启动是因为headless为false情况下,浏览器没有启动起来,然后cpu也并没有正常测试时那么高的占用率。)正常起来压力测试的浏览器界面:

优点:多平台,多浏览器支持,测试结果一目了然,有简易测试报告;
缺点:需要进行视频的编解码,非常占用资源,一般机器十几路视频就卡死;

2、poin

  poin其实只是go语言实现的一套webrtc API不能算测试框架,但是其example里面有一个针对janus服务的实现,稍微修改一下就可以拿来做压力测试,而且要介绍的第三个压测工具是基于该框架实现的,这里面一些ICE配置可以参考。 使用wwebsock作为信令通信工具。没使用过所以只是稍微提一下它的潜力。

3、srs-bench

  srs流媒体服务器写的压测工具,基于poin框架,需要切换到其rtc分支。和kite一样都是读取同一个本地文件推流。
重要特征:

  • 支持linux、windows及mac;
  • 只推流或拉流,不消耗cpu及内存资源;

  按照github主页编译出来后即可使用,信令通信方式为http,若要修改为https只需要简单修改源码在编译即可,未实现turn服务器通信这一步但是可以参考pion很快写出这部分逻辑(不到10行代码)。命令行操作简单明了。
  推流后打开浏览器进入房间可看到推的流,需要注意房间人数上限和你推流数量,超过最大限制的话web端进入不了房间。

4、参考
《1》、谷歌驱动版本下载
《2》、KITE github地址
《3》、KITE测试用例地址
《4》、python的selenium的带https安全隐私问题解决方案
《5》、pion框架
《6》、pion_example
《7》、srs-bench

webrtc sfu性能压测 这里介绍一下如何测试webrtc sfu服务器的性能,介绍原理和实际操作。最后以srs和mediasoup两个流行的webrtc sfu开源进行举例,如何压测其性能。 阅读详情

相关推荐

流媒体转发能力压测

流媒体转发能力压测一、前言二、SRS服务器1.简介2.运行环境3.Srs官网地址4.SRS集群架构图5.SRS服务器配置三、(Linux)压测工具st_load1.简介2.下载源码包安装3.下载依赖库4.执行和编译5.生成可执行文件6.执行方法7.查看推拉流情况四、(Windows)使用jmeter拉流1.概述2.Hls协议3.Jmeter拉取hls流五、参考资料 一、前言 目前的互联网都逐步趋于视频化,视频直播越来越新潮,开源的视频服务器也是日益增加,这也意味着在视频行业里,我们对流媒体转发能力的要求会越

wxf_csdn的博客 2298

Pion流媒体服务测试

项目原因,测试了Pion流媒体服务器,将测试过程记录一下,方便日后查阅。 Pion:A pure Go implementation of the WebRTC API.

eennddyy的博客 5003

使用Swoole协程实现 WebRTC 信令服务器

4. 信令服务端收到一端offer后会转发给另一端,触发客户端的相应逻辑,同样会创建连接,并注册网络协商成功后给信令服务器发送信息的事件,同时会创建应答,成功后也会设置本地描述,并向服务端发送绑定信息。如果是内网,或者大部分NAT网络环境下,是可以建立端到端连接。2. 信令服务端器在收到subscribe和publish请求后,会在内存中维护一个连接映射关系,核心逻辑是如果有其他连接进来,会进行广播通知,这里并没有实现一些细节逻辑,比如房间内连接数量限制,房间满了通知,退出连接通知等。

迪之的博客 1551

探索WebRTC测试工具:TestRTC

探索WebRTC测试工具:TestRTC 项目地址:https://gitcode.com/gh_mirrors/te/testrtc 项目简介 是一个开源项目,旨在为Web Real-Time Communication(WebRTC)提供强大的自动化测试框架。这个项目由Google贡献并维护,其目标是帮助开发者和测试工程师确保他们的WebRTC应用在各种网络条件、设备和浏览器上的稳定性和性能。...

gitblog_00001的博客 1545

WebRTC | 信令服务器

WebRTC信令服务器传输协议采用了可靠的TCP,但是音视频数据传输上,使用了UDP作为传输层协议(传输快、低延时)。

该用户还没想到好的昵称的博客 4611

如何在 Flutter 中使用 WebRTC

📱 Flutter 中使用 WebRTC 实现实时音视频通话随着实时通信技术的快速发展,WebRTC 已逐渐成为实现视频通话和直播的一种主流技术。在 Flutter 中,你同样可以轻松调用 WebRTC 来实现跨平台的音视频实时通信。### 📥 一、添加依赖首先打开 `pubspec.yaml` 文件,添加 flutter_webrtc 插件:```yaml```执行以下命令安装:```shell```⚙️ 二、配置平台权限```xml``````xml。

zhangyihu321的专栏 3003

SRS srs-bench

srs服务没有开多进程或者多线程来处理高并发 内部通过协程来实现高并发 ,100多播放一路 1280*720 i5cpu 16G内存 cpu已占用 50% 内存剩余2G。设置完之后,我以为直接生效了,又去go get了一下,发现还是报一样的错,有点失望,原来需要依赖于 go module 功能,即go的环境变量。音视频压测工具,包括RTMP/FLV/WebRTC/GB28181等,未来还会完善。编译依赖golang环境 ubuntu16.04安装高版本 golang。直播播放压测,一个流,很多个播放。

TyearLin的专栏 1035

手把手教你使用WebRTC

其实我们WebSocket做的事情在WebRTC中被叫做信令服务器,信令就是双方发送的所有信息,你可以通过任何形式传输这些信息,WebSocket也好Http请求也可以,因为信令服务器不需要理解这些中间信息,也不需要做额外的处理,唯一要做的就是把信息带到另外一方。二、交换ICEWebRTC使用了ICE(交互式连接设施)的框架协议,在建立连接之前两个客户端需要互相交换,简单的说就是交换网络信息,告知两个客户端互相的地址。这里双方做的事就是存下自己的信息,然后发送和接收对方的Offer或Answer。...

yinshipin007的博客 5662

【亲测免费】 探索高效媒体服务器:SRS-Bench 开源压测工具

探索高效媒体服务器:SRS-Bench 开源压测工具 SRS-Bench 是一款专为 SRS 和其他媒体服务器设计的全面压测与回归测试工具集,它涵盖 HTTP-FLV, RTMP, HLS, WebRTC 和 GB28181 等多种协议。这款工具不仅适用于性能评估,还可进行深度的稳定性检测,确保您的媒体服务在高并发下依然稳定可靠。 项目介绍 SRS-Bench 提供了一个简洁的命令行接口,允许开发...

gitblog_00033的博客 898

Jattack: janus-gateway压测工具

本文介绍了Jattack,它是一种用于分析支持WebRTC的服务器端组件性能的自动化压力工具。Jattack最初是以对众所周知的Janus WebRTC网关进行彻底的可扩展性分析为主要目标的。因此,它重新使用了大多数Janus核心堆栈组件,以便可靠地模拟可动态调整数量的WebRTC客户端的行为。通过编写一个小的“控制器”组件,确实可以以编程方式再现特定的测试场景,该组件负责恰当地编排场景本身。该工具的通用性,加上基于控制器的可编程方法带来的灵活性,

北雨南萍 1282

WebRTC负载测试工具Zakuro-C/C++开发

WebRTC负载测试工具Zakuro关于支持我们仅以JAPANESE形式检查PR或问题。使用其他语言,我们将无法对其进行处理。感谢您的理解关于Shiguredo的开源软件请在使用前阅读https://github.com/shiguredo/oss。 关于WebRTC负载测试工具Zakuro WebRTC负载测试工具Zakuro是使用libwebrtc的WebRTC SFU Sora的WebRTC负载测试工具。 实验功能当前,所有功能都是实验功能。 未来将发生侵略性和破坏性的变化。 关于二进制供应您可以从以下下载。 https://github.com/shigure

突破WebRTC性能瓶颈:LiveKit服务器硬件配置实测报告

你是否曾因视频会议卡顿、延迟过高而错失重要商机?当并发用户从10人飙升至100人,你的实时音视频系统还能保持流畅吗?本文通过实测3类硬件配置下的LiveKit媒体服务器表现,为你提供从入门到企业级部署的性能参考,助你精准规划服务器资源。 ## 测试环境与指标体系 ### 基准测试框架 LiveKit性能测试基于内置的Prometheus指标体系构建,核心监控模块位于[pkg/telemetr...

gitblog_00778的博客 593

webrtc服务器压测报告

开源webrtc服务器压测报告,包括kurento、Janus、Jitsi、licode、MediaSoup等

WebRTC 入门了解,基本使用记录

它允许在网页浏览器上进行实时的音视频通信。WebRTC 特别适用于需要低延迟和高互动性的应用场景,比如视频会议、在线游戏、远程控制等。以上只是提供webRTC 一个简单的用例,具体的也可以参考一文带你了解webrtc基本原理(动手实现1v1视频通话)_webrtc的原理-优快云博客此博主的具体实现,实现视频 1v1 的简单功能。此文只简单介绍了一下webRTC,以及简单的框架搭建,如果扩展的话,需要查询更多的资料,祝大家生活愉快~

Autosq的博客 3356

NVIDIA驱动版本太低?手把手教你解决CUDA与PyTorch版本冲突问题

本文针对深度学习开发中常见的NVIDIA驱动版本过低导致的CUDA与PyTorch版本冲突问题,提供了从根源理解到实战解决的完整指南。文章详细解析了驱动、CUDA与PyTorch的依赖关系,并给出了升级驱动、降级PyTorch、使用Conda环境管理及Docker容器化四种核心解决方案,帮助开发者快速诊断并构建稳定的GPU开发工作流。

grpc6streamer的博客 968

海洋科学—物理海洋学 第五章 海洋环流

本章是基于《海洋科学导论》,但里面涉及到的重要的公式推导是专门拎出来推的,主要借鉴董昌明老师的《物理海洋学导论》,其中有一些多出来的推导,会在更新完整个物理海洋学之后重新拿出来一一讲解,最后开一个番外篇

qq_58518586的博客 1万+

[SRS+docker]实现直播服务器 4 基于srs-bench搭建webRTC协议拉流的压测环境

1 前言 上一篇,已经完成了对基于webRTC协议的srs低延迟直播的研究。 上一篇:传送门 这一篇来分享下,如何对srs直播服务器进行压力测试。因为压力负载的情况,决定了,实际部署的时候需要购买的服务器的数量,这个直接决定了成本的高与低。 经过查找材料,srs-bench是一个比较成熟的,也是比较常用的直播压力测试工具。因此这一篇就来分享如何基于srs-bench来对srs直播服务器进行压测。 2 条件 2.1 服务器 压测服务器,单独起一台,不要跟直播服务器放同一台。所以我们单独再搭建一个

wltsysterm的博客 3450

MFC使用Websocket通讯介绍和实例(附完整源码)

踩坑点,下载了好几个boost版本编译,经常出问题,后来搜索了好久资料才发现如下评论:WebSocket++0.8.2 has been tested through Boost 1.72。WebSocketpp依赖于boost,因此在使用WebSocketpp前需要编译Boost;所以我们直接下载Boost 1.72的windows版的进行安装,安装完成还需要编译;WebSocketpp也叫WebSocket++;服务编译好之后,使用。

weixin_42530684的博客 1171

WebRTC Internals 工具使用指南(WebRTC 开发必备调试工具)

WebRTC Internals 是一个强大的调试工具,能够为开发者提供深入的 WebRTC 会话日志,帮助分析网络连接、媒体流和 SDP 协商等问题。工具为开发者提供了详细的日志信息,用于分析 WebRTC 会话中的各类事件,如媒体流的建立、网络连接的状态、ICE(Interactive Connectivity Establishment)候选的选择等。WebRTC Internals 工具对于 WebRTC 应用的调试和优化非常重要,它能帮助开发者定位性能瓶颈、网络问题以及连接失败的原因。

江左散人的专栏 2321

关于RTP时间戳以及播放器对时间戳的处理

首先,了解时间戳几个基本概念: 时间戳单位:时间戳计算的单位不是秒之类的单位,而是由采样频率所代替的单位,这样做的目的就是为了是时间戳单位更为精准。比如说一个音频的采样频率为8000Hz,那么我们可以把时间戳单位设为1 / 8000。 时间戳增量:相邻两帧之间的时间差(以时间戳单位为基准)。 采样频率: 有些地方也叫时钟频率,即 每秒钟抽取样本的次数,例如音频的采...

toshiba689的专栏 3052

DEM数据下载,拼接,裁剪

目录: 1、数字高程模型(DEM)的数据下载 2、在ENVI里面进行拼接,生成SARscape标准格式的DEM数据3、在ArcGIS里面安装已有的矢量范文,进行掩膜裁剪 4、注意事项 数字高程模型的数据下载: 网址:http://dwtkns.com/srtm30m/ 1.对研究区域进行经纬度选择,然后进行选择下载即可 2.下载的数据是.hgt格式的,按照不同的需求进行转换,这里我是用于ENVI处理,且下载了四个,所有进行了拼接,拼接、格式转换如下 注:可能有时候需要登陆注册,点击下...

weixin_40874151的博客 2万+

Chrome WebRTC 调试工具使用指南

Chrome WebRTC调试工具(chrome://webrtc-internals/)是开发者分析WebRTC连接问题的强大工具。它提供完整的连接状态监控,包括ICE候选者、SDP协商、音视频统计等关键信息。工具包含四大功能区域:数据导出、RTCPeerConnection实例信息、详细事件日志和统计图表。开发者可以通过它分析网络质量指标(丢包率、抖动)、带宽使用、音视频编码状态等,快速定位连接失败、音视频卡顿等问题。该工具支持JSON数据导出和实时图表,是WebRTC应用调试的必备工具。

REDcker的博客 2772

FPGA SPI驱动ADC避坑指南:以ADC128S022为例,详解时序设计与代码调试

本文以ADC128S022为例,详细解析FPGA通过SPI驱动ADC的时序设计与代码调试中的常见问题。从时钟分频计算、SPI模式选择到状态机实现,提供避坑指南和实战技巧,帮助工程师解决数据采集系统中的时序匹配难题。特别针对FPGA与ADC通信中的微妙差异,给出精确的Verilog代码示例和ModelSim仿真验证方法。

weixin_42522374的博客 458

java写一个webrtc信令服务器,coturn

java写一个webrtc信令服务器,coturn

weixin_45029766的博客 8652

OrCAD Capture CIS 17.4 原理图绘制

OrCAD Capture CIS 17.4 原理图绘制

qq_38960013的博客 7633

手把手教你配置SAP PP供应区域(Supply Area):实现线边仓精准发料与物料流优化

本文详细解析了SAP PP供应区域(Supply Area)的配置方法,帮助企业实现线边仓精准发料与物料流优化。通过三级优先级逻辑和四步配置法,系统可自动识别最优组件来源位置,显著提升生产订单处理效率和库存准确率。文章还提供了典型问题解决方案和性能优化技巧,适用于离散制造和重复制造场景。

weixin_29275257的博客 431
上一篇: webrtc ice(rfc5245)记录
下一篇: Kaldi IO机制的一些概念及代码流程解析
FPGATOM
博客等级 码龄12年 1806粉丝 62原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值