JMeter Video Streaming with UBIK Load Pack Video Steaming Plugin 6.2.5
Our friends at UBIK-Ingénierie have recently updated their video streaming plugin. Prior to the launch of the original plugin, there wasn’t really an easy or efficient means to test JMeter video streaming. So the UBIK team created the UBIK Load Pack Video Steaming Plugin as a means to do so. We have also integrated this plugin into core RedLine13 testing services, so you can now cloud load test JMeter video streaming for (almost) free.
New Features in 6.2.5
New features / Enhancements:
– Ability to force streaming type if URLs do not respect a particular format
– MPEG-DASH : Manage initialization url
– Better error messages in responseMessage field
– CPU Optimization
– Improvements in memory management
– Optimization of heap using for VOD
MPEG-DASH
Dynamic Adaptive Streaming over HTTP, otherwise known as MPEG-DASH, is a vendor free format that allows for the the streaming of high-quality media over the internet, in the form of traditional HTTP web services.
Key Features:
- Works by dividing streamed content into a series of small, HTTP-based file segments
- The first adaptive bitrate, HTTP-based streaming solution
- Capable of delivering content at a variety of different bitrates
- Checks a user’s network condition, and then downloads the next file segment in the appropriate bitrate relative to network conditions
- Offers HD playback with fewer load times/less lag
- Uses existing HTTP web server infrastructure
- Compatible will all codecs
- Only format to be an international standard (ISO/IEC 23009-1:2012)
Load Testing Video Streams
First we will look at using the UBIK Load Pack Video Steaming Plugin locally (refer to UBIK-Ingenierie’s installation guide). In order to test MPEG-DASH files in Apache JMeter, once installed, add the “ULP Video Streaming Plugin” as a sampler to your test plan. From there, all we then need is to input the URL of a manifest file, the plugin will automatically detect the format from there. While HTTP Live Streaming playlists use .m3u8 extension, an MPEG-DASH manifest ends with .mpd. The plugin even allows you to choose which part of a video you want to play, and you can manually select the network conditions (LTE, HSPA+, LAN, WIFI 802.11a/g, etc.)
UBIK Load Pack Video Streaming Plugin on RedLine13
Once you’ve completed your testing locally and are ready to scale, you can use the UBIK Load Pack Video Streaming Plugin on RedLine13. Log into your RedLine13 account, click “Start Test”, and then navigate to the “JMeter” tab. Once there, expand the “Advanced JMeter Test Options” tab at the bottom of the page. Additionally, if you’re a premium RedLine13 user you can click “Save the response output from individual tests. Capture Images, Generate JMeter Reports, calculate percentiles” so that you can download the JMeter HTML report once the test has completed.
From here was can apply the ULP Video Stream Plugin to our load tests. Simply check the box next to “UBIKLoadPack Stream” and upload your plugin’s license. Hit “Start Test”, and you’re all set!
Once your test has completed, you can view your results. In addition:
- While the test is running, RedLine13 provides live graphs so you don’t need to wait for completion,
- You can see errors live, which is quite useful,
- At end of the report, RedLine13 allows JMeter report generation which is also very useful,
- RedLine13 provides a merged CSV across all AWS instances,
- As a consequence, RedLine13 allows easy load testing from multiple worldwide locations,
- At end of the test, the CSV also contains UBIK Load Pack video related metrics
Other Useful Docs:
Load Testing MPEG-DASH Video Streaming with JMeter and UbikLoadPack
JMeter Video Streaming Tutorial with RedLine13