Stream Prioritization
Example 4 – Sliding Window Behavior
As an example, consider this priority list: audio1, script, video1, audio2, video2, audio3, video3. Depending on the value of the bitrate constraint, the WM Player might select no stream; or it might select audio1, and no other stream; or it might select audio1, script, and no
video stream. In this priority list, the WM Player's sliding window mechanism identifies these seven possibilities: audio1; audio1, script; audio1, script, video1; script, video1, audio2; script,
audio2, video2; script, video2, audio3; script, audio3, video3. The WM Player examines these possibilities in the order they are shown, and stops either when it has exhausted all seven possibilities, or immediately before it encounters one that exceeds the bitrate constraint— whichever comes first. Among the seven possibilities just mentioned, the WM Player selects the one with the highest total bitrate.
It is clear how sliding a window, with room for one audio stream and one video stream, through the priority list, generates the audio and video components in the possibilities shown above. What is problematic is reconciling the presence of the script stream in these possibilities with a sliding window. This can be done by regarding the window as having room for one audio stream, one video stream, and for the script stream, but with this proviso: once the script stream enters the window, it stays
How the WM Appliance Creates Priority Lists
For Group Serving
To simplify the explanation, we regard an MBR Group as having bitrate = 0, if the Group is disabled. The algorithm for creating the priority list consists of these steps.
1.Put the Groups in bitrate order, lowest bitrate first. Index the resulting list of groups as group(0), group(1), group(2).
2.First, for index i=0, then for index i=1, then for index i=2, do this: if group(i) is enabled and contains a video stream that's not already in the priority list, then make the video stream the next entry in the priority list; if group(i) is enabled and contains an audio stream that's not already in the priority list, then make the audio stream the next entry in the priority list.
3.If the script stream is present in some enabled Group, then insert the script stream as the
For Archiving, and Pushing to or Pulling from a WM Server
Archiving, pushing to a WM Server, and pulling from a WM Server employ three independent multiplexing applications in the VBrick software. They use the same algorithm for making their priority lists. It consists of these steps.
1.Make an "A" list of streams, by performing this pair of operations on the streams included in the multiplexing application, for as long as there is a stream included in the multiplexing application that's not yet been put into the A list: make the
VBrick WM Appliance Admin Guide | 139 |