为方便流媒体服务端的压力测试,向大家推荐一套流媒体的压力测试工具(Srs-bench),希望对从事流媒体测试或者对流媒体感兴趣的同学有所帮助~

Srs-bench

1.支持RTMP推流测试,一个进程支持500个并发。执行程序:./objs/sb_rtmp_publish

2.支持RTMP拉流测试,一个进程支持5k并发。执行程序:./objs/sb_rtmp_load

3.支持HTTP负载测试,所有并发重复下载一个HTTP文件。执行程序:./objs/sb_http_load

4.支持HLS解析和测试,下载ts片后等待一个切片长度,模拟客户端。支持HLS点播和直播。执行程序:./objs/sb_hls_load

安装篇

1.在linux环境下载St-load源码包

[root@test /]# git clone https://github.com/winlinvip/srs-bench.git

2.对源码进行编译

git clone https://github.com/simple-rtmp-server/srs-bench.git &&
cd srs-bench && ./configure && make &&
./objs/sb_rtmp_load -c 1 -r rtmp://127.0.0.1:1935/live/livestream

编译完成后在objs目录下生成可执行文件

推流篇

1.推流前准备工作,编辑nginx.conf的RTMP层

2.模拟单路RTMP推流

./sb_rtmp_publish -i /usr/local/ffmpeg/cnlzd.flv -c 1 -r rtmp://127.0.0.1/live/livestream

3.模拟多路RTMP推流

./sb_rtmp_publish -i /usr/local/ffmpeg/cnlzd.flv -c 10 -r rtmp://127.0.0.1/live/livestream_{i}

常用参数说明:

-i 设定输入流

-c 负载个数,默认:1

-r 后面接每个测试的url地址,等同于 --url URL

-s 线程启动时间 defaut:5.00 0表示没有延迟

注意:sb_rtmp_publish只可以推送.flv格式的视频

拉流篇

1.RTMP

RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。

拉流:

./sb_rtmp_load -c 1 -r rtmp://127.0.0.1:1935/live/livestream

2.HTTP

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。在最新一代的超文本标识语言HTML5中,视频文件的点播,同样也采用了HTTP作为其承载协议。

拉流:

./sb_http_load -c 1 -r http://127.0.0.1:8081/live/livestream

3.HLS

HLS (HTTP Live Streaming),Apple的动态码率自适应技术。主要用于PC和Apple终端的音视频服务。包括一个m3u(8)的索引文件和TS媒体分片文件。

分段策略:

HLS的分段策略,基本上推荐是10秒一个分片,当然,具体时间还要根据切片的实际时长做标注。通常来说,为了缓存等方面的原因,在索引文件中会保留最新的三个分片地址,以类似“滑动窗口”的形式,进行更新。

m3u8文件:

m3u8是HTTP Live Streaming直播的索引文件。m3u8基本上可以认为就是.m3u格式文件,区别在于,m3u8文件使用UTF-8字符编码。

#EXTM3U m3u文件头,必须放在第一行

#EXT-X-MEDIA-SEQUENCE:7 第一个TS分片的序列号

#EXT-X-TARGETDURATION:15 每个分片TS最大时长

#EXTINF:15.099 extra info分片TS的信息

HLS拉流:

./sb_hls_load -c 1 -r http://127.0.0.1:8081/hls/livestream/index.m3u8

