Service Host

Version 1.0 | Published November 15, 2017 ©

Operation and Troubleshooting

You can use the application Viz Send, which is included in Viz Artist installation, to communicate with Channel Recorder. Connect the tool to the port specified in the Channel Recorder configuration file.

Channel Recorder Initialization

You can start Channel Recorder with the Service Host web interface.

When Channel Recorder is started, the following will happen:

  1. User specified configuration runs in a specific order:

    1. If no serial number is specified, Channel Recorder selects the first board detected by the system.

    2. If no connector is selected, Channel Recorder fails to execute.

  2. Depending on the selected clock type, one of the following can happen:

    1. If GENLOCK is selected, Channel Recorder queries for the genlock signal. Channel Recorder compares the genlock frequency to the signal frequency. The signal frequencies need to be from the same frequency family, for example, 25i and 50p frequencies will match, but 29.97i and 50p will not.

    2. If INPUT is selected, Channel Recorder does not query for the genlock signal.

Note: INPUT clock type is only available for Matrox X.mio3 IP, Matrox X.mio3 and Matrox DSX LE4.

If everything works as expected, the input channel is set up and Channel Recorder starts capturing from it. As long as no clip is recorded, the captured frames are thrown away. When a recording starts, these frames are written to the file. This is necessary to be able to provide:

  1. Instant recording

  2. Scheduling of recordings

Workflow Example

  1. Start the service from the Service Host web interface. For more information, refer to the Service Host documentation.

  2. Check the log in the Service Host web interface to make sure that everything has started correctly. You can also check the log file located at %programdata%vizrt/ServiceHost/[service name].

  3. You should not see any errors or warning messages. If there is any error or warning messages, please try to amend it and restart the service using the web interface provided by Service Host. For more information, refer to the Service Host documentation. The following is an example of a successful initial run by Channel Recorder:

    [2017-10-05 13:54:52.140 +02:00][10700][info]: Startup 'ChannelRecorder::ChannelRecorder::Connect' as 'VizrtCR01'
    [2017-10-05 13:54:52.147 +02:00][21528][info]: [VizrtCR01] starting up. thread-id: 21528
    [2017-10-05 13:54:52.147 +02:00][21528][info]: [VizrtCR01] Applying settings from configuration file!
    [2017-10-05 13:54:52.147 +02:00][21528][info]: [VizrtCR01] Received: -1 COMMAND_HANDLER PORT SET 6810
    [2017-10-05 13:54:52.154 +02:00][21528][info]: [VizrtCR01] setting COMMAND_HANDLER PORT=6810
    [2017-10-05 13:54:52.154 +02:00][21528][info]: [VizrtCR01] Received: -1 MVCP PORT 6000
    [2017-10-05 13:54:52.154 +02:00][21528][info]: [VizrtCR01] setting MVCP PORT=6810
    [2017-10-05 13:54:52.155 +02:00][21528][info]: [VizrtCR01] Received: -1 MAIN BOARD SELECT A520889
    [2017-10-05 13:54:53.136 +02:00][21528][info]: [VizrtCR01] Received: -1 CONFIG SET PERSISTENCE 0
    [2017-10-05 13:54:53.136 +02:00][21528][info]: [VizrtCR01] setting PERSISTENCE=false
    [2017-10-05 13:54:53.136 +02:00][21528][info]: [VizrtCR01] Received: -1 MAIN CLOCKTYPE INPUT
    [2017-10-05 13:54:53.136 +02:00][21528][info]: [VizrtCR01] Received: -1 MAIN CONNECTOR SELECT A
    [2017-10-05 13:54:53.347 +02:00][21528][info]: [VizrtCR01::CaptureChannelSystemInA] Could not find connector in existing topologies. Creating a new one...
    [2017-10-05 13:54:53.347 +02:00][23412][info]: [VizrtCR01::CaptureChannelSystemInA::Scheduler::FileManager] starting up
    [2017-10-05 13:54:53.356 +02:00][21528][info]: [VizrtCR01::CaptureChannelSystemInA] Detect: Selected resolution is 1080i25
    [2017-10-05 13:54:53.363 +02:00][21528][info]: [VizrtCR01] Capture from channel InA on board XMIO3/X2/550 (serial: A520889)
    [2017-10-05 13:54:53.363 +02:00][20704][info]: [VizrtCR01::CaptureChannelSystemInA] starting up
    [2017-10-05 13:54:53.363 +02:00][21528][info]: [VizrtCR01] Received: -1 CONFIG SET TDIRENABLE 0
    [2017-10-05 13:54:53.363 +02:00][21528][info]: [VizrtCR01::CaptureChannelSystemInA] setting TDIRENABLE=false
    [2017-10-05 13:54:53.364 +02:00][21528][info]: [VizrtCR01] Received: -1 CONFIG SET TDIRINTERVAL 15.0
    [2017-10-05 13:54:53.364 +02:00][21528][info]: [VizrtCR01::CaptureChannelSystemInA] setting TDIRINTERVAL=15
    [2017-10-05 13:54:53.364 +02:00][21528][info]: [VizrtCR01] Received: -1 CONFIG SET AUDIOCHANNELS 4
    [2017-10-05 13:54:53.364 +02:00][21528][info]: [VizrtCR01::CaptureChannelSystemInA] setting AUDIOCHANNELS=4
    [2017-10-05 13:54:53.365 +02:00][21528][info]: [VizrtCR01] Received: -1 CONFIG SET CLIP_ROOT C:/
    [2017-10-05 13:54:53.365 +02:00][21528][info]: [VizrtCR01::CaptureChannelSystemInA] setting CLIP_ROOT=C:/
    [2017-10-05 13:54:53.365 +02:00][21528][info]: [VizrtCR01] Received: -1 CONFIG SET DISKACCESSSIZE 8MiB
    [2017-10-05 13:54:53.366 +02:00][21528][info]: [VizrtCR01::CaptureChannelSystemInA] setting DISKACCESSSIZE=8388608
    [2017-10-05 13:54:53.366 +02:00][21640][info]: [VizrtCR01::CaptureChannelSystemInA::ClipOutChannel0] starting up
    [2017-10-05 13:54:53.367 +02:00][26060][info]: [VizrtCR01::CaptureChannelSystemInA::ClipOutChannel1] starting up
    [2017-10-05 13:54:53.367 +02:00][21528][info]: [VizrtCR01] Received: -1 CONFIG SET RINGBUFFERSIZE 100
    [2017-10-05 13:54:53.367 +02:00][21528][info]: [VizrtCR01] setting RINGBUFFERSIZE=100
    [2017-10-05 13:54:53.369 +02:00][21528][info]: [VizrtCR01] Received: -1 CONFIG SET TIMEOUT 100
    [2017-10-05 13:54:53.369 +02:00][21528][info]: [VizrtCR01::CaptureChannelSystemInA] setting TIMEOUT=100
    [2017-10-05 13:54:53.370 +02:00][21528][info]: [VizrtCR01] Received: -1 CONFIG SET CODEC AVCIntra100
    [2017-10-05 13:54:53.370 +02:00][21528][info]: [VizrtCR01::CaptureChannelSystemInA] setting CODEC=AVCIntra100
    [2017-10-05 13:54:53.370 +02:00][21528][info]: [VizrtCR01] Received: -1 CONFIG SET CONTAINER AVCINTRAMXF
    [2017-10-05 13:54:53.370 +02:00][21528][info]: [VizrtCR01::CaptureChannelSystemInA] setting CONTAINER=AVCINTRAMXF
    [2017-10-05 13:54:53.371 +02:00][21528][info]: [VizrtCR01] Received: -1 CONFIG SET PRIORITY REALTIME
    [2017-10-05 13:54:53.371 +02:00][21528][info]: [VizrtCR01] Received: -1 CONFIG SET TIMECODE TIME_OF_DAY
    [2017-10-05 13:54:53.371 +02:00][21528][info]: [VizrtCR01::CaptureChannelSystemInA] setting TIMECODE=TIME_OF_DAY
    [2017-10-05 13:54:53.372 +02:00][21528][info]: [VizrtCR01] Received: -1 OUTPUT START VideoOut A
    [2017-10-05 13:54:53.377 +02:00][24120][info]: [VideoOut] starting up
  4. The most common errors are not specifying a connector, or specifying a connector that is already in use or non-existing.

