Chapter 4. Configuring Video Server Toolkit

This chapter describes how to configure VST in the following sections:


Note: To configure startup options, see “Starting and Stopping VST” in Chapter 8.


Configuring the Device Interface

Device files contain variables called controls that influence the behavior of specific devices. Each device in your system can have only one device file.

Configuring Audio and Video Devices in Your System

The directory /usr/vtr/config/device-defaults contains files that correspond to the media devices used by the VST; these files define machine-specific behavior. Each device or device type has one file; the directory device-defaults can contain the following files:

  • MEDIA, for behavior common to all connected media devices

  • mvp, for an O2 workstation

    Because an O2 workstation can only take one analog or digital video card, other mvp names, such as mvp_0, are not needed.

  • DIVO, for all DIVO boards in a system, or DIVO_0, DIVO_1, DIVO_2, and so on to name a specific DIVO board in a VST server

  • DIVO_DVC, for DIVO-DVC boards

  • vela, for all Vela devices connected to a system, or vela_0, vela_1, vela_2, and so on. if more than one Vela device is in use in a VST server

  • dq, or dq_0, dq_1, dq_2, and so on. when VST is using Diaquest software to control external VTRs

  • dvb-asi, for media devices connected to a DVB-ASI adapter board

Setting Device Parameters

You use VST controls to configure video compression modes, audio sampling parameters, clip formats, and many other elements of the system configuration. For example, for the first DIVO_DVC device, you would create in the /usr/vtr/configd/device-defaults directory a file called DIVO_DVC_0. This file could contain, for example:

# Format
vtr.media.video.input.compression.type dvcpro
vtr.media.clip.format movie/dif

# Audio
vtr.media.audio.input.port RAD1.AESIn
vtr.media.audio.output.port RAD1.AESOut

This example device defaults file sets the default control values for any units created using the DIVO_DVC_0 port so that new clips are recorded with DVCPRO compression and the audio input and output uses the AES interfaces on the Digital Audio Option board.

Configuring System Defaults

You use VST controls in files in the /usr/vtr/config/system-defaults directory to specify default system-wide behavior. For example, the file main might contain the following:

vtr.main.timing_standard 625

This line sets the default timing mode for the VST system to 625.

Check the following controls depending on your hardware configuration:

  • vtr.media.dbv-asi.seamless_playback: turns on splicing when set to true

  • vtr.media.dbv-asi.halt_on_underflow: set to false

  • vtr.media.dvb-asi.port.total_bitrate: set this control to the total bit rate required by the downstream MPEG decoder or multiplexer (for example, 52000000)

Refer to Appendix A, “Video Server Toolkit Control Summary,” or to the vst-controls(5) man page for detailed information about all system controls.

Configuring Audio Support

The Vela decoder output includes audio outputs decoded from the MPEG-2 stream. The VST control for adjusting the Vela audio output level is vtr.media.audio.output.level. This control and other Vela controls are summarized at “Device Controls for MPEG Decoder (Vela) Ports” in Appendix A and are described fully in the vst-controls(5) man page.

For the DVB outputs, the MPEG-2 stream is transmitted in its compressed form, including the compressed audio.

For the DIVO, DIVO-DVC, and O2 outputs, a unit can select the audio port for:

  • audio output during playback

  • audio input during recording

The controls that configure the audio port are

  • vtr.media.audio.output.port (default DefaultOut)

  • vtr.media.audio.input.port (default DefaultIn)

The default audio input and output ports are selected with the IRIX Audiopanel control panel. Audio configuration is managed by the decoder.

For more information about audio ports, see the vst-controls(5M) man page.

Identifying Audio Ports

The default input audio port is DefaultIn, meaning the audio is taken from the default input as set in the server's audio panel. Similarly, the default output audio port is DefaultOut.

To change the input or output audio port, set either vtr.media.audio.input.port or vtr.media.audio.output.port, respectively. Audio port names take the form [subsystem.]interface. You must specify subsystem if the server has more than one audio device installed.

For audio ports on the SGI digital Audio Option PCI board:

  • subsystem is RADn

  • interface is AESIn, AESOut, ADATIn, or ADATOut

Each Digital Audio Option board has a unique subsystem name, such as RAD1 or RAD2. To determine the name of a board in a particular slot, use vtrhwinfo. Here is a slightly abbreviated example:

# /usr/vtr/bin/vtrhwinfo
System:
  Platform: Origin 200 GIGAchannel (hostname=system1 serial=xxxx)
  Processors: 2x225MHz R10000 (IP27)
  Secondary Cache: 2 Mbytes
  Memory: 512 Mbytes
