We are proud to announce the release of the major version 10.0.0 of our performance testing tool for Video Streaming servers (HLS, MPEG-DASH, HSS, HDS).
We will see in this blog the release notes of this version
New features and enhancements
Support SSAI ads insertion
The plugin comes with a new Major feature, as it now supports Server Side Ad Insertion (SSAI)
SSAI definition :
The addition of the ad is managed by STCE-35 markers which are sent as chunks upstream. The origin will process the SCTE-35 markers to communicate with the pub server using SCTE-30. It is the origin which replaces the content in the manifest according to the response from the ad server.
Impacts on stream
The plugin is now able to handle automatically HLS and DASH streams containing ads. It adapts its refresh rate, the requests to ad chunks, lag and other metrics computations and manifest parsing.
Impacts on GUI
A new checkbox is available on the GUI to indicate whether the stream contains ads, here are the impacts if the checkbox is ticked :
– HLS : adjust target duration if necessary
– DASH : stream is multi period and will perform the actions required for this type of manifest (find the right period based on the current date, for example)
Dash : Support of Multi-Period
When ads are added to a dash stream, a new period is added, the plugin now manages multiple periods. You can find an example of multi period stream here.
You can find an article about multi period from our team here.
Metrics improvements
We have added a new metric corresponding to the number of chunks skipped when the user has ticked ‘Play close to the live edge’.
Virtual threads support
The plugin now uses the virtual threads if you use JAVA 21 or higher version.
What is a virtual thread ?
The official documentation shows that a virtual thread is an instance of the java.lang.Thread type, but it does not necessarily correspond to a native operating system thread.
On the other hand, a virtual thread is always executed on an operating system thread, but once the virtual thread is blocked, it is put on hold, and the operating system’s native thread is freed up to be used by another virtual thread. Virtual threads are managed by the JVM (Java Virtual Machine).
Why use virtual threads ?
Virtual threads are used to have more threads handling tasks in applications with a large number of concurrent users. The official documentation notes that virtual threads are more appropriate for blocking operations, such as I/O operations.
In the case of the plugin, there are threads responsible for downloading chunks (I/O operations) and simulating video playback. It is therefore appropriate to use them.
Added properties
If you are not using a custom properties file, these properties will be added automatically, otherwise you must add them in your properties file.
1) The following properties have been added for new metric ulp_chunks_skipped :
jmeter.reportgenerator.graph.custom_ulp_chunks_skipped.property.set_granularity=${jmeter.reportgenerator.overall_granularity}
jmeter.reportgenerator.graph.custom_ulp_chunks_skipped.classname=com.ubikingenierie.jmeter.plugin.videostreaming.graphing. ULPCustomGraphConsumer
jmeter.reportgenerator.graph.custom_ulp_chunks_skipped.property.setSampleVariableName=ulp_chunks_skipped
jmeter.reportgenerator.graph.custom_ulp_chunks_skipped.title=Number of chunks skipped in case of play close to Live Edge
jmeter.reportgenerator.graph.custom_ulp_chunks_skipped.property.set_Y_Axis=Number of chunks skipped
jmeter.reportgenerator.graph.custom_ulp_chunks_skipped.property.set_X_Axis=Elapsed Time (granularity\: ${ULP.overall_granularity_sec}s)
jmeter.reportgenerator.graph.custom_ulp_chunks_skipped.property.setContentMessage=Chunks skipped
2) sample_variables change :
Before :
sample_variables=ulp_buffer_fill,ulp_lag_time,ulp_play_time,ulp_lag_ratio,ulp_lag_ratio_wo_bf,ulp_dwn_time,ulp_speed_rate,ulp_actual_live_offset,ulp_cdns_hit,ulp_cdns_miss
After :
sample_variables=ulp_buffer_fill,ulp_lag_time,ulp_play_time,ulp_lag_ratio,ulp_lag_ratio_wo_bf,ulp_dwn_time,ulp_speed_rate,ulp_actual_live_offset,ulp_cdns_hit,ulp_cdns_miss,ulp_chunks_skipped
3) New property to enable/disable virtual threads :
ulp_streaming.enable_virtual_threads=true
About UbikLoadPack :
- Ubik Load Pack is used by Big players in the Video streaming field
- We provide professional services for Load Testing
- Learn more about our streaming plugin
- Detailed features of UbikLoadPack Streaming Solution
- Get a Free trial
You’ll probably also like:
Recent Posts
- How to setup ads insertion on video streaming with AWS Services 26 November 2024
- UbikLoadPack Video Streaming Plugin 10.0.0 26 November 2024
- UbikLoadPack Video Streaming Plugin 9.1.6 26 November 2024