When Channel Recorder is successfully running, you can control it using Viz Send, or by using Viz Dart through the MVCP protocol. Refer to Channel Recorder Control Commands for available commands.

Note: Telnet can also be used as a way to control Channel Recorder through the MVCP protocol.

Change of Input Resolution

Starting with version 1.1, the Channel Recorder handles input resolution changes during runtime. When Channel Recorder detects a change in the input resolution, it resets the channel to use the new resolution, without the need to restart the service. This requires that you select INPUT as Clock Type during initial configuration.

Recording with no Input Signal

Starting with version 1.1, the Channel Recorder can record without an input signal attached. When a signal is attached during recording, Channel Recorder will seamlessly use the signal. This means that the recorder file will have a black signal, plus the new connected signal. This requires that the configured resolution is the same as the connected signal resolution, and that you select the INPUT Clock Type during initial configuration.

Drop Frame Timecode

The user should be mindful when using commands to operate Channel Recorder than involves inputting timecode in drop frame resolutions. Such commands require the input of a valid timecode. However, when a timecode is not recognized as valid, Channel Recorder will try to fix it by rounding down the timecode to a a valid one. For example:

RECORD SET schedule.mxf IN=15:00:00:00 OUT=16:00:00:00

Both timecodes are not valid when operating in drop frame resolution. The command and timecode will be automatically changed to:

RECORD SET schedule.mxf IN=15:00:00:04 OUT=16:00:00:04

See Also