jmeter流媒體在線播放HLS插件BlazeMeter – HLS Plugin實現視頻在線播放壓測

一、前提
近日因工作需要,需對視頻在線播放功能進行壓測,視頻播放使用的是HLS協議,傳輸內容包括兩部分,一是用來控制播放的m3u8文件,二是TS媒體文件。(HLS協議和m3u8詳解可參考此鏈接://blog.csdn.net/aoshilang2249/article/details/82012187
 
二、不使用HLS插件進行JMeter視頻播放
通過了解HLS協議和m3u8文件,可發現使用JMeter進行壓測時,我們必須:
  1. 拿到m3u8路徑
  2. 發送m3u8文件請求
  3. 解析m3u8請求返回的數據(這一步在瀏覽器中是瀏覽器自動解析的,單看接口是看不出解析方法的,需要了解HLS協議)
  4. 發送解析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實現腳本只需要兩步:

  1. 拿到m3u8路徑
  2. 使用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取樣器時添加較多的關聯和控制器實現腳本。