UbikLoadPack Streaming Solution features
In this blog, we will give you a clear view of what are the features of UbikLoadPack streaming solution.
- an OTT service provider
- a streaming infrastructure hoster
- a software company delivering video streaming solutions
- a media company delivering live event
- a CDN provider
- an Origin provider
You want to answer questions like:
- How much simultaneous players can my infrastructure handle without problem ? (remember of the famous lag issues faced in Australia during last world football cup)
- Are my customers facing lag ?
- Is my live streaming delivered with an acceptable delay to my users ?
- Should I upgrade my infrastructure for next live streaming event ?
UbikLoadPack video streaming plugin is the solution you’re looking for. We have been on the market since 2015 and are today a leader in performance testing Video Streaming servers delivering HLS, LL-HLS, DASH, LOW-LATENCY DASH, SMOOTH or HDS streams.
Let’s discover the features of UbikLoadPack Streaming Solution
Playing simulation Features:
In the table below we present the features of the plugin related to realistic player simulation:
|HLS, DASH, SMOOTH||LIVE / EVENT|
|HLS, DASH, SMOOTH, HDS||VOD|
|DASH||In Low-Latency Service Offering, player simulator will adjust speed to avoid pause and latency using Service Description min and max Playback Rate|
|HLS||LL-HLS (Low Latency HLS)||
|HLS, DASH, SMOOTH, HDS||VOD/LIVE: Partial playing||Play a part expressed in seconds of the Video (Live, VOD)
|HLS, DASH, SMOOTH||VOD: Resume playing from a point in time||Ability to continue reading a video where it was interrupted by an error.
This simulates realistically how a user would interact with VOD.
|HLS, DASH, SMOOTH||VOD: Start from an offset||Ability to start reading a VOD stream at a particular second.
This simulates users who want to view a particular moment in a video.
|HLS, DASH, SMOOTH||Live: Play close to live edge
This allows to simulate players which:
|HLS, DASH, SMOOTH||Audio track selection||This simulates a user selecting a particular audio language for a stream instead of the default one
|HLS, DASH, SMOOTH||Subtitles track selection||This simulates a user selecting a particular language for subtitles|
|HLS||Alternate Video selection/playing||The player will download/play only the override media (audio or video).
Adding alternate media to a primary playlist allows a provider to specify one of a set of variant playlists as an override of the main presentation.
|HLS, DASH||Playlist filtering by Codec||This allows to simulate users with players supporting different set of codecs. Just fill the codec name, and matching playlist will be used|
|HLS, DASH||Byte-range support||The player simulator will emit byte-range requests for such streams|
|HLS, DASH, SMOOTH||Init segment support||The player simulator will handle Out Of The Box requests for Init segments|
|DASH||UTCTiming support||The player simulator will handle Out Of The Box
and emit related HTTP requests if needed to compute the reference time for manifest which can be one of:
|HLS||Session Data Download||This feature allows downloading the JSON file containing session data if not inlined in manifest|
Ability to parameterize values:
When doing testing or performance testing, it is critical to have a wide range of data to avoid cache effect and too optimistic results.
To make tests portable across environments, it is also important to be able to variabilize any environment specific value.
Hopefully, the plugin is integrated with JMeter and follows same approach to parameterize any value.
In order to parameterize, you can use:
Every Virtual User has its own set of values that can be loaded from a CSV (using CSV DataSet), there are suitable for things like:
- Manifest URL specific to a set of users
- Bandwidth specific to a set of users
- Custom headers
A variable used in test plan looks like this:
Parameterizing is also possible through properties. Properties are shared across all threads (aka Virtual Users). They are kind of global variables suitable for things like:
- Path to files
- Host names
- Number of Threads
- Test duration
- Rampup of test
A property used in test plan looks like this:
It can be passed from command line through:
In this paragraph, you ‘ll see that UbikLoadPack streaming solution plugin allows you to customize network configuration for test.
Based on network bandwidth the plugin will automatically select the corresponding playlist allowing you to simulate different levels of customer bandwidth and having metrics on their user experience.
This feature of UbikLoadPack solution allows you to use multiple network interfaces of the machine performing the test.
This is useful when you have a powerful machine that is able to simulate thousand of Virtual Users and you want to check that an IP Based load balancer in your architecture is correctly doing its job.
It is also useful when each network interface is limited in terms of bandwidth, you can then use it to perform tests reaching up to “Number of Network Interface * Bandwidth limit of Network Interface”
UbikLoadPack allows you to adjust several network options of your test:
- Connect timeout of each HTTP request, if the HTTP connected takes more than the configured timeout to be established, the request will be marked as Failing in timeout
- Read timeout of each HTTP request, if the HTTP response takes more than the configured timeout to arrive, the request will be marked as Failing in timeout
HTTP requests related metrics:
The plugin will also provide following metrics for each HTTP request:
- Response time
- Response Status
- Response message
- Error rate
- Sent/received bytes
Each request will be suffixed by its type:
- Audio/Video Chunk
- Audio/Video Manifest
- Audio/Video Init Segment
Video Streaming UX related metrics
Besides it will provide Video related metrics giving precious information on User Experience:
- Lag time
- Buffer fill
- Lag ratio with buffer fill
- Lag ratio without buffer fill
- Speed Rate for Dash (as specified by Low Latency Dash)
- Offset to Live Edge (number of segments behind live giving information on potential delay to live edge)
Integration with JMeter:
Moreover, the plugin integrates smoothly with Apache JMeter. Apache JMeter is the famous and leading solution for performance tests. So this allows you to use all features of JMeter. For example by adding authentication before accessing video.
Among most useful features:
- Header addition with HTTP Header Manager
- Cookie addition with HTTP Cookie Manager
- Reporting feature in JMeter