流媒体压力测试工具—推拉流相关推荐

  1. windows 下用开源流媒体压力测试工具 rtmpstress 测试RTMP媒体服务器负载性能

    最近笔者的朋友需要部署流媒体服务作运营,从国外购买了几套流媒体服务器软件,该流媒体服务器软件是基于java开发的,他向笔者咨询,如何检测该流媒体服务器软件是否能支持1000以上并发,笔者建议找一个RT ...

  2. 从0-1开始 测试ZLMediaKit推拉流性能、延时性能

    流媒体开发系列文章 文章目录 流媒体开发系列文章 前言 一.环境准备? 二.拉流测试过程 三.推流测试过程 四.延时测试 五.延时澄清 流.延时本质 总结 前言 目前.比较有名的流媒体服务器有ZLMe ...

  3. 音视频学习之rtsp推拉流学习2(流媒体服务器ZLMediaKit)

    公司项目需要实现一个只是rtsp推流和rtsp拉流的业务机制,据说ZLMediaKit能满足rtsp推拉流的相关业务. 对ZLMediaKit流媒体服务器进行安装以及了解. 0:从开源库Readme中 ...

  4. 开源流媒体解决方案,流媒体服务器,推拉流,直播平台,SRS,WebRTC,移动端流媒体,网络会议,优秀博客资源等分享

    开源流媒体解决方案,流媒体服务器,推拉流,直播平台,SRS,WebRTC,移动端流媒体,网络会议,优秀博客资源等分享 一.优秀的流媒体博客资源 1.1 EasyNVR:专注于安防视频互联网化的技术 1 ...

  5. SRS流媒体服务器——WebRTC推拉流演示

    SRS流媒体服务器--WebRTC推拉流 目录 WebRTC推拉流配置 WebRTC拉流演示 WebRTC推流演示 SRS官方WebRTC文档:https://github.com/ossrs/srs ...

  6. 视频直播技术干货:一文读懂主流视频直播系统的推拉流架构、传输协议等

    1.引言 随着移动网络网速的提升与资费的降低,视频直播作为一个新的娱乐方式已经被越来越多的用户逐渐接受.特别是最近这几年,视频直播已经不仅仅被运用在传统的秀场.游戏类板块,更是作为电商的一种新模式得到 ...

  7. 视频直播技术分享:一文读懂主流视频直播系统的推拉流架构、传输协议等

    本文由蘑菇街前端开发工程师"三体"分享,原题"蘑菇街云端直播探索--启航篇",有修订. 1.引言 随着移动网络网速的提升与资费的降低,视频直播作为一个新的娱乐方 ...

  8. 容器单机编排工具 Docker Compose,swap 限制,配置默认的CFS调度程序,Stress-ng 压力测试工具,docker官网镜像上传,及阿里云镜像上传,Docker 的资源限制

    目录 Docker Compose介绍   有版本问题 一键生成 docker-compose.yml docker官网镜像上传,及阿里云镜像上传 Docker 之分布式仓库 Harbor Docke ...

  9. java 阿里云直播配置及推拉流地址获取

    一.开通阿里云直播 首先进入阿里云直播产品主页:https://www.aliyun.com/product/live . 点击下方的"立即开通". 如果是还未注册的用户请按照页面 ...

  10. ab压力测试工具linux,【Linux】ApacheBench(ab)压力测试工具

    AB的简介 ab是apachebench命令的缩写. ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试.比 ...

最新文章

  1. linux elf 文件加密
  2. C语言字符串字母移位
  3. 基于DirectUI技术开发的发卡系统
  4. 计算机应用技术的创新
  5. 【Pytorch神经网络理论篇】 09 神经网络模块中的损失函数
  6. 思维碰撞!谷歌提出ViTGAN,用视觉Transformer训练GAN
  7. PHP设计模式——装饰器模式
  8. 钉钉现身数博会:增长200% 年内要覆盖450万家企业组织
  9. Excel常用功能总结
  10. 计算机软件lumion的使用例子,Lumion怎么用?BIM软件教学:带你掌握Lumion实战应用...
  11. Thymeleaf模板引擎使用详解
  12. 计算机相关扩展活动战队名字,有诗意的战队名字大全
  13. 通信算法之九:4FSK调制解调仿真链路
  14. python牛顿环测量曲率半径
  15. macOS 如何游玩Renpy游戏
  16. 2020年数学建模国赛C题
  17. Windows 10 自带App无法使用,打开闪退
  18. MATLAB参数估计
  19. 企业是否需要引入OA系统要考虑的几个问题
  20. php riak,PHP操作Riak

热门文章

  1. JAVA编译器eclipse的安装教程
  2. 《通用规范汉字表》背景知识词条
  3. 虽然不舍但是事实 —— 纪念下 JavaEye
  4. 手机型号JSON数据
  5. CheckBox多选按钮实现CompoundButton.OnCheckedChangeListener
  6. ShellExecuteEx and SHELLEXECUTEINFO and ShellExecute
  7. 数据结构试卷及答案(五)
  8. nexus3私库环境搭建(maven,yum,apt,nodejs)
  9. 突击Mercurial SCM(HG)3---撤销操作
  10. Jad批量反编译class