How the wm appliance creates priority lists, For group serving, Example 4 – sliding window behavior – VBrick Systems VBRICK APPLIANCE VB6000 User Manual

Page 149

Advertising
background image

Stream Prioritization

VBrick WM Appliance Admin Guide

139

Example 4 – Sliding Window Behavior

As an example, consider this priority list: audio

1

, script, video

1

, audio

2

, video

2

, audio

3

,

video

3

. Depending on the value of the bitrate constraint, the WM Player might select no

stream; or it might select audio

1

, and no other stream; or it might select audio

1

, script, and no

video stream. In this priority list, the WM Player's sliding window mechanism identifies these
seven possibilities: audio

1

; audio

1

, script; audio

1

, script, video

1

; script, video

1

, audio

2

; script,

audio

2

, video

2

; script, video

2

, audio

3

; script, audio

3

, video

3

. 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 there—sliding the window changes only its audio
and video occupants, once the script stream enters the window. The issues of there being
fewer or more audio streams than video streams, and video-only or audio-only priority lists,
are dealt with in the manner described above.

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

highest-priority stream in the priority list.

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 lowest-bitrate
audio stream not yet in the A list—if there is one—be the next stream in the A priority
list; make the lowest-bitrate video stream not yet in the A list—if there is one—be the
next stream in the A list.

Advertising
This manual is related to the following products: