Preview Server Administrator Guide

Version 4.2 | Published June 01, 2018 ©

Configuration

This section contains information on the following topics:

Preview Server Service

The Preview Server is a Windows Service. It sets up an HTTP REST service on port 21098 on the host it is running on. This service accepts requests for graphical snapshots of playout elements from a Viz Engine.

Viz Engines

The Preview Server can run on the same machine as a Viz Engine (also used for the data element preview in Viz Pilot’s newsroom client), but it is also possible to specify additional Viz Engines in order to spread the load. Frame requests will be balanced across available Viz engines in a way that will minimize the memory load of each engine.

The pool of Viz Engines is configured on the Preview Server Web Interface - Home page.

Scaling of the system should be monitored to avoid excessive client waiting time and potential overload of the Viz Engine(s).

Service Configuration

Modify the Preview Server service’s behavior with the following settings in the PreviewServer.exe.config file.

VizEnginePollIntervalMilliSeconds

This setting determines how often a render engine’s availability is checked.

VizEngineTimeoutMilliSeconds

After the specified amount of milliseconds, the render engine list should stop trying to obtain the availability status and declare the engine unresponsive.

CacheMaxAge

Frames are cached in memory, allowing quicker responses when requesting frames that have been requested previously. By default, frames are cached for a maximum of one day. This behavior can be changed by modifying this setting, which specifies the maximum number of seconds to retain cached results.

VizEngineCleanupIntervalMilliSeconds

Once a scene in the Graphic Hub is modified all cached snapshots using that scene must be evicted from the cache. This interval specifies how often the scene modification dates are checked to detect scene changes.

UseRunLengthEncoding

It is recommended to switch on run length encoding if relatively high-resolution snapshots are requested.

CorsAllowedOrigin

This setting can be used to restrict the allowed cross origin resource sharing pattern that is utilized by the Preview Server.

DebugMode

Debug mode enables extended logging for troubleshooting.

ServicePort

The service port setting enables changing the port number for regular HTTP requests of the Preview Server service. The service does not accept any HTTP requests if 0 is specified.

SecurePort

The secure port setting allows changing the port number for secure HTTPS requests of the Preview Server service. The service does not accept any HTTPS requests if 0 is specified.

Redraws

This number specifies how many redraws a renderer has to perform before taking a snapshot of the graphic. Note that increasing this number slows down the overall performance of snapshot requests but it might be required for some scenes e.g. using data pool plugins to render correctly.

ExternalBaseUrl

Changes the default URL base for e.g. snapshot requests. This setting will also override possible Host, X-Forwarded-Proto and X-Forwarded-Port headers in requests. An empty string uses the default URL base and enables recognition of such headers in requests.

AlwaysRunPreviewScript

If set to True it will enable running OnPreview script hooks in the scene before taking a snapshot. Note that this might delay snapshot requests for scenes containing such hooks.

OpenIdConnectServerUrl

The URL to the OpenId Connect server that is trusted to handle user authentication. When this is set all REST communication with the server must include an Authorization HTTP header value with a valid bearer token signed by this OpenId Connect server.

ValidAudience

When OpenIdConnectServerUrl is set the bearer token must contain this value in its list of valid audiences. Leave empty to allow any authenticated audience.

AdministrationFromLocalhostOnly

If set to True it will lock down the administration REST APIs (including documentation and web pages) so that they can only be used from the machine this server is running on. By default this is true.

An example Configuration Section:

<configuration>
<applicationSettings>
<Vizrt.Frames.Properties.Settings>
<setting name="VizEnginePollIntervalMilliSeconds" serializeAs="String">
<value>5000</value>
</setting>
<setting name="VizEngineTimeoutMilliSeconds" serializeAs="String">
<value>1000</value>
</setting>
<setting name="CacheMaxAge" serializeAs="String">
<value>86400</value>
</setting>
<setting name="VizEngineCleanupIntervalMilliSeconds" serializeAs="String">
<value>60000</value>
</setting>
<setting name="UseRunLengthEncoding" serializeAs="String">
<value>False</value>
</setting>
<setting name="CorsAllowedOrigin" serializeAs="String">
<value>*</value>
</setting>
<setting name="DebugMode" serializeAs="String">
<value>False</value>
</setting>
<setting name="ServicePort" serializeAs="String">
<value>21098</value>
</setting>
<setting name="SecurePort" serializeAs="String">
<value>4443</value>
</setting>
<setting name="Redraws" serializeAs="String">
<value>0</value>
</setting>
<setting name="ExternalBaseUrl" serializeAs="String">
<value />
</setting>
<setting name="AlwaysRunPreviewScript" serializeAs="String">
<value>False</value>
</setting>
<setting name="OpenIdConnectServerUrl" serializeAs="String">
<value>https://ourstory.vizrt.internal:7500/</value>
</setting>
<setting name="ValidAudience" serializeAs="String">
<value>api.vizrt.com</value>
</setting>
<setting name="AdministrationFromLocalhostOnly" serializeAs="String">
<value>True</value>
</setting>
</Vizrt.Frames.Properties.Settings>
</applicationSettings>
</configuration>

Viz Pilot Data Server

For details on how to give all applications with a connection to the Viz Pilot database access to the Preview Server, see the Data Server chapter of the Viz Pilot User’s Guide.

Configuring Preview Server Settings in Viz Trio

If using the Preview Server together with Viz Trio, various Preview Server settings must be defined on the Viz Trio side.

  1. In the Trio Configuration, navigate to the Connectivity > Viz One panel.

  2. Enter the hostname and port number in the Preview Server Host box (format hostname:port).
    It will then be possible to display snapshots of graphics as video overlays in Viz Trio’s Timeline editor.

If the Preview Server should also load the actual thumbnails in the playlist, instead of just showing the default template thumbnails throughout, perform the following steps:

  1. In the Trio Configuration, navigate to the User Interface > Page List/Playlist panel.

  2. Enable the Use Preview Server to load thumbnails box.
    For more details, see the Viz Trio User’s Guide.