JMeter流媒体在线播放HLS插件BlazeMeter - HLS Plugin实现视频在线播放压测
一、前提
近日因工作需要,需对视频在线播放功能进行压测,视频播放使用的是HLS协议,传输内容包括两部分,一是用来控制播放的m3u8文件,二是TS媒体文件。(HLS协议和m3u8详解可参考此链接:https://blog.csdn.net/aoshilang2249/article/details/82012187)
二、不使用HLS插件进行JMeter视频播放
通过了解HLS协议和m3u8文件,可发现使用JMeter进行压测时,我们必须:
- 拿到m3u8路径
- 发送m3u8文件请求
- 解析m3u8请求返回的数据(这一步在浏览器中是浏览器自动解析的,单看接口是看不出解析方法的,需要了解HLS协议)
- 发送解析m3u8得到的全部ts视频文件
在不使用HLS插件BlazeMeter - HLS Plugin的情况下,实现脚本需要用到多个http请求器、ForEach控制器、循环控制器,_split函数、_matchNr函数、__V函数、__counter函数等才能实现一个视频播放,如下图所示:
三、使用HLS插件实现JMeter视频播放
而在使用HLS插件BlazeMeter - HLS Plugin的情况下,实现脚本则很简单,发送m3u8请求和ts文件只需要用到一个取样器,且不用自己用很多控制器和函数等去解析m3u8返回的内容,HLS取样器会自动解析m3u8请求并自动发送ts文件请求,类似浏览器,无需再进行手动关联解析。所以使用HLS Plugin实现脚本只需要两步:
- 拿到m3u8路径
- 使用HLS取样器自动发送m3u8和ts文件请求,完成视频播放
脚本如下图,结果和上面自己写关联是一致的:
四、HLS插件BlazeMeter - HLS Plugin的介绍和使用
1、插件管理器搜索BlazeMeter - HLS Plugin进行下载,完成安装后重启jMeter
2、添加取样器bzm - Streaming Sampler
3、填写bzm - Streaming Sampler取样器内容
4、添加监听器或断言等,执行查看结果
以上就是HLS插件BlazeMeter - HLS Plugin插件的介绍,通过使用该插件,可简单地实现流媒体播放,不需要再像使用http取样器时添加较多的关联和控制器实现脚本。