Video devices:
  DIVO_DVC_0 (module=1/GIGAchannel slot=12 serial=HTM962 part=030-1387-001E)
    DVCPRO_CODEC (serial=HTM769 part=030-1388-001B)
    DVCPRO_CODEC (serial=HTM802 part=030-1388-001B)
  DIVO_DVC_1 (module=1/GIGAchannel slot=13 serial=HTM970 .
.
.
.
Audio devices:
  RAD1 (module=1/GIGAchannel pci=2)
  RAD2 (module=1/O200 pci=5)
Audio input ports:
  DIVO_DVC_0.DigitalIn
  DIVO_DVC_1.DigitalIn
  DIVO_DVC_2.DigitalIn
  DIVO_DVC_3.DigitalIn
  RAD1.AESIn
  RAD1.ADATIn
  RAD2.AESIn
  RAD2.ADATIn
Audio output ports:
  DIVO_DVC_0.DigitalOut
  DIVO_DVC_1.DigitalOut
  DIVO_DVC_2.DigitalOut
  DIVO_DVC_3.DigitalOut
  RAD1.AESOut
  RAD1.ADATOut
  RAD2.AESOut
  RAD2.ADATOut
Serial ports:
  tty1 (module=1/O200 built-in)
  tty2 (module=1/O200 built-in)
  tty3 (module=1/GIGAchannel slot=11)
  ...

For example, to take audio input for the DIVO_1 port from the AES coaxial input on the Digital Audio Option board identified as RAD1, open the file /usr/vtr/config/device-defaults/DIVO_1, and add this control setting:

vtr.media.audio.input.port RAD1.AESIn

Disabling Audio

If no audio input is connected, you must disable audio before recording. Add the following control setting to the appropriate device-defaults file (for example, /usr/vtr/config/device-defaults/DIVO_DVC_2):

vtr.media.audio.input.port ““ 

Configuring VST for Control by Remote Devices (control-in.conf File)

Use the /usr/vtr/config/control-in.conf file to configure VST so that it can be controlled by remote devices. VST supports devices that use either the Louth Video Disk Communications Protocol (VDCP) or the industry-standard Sony-compatible VTR RS-422 control protocol.

The /usr/vtr/config/control-in.conf file has three parts:

  • control port (serial port) configuration: one line per device

  • other control ports: one line per device

  • signal port configuration: one line per device

The control port and signal configuration lines are described in separate subsections below.

Control Port Configuration Line

You use the configuration file /usr/vtr/config/control-in.conf to specify basic connection parameters between the controlling devices (Sony and Louth) and VST. Connection parameters include such information as which serial port controls which video board and how.

For each serial port to be connected to a controlling device (such as an automation or edit controller), insert a line in /usr/vtr/config/control-in.conf that uses the following format:

protocol   type  port  speed   parity     signalport    rate    latency 

The following line shows a sample configuration:

sony    rs422    4    38400    1    1    29.97    0

This example specifies that a controlling device using the Sony-compatible VTR protocol is connected via an RS-422 serial line to serial port 4 on the server. The serial connection speed is 38400 bits/sec, using odd parity. The device is controlling the video port identified by the “signal 1” configuration line (also specified in control-in.conf) and is using a zero-frame command latency, so that commands are executed as quickly as possible. The preroll should always be 0, except for Louth controllers, for which the preroll is 3.

The following subsections describe each variable in this configuration line.

protocol

Use the value that corresponds to the protocol used by the device you are configuring to work with VST. The valid values of protocol_name include:

  • sony, p2: Sony-compatible VTR RS-422 control protocol

  • louth: Louth Video Disk Communications Protocol

  • mvcp: SGI Multiport Video Computer Protocol

  • hsip: Horita Serial Interface Protocol

  • littlered: Miranda Little Red linear time-code reader protocol

type

The valid values of type include:

  • rs232: RS-232 control connection

  • rs422: RS-422 control connection

  • tcp,: socket-based TCP/IP connection

These values must correspond to the type of connection between the control video device and the VST server. The type of cable you use to connect the video device and the server determines this value.


Note: The value rs422 is not supported on the O2 server.


port

The value of port specifies the serial port number for RS-232 and RS-422 connections. For example, to specify that the device is connected to port 2 (sometimes referred to as ttyd2), specify just the numeral 2. For TCP connections, port specifies the TCP port number.


Note: Serial and TCP ports (communications ports) are unrelated to video ports (signal ports).


speed

The speed value specifies the connection speed of the serial connection between the server and the controlling device, usually 38400. On rare occasions, 9600 is used. For TCP connections, enter a hyphen (-) for this setting.

parity

The optional parity setting can have one of the following values:

  • 0, indicating no parity

  • 1, indicating odd parity

  • 2, indicating even parity

Parity is usually odd (1). On rare occasions, even or no parity is used.

signalport

The signalport value specifies the signal (video) port as identified by a signal configuration line in the control-in.conf that is controlled by this remote device connection. For more information, see “Signal Configuration Line”.

rate

The rate value specifies the frame-rate and drop-frame mode for time codes exchanged over the control connection. Valid values are:

  • 25: 625/50 video

  • 29.97: 525/59.94 video (drop-frame)

  • 30: 525/59.94 video (non-drop-frame)

latency

When VST receives a command, the command can apply only to the next frame to enter the video port output queue. For example, if the video port output queue holds three frames, the first frame that can be affected by an incoming command is the third frame in the queue. If a stop command is received, the first two frames in the video port output queue are displayed; the third is not displayed because it is affected by the stop command.

You can modify the number of frames that display before a command begins by setting the latency value. Valid values are 0 or positive integers. A value of 0 starts the command's effect as soon as possible, but the command latency is always greater than 0.

The minimum command latency is the sum of the fixed latency value for the specific compression format and the value of the vtr.media.video.output.max_queued_frames control, which is usually 1 (see the description of this control in the man page, vstcontrols (5M)). To guarantee that all commands are executed in a frame-accurate manner, add 1 to this sum, as follows:

  • fixed latency value for the compression format:

    • DVCPRO: 5 frames

    • Rice: 2 frames

    • uncompressed: 2 frames

    • JPEG: 2 frames

  • plus 1 (usual value of the vtr.media.video.output.max_queued_frames control)

  • plus 1 (to guarantee that all commands are executed in a frame-accurate manner)

The result is 7 frames for DVCPRO, 4 for all others.

A small number for latency increases the risk that a frame may be missed (repeated) because of system load. A large number increases the latency in responding to transport commands such as play, stop, or pause.

Some commands in the Sony protocol imply a predefined frame delay; latency does not affect these commands.

For the MVCP TCP port, make sure that the control-in.conf file includes a control port configuration line:

mvcp tcp 5250

5250 is the standard MVCP control port number. The initial control-in.conf file installed with the VST software includes this line.

Signal Configuration Line

The signal configuration line specifies how to map signal port numbers to video port names. A signal configuration line is required for each video port for it to be controlled by an external device. For example, to specify that signal 1 corresponds to the video port known as DIVO_4, add the following line:

signal 1 DIVO_4

Example control-in File

Here is a sample control-in.conf file:

# This defines the normal VST MVCP TCP port 

mvcp tcp 5250

# Other control ports

#sony   rs422 2 38400 1 1 29.97 3
louth   rs422 2 38400 1 1 29.97 3
louth   rs422 5 38400 1 2 29.97 3
#
louth   rs422 6 38400 1 3 29.97 3
louth   rs422 7 38400 1 4 29.97 3
#louth   rs422 8 38400 1 5 29.97 3
#
#
# Signal ports
#
#   Each signal (video) port is mapped from a port number to port name
#   with a line of this form:
#
#   signal <port number> <port name>
#
#     port number:      Disk port number (> 0)
#     port name:        VST port name (e.g., DIVO_1)

signal 1 DIVO_DVC_0
signal 2 DIVO_DVC_1
signal 3 DIVO_DVC_2
signal 4 DIVO_DVC_3
#signal 5 DIVO_4
#signal 2 DIVO_3 

Configuring VST to Control Other Devices (control-out.conf File)

Use the /usr/vtr/config/control-out.conf file to configure VST so that it can control other VTR-like devices.

Use this file also to specify basic connection parameters between VST and the VTRs to be controlled. Connection parameters include such information as which serial port controls which VTR and how. For each VTR controlled by VST using the Sony protocol, add a line in /usr/vtr/config/control-out.conf that uses the following format:

protocol    connection    serial_port     rate    parity 

The following line shows a sample configuration:

sony    rs422    4    38400    1

The line has the same meaning when p2 is substituted for sony.

The following sections describe each variable in this configuration line.

protocol

Use the value that corresponds to the device you are configuring to work with VST. The valid values of protocol_name are sony and p2, which are equivalent.

connection

The valid values of connection include:

  • rs232, for a RS-232 control connection

  • rs422, for a RS-422 control connection

These values must correspond with the type of connection between the video device and the VST server. The device and the VST server must agree on the serial connection; the cable between them must be appropriate for that connection.


Note: rs422 is not supported on the O2 system.


serial_port

The serial_port value specifies the serial port as identified by a serial configuration line in the control-in.conf that is controlled by this remote device connection.

Note that The RS-422 pinout at the DB-9 end of the SGI adapter cable is nonstandard; see Appendix B, “RS-422 Pinouts.”

speed

The speed value specifies the connection speed of the serial connection between the server and the controlling device, usually 38400. On rare occasions, 9600 is used. For TCP connections, enter a hyphen (-) for this setting. Sony devices must use 38400.

parity

The optional parity setting can have one of the following values:

  • 0, indicating no parity

  • 1, indicating odd parity

  • 2, indicating even parity

The parity must be specified as odd for the currently supported protocols.

Configuring the StudioCentral Interface

VST can be configured to exchange clips with the SGI StudioCentral media management system. VST treats StudioCentral as an archive system to which clips can be saved after VST records them, or from which clips can be retrieved for playback.

The StudioCentral interface module is not selected by default for installation with VST. The vst_eoe.sw.studiocentral subsystem must be installed for clip media and metadata to be exchanged with one or more StudioCentral repositories.

For a general description of the archive and how to use it, see the Video Server Toolkit Developer's Guide , which provides an overview of the VST server, ATS server, and archive server.

The configuration file, /usr/vtr/config/studiocentral.conf specifies the StudioCentral repositories that VST can access as archives. Each line of this file has the following syntax:

repository ats 

where repository is the hostname of the server running the StudioCentral repository. For example, the following configuration file specifies two StudioCentral repositories available to the VST server for archiving:

mymediaserver ats
workgroupmedia ats

In this example, mymediaserver and workgroupmedia are the names of the StudioCentral repository servers.

Mapping Physical Ports to Logical Port Names

You can use the /usr/vtr/ports.conf file to create logical names for the physical video port s on the VST server. For each port, include a line in the configuration file with this syntax:

port physicalname logicalname description 

For example:

port DIVO_DVC_0 ProgA “Program A”
port DIVO_DVC_1 ProgB “Program B”
port DIVO_DVC_2 Preview “Preview Output”
port DIVO_DVC_3 Archive “Archive I/O”

Configuring for 625/50 Systems

VST supports both 525/59.94 and 625/50 operation simultaneously. A few operating characteristics default to 525/59.94, including the MVCP timing mode (refer to the MVCP FRAT command documentation in the latest Video Server Toolkit Developer's Guide ) and the default video output timing.

To change the default timing, include the following control setting in the system defaults file /usr/vtr/config/system-defaults/main:

vtr.main.timing_standard 625


Note: The system timing standard controls the default video output timing only if the control vtr.media.video.output.timing is not changed from its default value of “system”.

In /usr/vtr/config/device-defaults/DIVO, make sure vtr.media.video.output.timing is set to its default value, system.

Tuning the Operating System for VST (Setting the Maximum DMA Size)

The maximum DMA size limits the maximum amount of data that can be transferred to or from the filesystem in a single operation. The default maximum DMA size is 4 MB, which is too small for most VST installations. To increase the system's maximum DMA size, use the following procedure:

  1. As superuser, start systune to change the DMA size:

    # systune -i 
    

    The system responds:

    Updates will be made to running system and /unix.install
    
    systune-> 
    

  2. Enter the new DMA size:

    systune-> maxdmasz bytes 
    

    The following example shows 10 MB:

    systune-> maxdmasz 641 
    

    The system responds:

         maxdmasz = 257 (0x101)
            Do you really want to change maxdmasz to 640? (y/n)
    

  3. Enter y for yes. The system responds:

    In order for the change in parameter maxdmasz to become effective, reboot the system
    

  4. Quit systune:

    systune-> quit 
    

  5. Reboot the server:

    # reboot 
    

Configuration Files

Table 4-1 summarizes the files that VST uses so that it works with all the hardware and software in the system.

Table 4-1. Configuration Files

Configuration File

Purpose

/usr/vtr/config/control-in.conf

Configures VST to be controlled by remote devices. Use this file to configure VCP to work with controllers compatible with Sony and Louth protocols, and Miranda or Horita time-code reader devices.

/usr/vtr/config/control-out.conf

Configures VST to control VTRs or VTR-like devices.

/usr/vtr/config/control-out.conf

Configures VST to control other decks. Use this file to configure VST to control VTRs using Diaquest software.

/usr/vtr/config/device-defaults

This directory contains files that specify default control settings for audio, video, and disk devices. The names and contents of the files are described in Appendix A, “Video Server Toolkit Control Summary.”

/usr/vtr/config/system-defaults

This directory contains files that specify default control settings for various VST non-device subsystems (for example, system-wide controls or Sony protocol control ports).

/usr/vtr/config/studiocentral.conf

Specifies StudioCentral repositories that VST can access as archive systems.

/usr/vtr/config/ports.conf

Specifies logical video port names to substitute for the ports' physical names.

/usr/vtr/config/vtrd.conf

VST server daemon configuration.

/usr/vtr/config/vtr_ioconfig.conf

Contains configuration information for the Vela decoder. For more information, see “Configuring the Vela Decoder”.

vtrfsinfo.conf

Defines I/O size and alignment size for non-real-time filesystems.

/usr/vtr/config/system-defaults/clipmirror

Stores the name of the primary server with which redundant server synchronizes, and other parameters. See “Configuring a Server for Clip Mirroring” in Chapter 5.