Viz Engine Administrator Guide
Version 5.1 | Published November 09, 2023 ©
VML Clip Player
VML Clip Player is a direct replacement for DirectShow Clip Player and an alternative to Matrox Clip Player. The main goal of VML Clip Player is to be able to play non-broadcast resolution while offering similar functionality and behavior to Matrox Clip Player.
In Matrox workflow, the user can choose the preferred clip player, between VML Clip Player and Matrox Clip Player via the following configuration (VerboseConfig must be set to 1):
Default clip player to be used
for
this
channel.
0
=Matrox
1
=VML
ClipIn1.Player: Default=
0
Min=
0
Max=
1
ClipIn1.Player =
0
The default preferred clip player in Matrox workflow is Matrox Clip Player. It is also possible to change the preferred clip player during run-time via the following command:
MAIN*CONFIGURATION*CHANNELS*CLIPIN_0*PLAYER SET VML
MAIN*CONFIGURATION*CHANNELS*CLIPIN_0*PLAYER SET MATROX
Feature Comparison between Clip Players
Not all functionalities are available for VML. The following is a feature comparison between the three different supported clip players:
Functionality |
VML |
Matrox |
DirectShow |
Basic Functions (Play, Pause, Stop, Load, Scrub, Continue, Flush, Autorun) |
|
|
|
In and out setting and getting |
|
|
|
Loop playback |
|
|
|
3-point loop / 4-point loop |
|
|
|
Upscale luma |
|
|
|
Repeat field |
|
|
|
Reverse field |
|
|
|
Playback speed |
|
|
|
Native pending support |
|
|
|
Embedded alpha format |
|
|
|
Multiple files (alpha / fill / audio / VBI files) |
|
|
|
Timecode |
|
|
|
VBI Passthrough (to output) |
|
|
|
Timecode Passthrough (to output) |
|
|
|
CC Extraction |
|
|
|
Audio |
|
|
|
SHM key events |
|
|
|
Contiguous seek performance |
|
|
|
DVE |
(1) |
|
(1) |
Playlist management (insert, remove, replace, etc.) |
|
|
|
Mode on load error (pending) |
|
|
|
V210 (10-bit support) |
|
|
|
Broadcast clip status |
|
|
|
Replay mode (TDIR) |
|
|
|
Growing files |
|
|
|
Dealing with display aspect ratio |
|
|
|
Delay audio and video |
|
|
|
Hardware-accelerated decoding |
|
(2) |
|
Mixed resolution mode |
(3) |
(3) |
(3) |
(1) Simulated DVE is supported. |
Mixed Resolution Mode in Matrox and VML Clip Player
Mixed resolution mode means playing clips with different resolution than the configured Viz Engine output resolution and/or the configured Viz Engine clip channel resolution. Matrox and VML clip player support the playback in mixed resolution. In Viz 4.x and earlier, Matrox clip player was already able to playback clips in mixed resolution, as long as the clips have the same framerate family as the output. However from Viz Engine 5.0 and later, Matrox clip player also support the playback of selected clips coming from smartphones with framerate family different than the configured Viz Engine output resolution. VML has always supported clips with framerate family different than the configured Viz Engine output resolution since its inception.
Even if both Matrox and VML clip players support mixed resolution, the following differences in behavior needs to be taken into account. This is referring only to mixed resolution in which the clip has the same framerate family as the configured Viz Engine output resolution.
Player |
Output |
Channel |
Clip |
STATUS GET AT EOF |
SCRUBBING |
CONCLUSIONS |
VML |
p50 |
p50 |
p50 |
duration 1000 |
Exactly the same between Matrox and VML. |
Exactly the same between Matrox and VML. |
MATROX |
p50 |
p50 |
p50 |
duration 1000 |
Exactly the same between Matrox and VML. |
Exactly the same between Matrox and VML. |
VML |
p50 |
i25 |
p50 |
duration 1000 |
Matrox displayed is -1 compared to VML on scrubbing to 00:00:05:00. |
Matrox displayed last position is -1 compared to VML at scrubbing EOF. |
MATROX |
p50 |
i25 |
p50 |
duration 1000 |
Matrox displayed is -1 compared to VML on scrubbing to 00:00:05:00. |
Matrox displayed last position is -1 compared to VML at scrubbing EOF. |
VML |
p50 |
p50 |
i25 |
duration 2000 |
Exactly the same between Matrox and VML. |
Matrox displayed last position and Current Position is -1 compared to VML at scrubbing EOF. |
MATROX |
p50 |
p50 |
i25 |
duration 2000 |
Exactly the same between Matrox and VML. |
Matrox displayed last position and "Current Position" is -1 compared to VML at scrubbing EOF. |
VML |
p50 |
i25 |
p50 |
duration 2000 |
Exactly the same between Matrox and VML. |
Exactly the same between Matrox and VML. |
MATROX |
p50 |
i25 |
p50 |
duration 2000 |
Exactly the same between Matrox and VML. |
Exactly the same between Matrox and VML. |
VML |
i25 |
i25 |
i25 |
duration 1000 |
Exactly the same between Matrox and VML. |
Exactly the same between Matrox and VML. |
MATROX |
i25 |
i25 |
i25 |
duration 1000 |
Exactly the same between Matrox and VML. |
Exactly the same between Matrox and VML. |
VML |
i25 |
p50 |
i25 |
duration 1000 |
Exactly the same between Matrox and VML. |
Matrox displayed last position is -1 compared to VML at scrubbing EOF. |
MATROX |
i25 |
p50 |
i25 |
duration 1000 |
Exactly the same between Matrox and VML. |
Matrox displayed last position is -1 compared to VML at scrubbing EOF. |
VML |
i25 |
i25 |
p50 |
duration 500 |
Matrox displayed is -1 compared to VML on scrubbing to 00:00:05:00. |
Matrox displayed last position is -1 compared to VML at scrubbing EOF. |
MATROX |
i25 |
i25 |
p50 |
duration 500 |
Matrox displayed is -1 compared to VML on scrubbing to 00:00:05:00. |
Matrox displayed last position is -1 compared to VML at scrubbing EOF. |
VML |
i25 |
p50 |
p50 |
duration 500 |
Exactly the same between Matrox and VML. |
Matrox Current Position (but not displayed one) is the same as duration but VML is duration -1. |
MATROX |
i25 |
p50 |
p50 |
duration 500 |
Exactly the same between Matrox and VML. |
Matrox Current Position (but not displayed one) is the same as duration but VML is duration -1. |
Non-broadcast Clip Support in Matrox and VML Clip Player
Broadcast clips are defined by their resolution (width and height), framerate, aspect ratio, scan mode and audio sample rate (48khz). The codec and format can also define a clip as broadcast clip. Examples of broadcast clips can be found in the Media Assets > Supported Codecs > Supported Codecs for Matrox Clip Playback section of the Viz Artist User Guide.
From Viz Engine version 5.0 and later, Matrox Clip Player also supports non-broadcast clips. These clips usually comes from smartphones. All of these clips are progressive resolution with non-broadcast resolution, aspect ratio, framerate and audio sample rate (41.1khz). The following needs to be taken into account regarding non-broadcast clip support in Matrox clip player:
-
Loading a clip with different framerate than the configured Viz Engine Output framerate, converts the clip framerate to the Viz Engine Output framerate.
-
DVE or Hybrid is not supported for non-broadcast clip.
-
Reverse playback might not be in real time.
-
Supported containers for non-broadcast clips are mostly .mov or .mp4.
VML Clip Player as a Fallback Clip Player
When using Matrox clip player as preferred clip player and the input clip is not supported, Viz Engine automatically tries to load the clip with VML clip player. However, this is not always possible, such as in the following case:
-
If the clip channel is configured as DVE or Hybrid.
When a clip channel is in fallback mode (using VML Clip Player) calling:
MAIN*CONFIGURATION*CHANNELS*CLIPIN_0*PLAYER GET
Still returns the original configuration. This is because this configuration means the preferred clip player to be used. If a clip is supported in Matrox clip player, then Matrox clip player is always the one used.
To know which clip player is being used at the moment the following command can be called:
MAIN_SCENE*VIDEO*CLIPIN*
1
*PLAYER GET
Calling this command after loading a clip tells you if a fallback has been triggered and VML is being used instead of Matrox Clip Player, if the preferred clip player is configured as Matrox Clip Player. If the preferred clip player is configured as VML, the command always returns VML.
The preferred clip player is always used first in an attempt to load a new clip. If the loads fails, then the fallback triggers. An example of a workflow if the preferred clip player is configured as Matrox Clip Player:
-
User tries to load a supported clip: Matrox Clip Player is used.
-
User then tries to load an unsupported clip: Matrox Clip Player is used first, Matrox Clip Player reports the clip is not supported, fallback triggers and VML Clip Player is instead used to load the clip.
-
User then tries to load a supported clip: Matrox Clip Player is used first (since it is the preferred clip player) in an attempt to load the clip.
The following warning messages should appear in the console when a fallback has triggered:
WARNING: Unable to open file with Matrox clip player (active). Attempting to open file with VML clip player.
WARNING: Unable to open file with Matrox clip player (pending). Attempting to open file with VML clip player.
Depending on whether the target clip player inside Matrox Clip Player is the active or pending one.
The following message also appears after a VML Clip Player has been used to load an unsupported clip and a new clip is about to be loaded in Matrox Clip Player:
WARNING: VML Clip Player was used to open an unsupported clip. Using Matrox Clip Player again as preferred clip player.
The messages are there to warn the user that a clip player switch has been performed.
Warning: Do not use clip fallback in stage workflow since it is not fully supported. The console also displays a warning when the pending clip player is the one failing to load a clip. Basic stage workflow which do not include back to back playback or 3-4 point loop work fine. If an unsupported clip is needed, then the best course of action is to change the preferred clip player of the clip channel to VML: ClipIn1.Player = 1.
The following warning appears in console when the pending clip player was used to attempt load a clip but failed:
WARNING: If this is part of a stage workflow (B2B, 3-4 point loop) clip fallback is not fully supported!!!
Clip Player AutoFormat
From Viz Engine version 5.1, VML and Matrox Clip Player automatically decides which format to use based on the clip characteristics. The following configurations are ignored when ClipInX.AutoFormat is enabled:
-
clip_bpcX
-
ClipInX.ContainsAlpha
-
ClipInX.UseV210
If for any reason the old behavior is needed, disable ClipInX.AutoFormat (for example, ClipInX.AutoFormat = 0),