VIDEOHUBCTRL

Section: User Commands (1)
Updated: October 2020
Index
 

NAME

videohubctrl - Blackmagic Design Videohub SDI router control  

SYNOPSIS

videohubctrl --host <host> ..other options..  

DESCRIPTION

videohubctrl implements the simple text based network protocol for controlling Blackmagic Design Videohub SDI router devices. The program is tested with Blackmagic Design Micro Videohub and probably works with other Videohub models.

videohubctrl currently displays and can configure:
  - Video input port names
  - Video output port names, routing and locking
  - Input/Output port statuses
  - Monitoring video output port names, routing and locking
  - Serial ports names, routing, locking and directions
  - Processing units
  - Frames
  - Alarms status  

MAIN OPTIONS

-h, --host <host>
Set the device host name. It can be an IP address or host name. You can set VIDEOHUB_HOST environment variable instead of using this option.
-p, --port <port>
Set the device port. You can set VIDEOHUB_PORT environment variable instead of using this option. The default port is 9990.
-t, --timeout <seconds>
Set the timeout in seconds for connect and read. The default is 15 seconds, min vlue is 1 and max value is 60
 

COMMANDS

-i, --info
Show full device info. This is the default command if none is set. The command shows the equivalent of running all --list-XXX commands.
-m, --monitor
Display the Videohub configuration and updates it in real-time as it is changed. The monitor shows config changes immediately as they happen. The device is not being polled, instead the videohub protocol is designed in such way that every client receives changes on the fly.
-b, --backup
Show the command line that will restore the device to it's configuration.
--list-device
Display main device info including model, number of ports, etc.
--list-vinputs
Display device video inputs. Port numbers, names, how many outputs an input is being routed to, the list of the outputs and the port status (type).

The port statuses (type) are reported by Universal Videohub and can be these:

     - Empty means that the device do not support port status.
  x  - The port type is "None". This means that the port is not
       installed in the device.
  B  - The port type is "BNC".
  o  - The port type is "Optical".
  T  - The port type is "Thunderbolt".
--list-voutputs
Display device video outputs. Port numbers, names, locking status, which input is routed to a given output and the port status (type).

There are two locking statuses:

  L - The port is locked by another IP address (user)
  O - The port is locked by me (from my IP address)

The port status field (s) have the same format as input ports (described in --list-vinputs option).

--list-moutputs
Display device monitoring outputs. Port numbers, names, locking status and which input is routed to a given output. The locking statuses are the same as video input and output ports.
--list-serial
Display device serial ports. Port numbers, names, locking status, directions and how serial ports are routed. The locking statuses are the same as video input, output ports and monitoring ports.
--list-proc-units
Display device procesing units. Unit numbers, locking status and connected video inputs.
--list-frames
Display stored frame buffers.
--list-alarms
Display current alarms status.
--set-name <name>
Set the device "friendly name". This name can be used as a device identifier. Only some Videohub models support this functionality.
 

CONFIGURATION COMMANDS

Everywhere where port needs to be set, you can use the port number or the port name. You can use only port names that were already configured in previous session. Trying to set a name and then reference it in the next command will fail. Using port numbers always works.  

INPUTS CONFIGURATION

--in-name <in_X> <name>
Set video input port X name.
--in-output <in_X> <out_Y>
Set video input X to be outputted via output Y.
--in-monitor <in_X> <mout_Y>
Set video input X to be outputted via monitoring port Y.
 

OUTPUTS CONFIGURATION

--out-name <out_X> <name>
Set video output port X name.
--out-input <out_X> <in_Y>
Connect video output X to video input Y.
--out-lock <out_X>
Lock output port X.
--out-unlock <out_X>
Unlock output port X. If the port is locked by somebody else the port would be forcefully unlocked.
 

MONITORING OUTPUTS CONFIGURATION

--mon-name <mout_X> <name>
Set monitoring output port X name.
--mon-input <mout_X> <in_Y>
Connect monitoring output X to video input Y.
--mon-lock <mout_X>
Lock monitoring output port X.
--mon-unlock <mout_X>
Unlock monitoring output port X. If the port is locked by somebody else the port would be forcefully unlocked.
 

SERIAL PORTS CONFIGURATION

--ser-name <ser_X> <name>
Set serial port X name.
--ser-connect <ser_X> <ser_Y>
Connect serial port X to serial port Y. This option have two aliases --ser-input and --ser-route.
--ser-clear <ser_X>
Disconnect serial port X from the connected serial port.
--ser-lock <ser_X>
Lock serial port X.
--ser-unlock <ser_X>
Unlock serial port X. If the port is locked by somebody else the port would be forcefully unlocked.
--ser-dir <ser_X> <in|out|auto>
Set serial port X direction. There are three possible settings for each port:
 in   - input/control/Workstation
 out  - output/slave/Deck
 auto - Automatic in/out
 

PROCESSING UNITS CONFIGURATION

--pu-input <pu_X> <in_Y>
Connect processing unit X to video input port Y.
--pu-clear <pu_X>
Disconnect processing unit X from the connected input port.
--pu-lock <pu_X>
Lock processing unit port X.
--pu-unlock <pu_X>
Unlock processing unit port X. If the processing unit is locked by somebody else the port would be forcefully unlocked.
 

FRAMES CONFIGURATION

--fr-name <fr_X> <name>
Set frame X name.
--fr-output <fr_X> <out_Y>
Output frame X to video output port Y.
--fr-clear <fr_X>
Disconnect frame X from the connected output port.
--fr-lock <fr_X>
Lock frame X.
--fr-unlock <fr_X>
Unlock frame X. If the frame is locked by somebody else the port would be forcefully unlocked.
 

MISC OPTIONS

-T, --test <file>
Read commands from the <file> instead of connecting to a real device. This allows testing the program without having access to a device.
-d, --debug
Enable debugging output. Use this option more times to increase the verbosity.
-q, --quiet
Suppress warnings about unsupported commands.
-V, --version
Show program name and version.
-H, --help
Show program usage text.
 

ENVIRONMENT VARIABLES

VIDEOHUB_HOST
Set the device host name.
VIDEOHUB_PORT
Set the device port.
 

EXAMPLES

To get a quick start here are some example command lines.

 # Rename video output
   videohubctrl -h sdi --out-name 8 "Output 8 - test"
   videohubctrl -h sdi --out-name "Output 8 - test" "Output 8"

 # Rename video input
   videohubctrl -h sdi --in-name 4 "Windows 4 HD"
   videohubctrl -h sdi --in-name "Windows 4 HD" "CPlay4"

 # Lock and then unlock output 16 (unlock assumes that the port is
 # named Output 16). The host name is set via env variable.
   export VIDEOHUB_HOST=sdi
   videohubctrl --out-lock 16
   videohubctrl --out-unlock "Output 16"

 # Set two outputs to receive from the same input using port names
   videohubctrl -h sdi --out-input "Output 8" "Windows 4 HD"
   videohubctrl -h sdi --out-input "Output 7" "Windows 4 HD"

 # Set one input to go out two outputs and two monitoring ports
   videohubctrl -h sdi --in-output  "Windows 4 HD" "Output 8" \
                       --in-output  "Windows 4 HD" "Output 7" \
                       --in-monitor "Windows 4 HD" "Monitor 1" \
                       --in-monitor "Windows 4 HD" "Monitor 2"

 # Run several commands at once
 # Rename video input 11 and 12
 # Rename video output 5,
 # Set output 5 to receive from input 12
 # Lock output 5
   videohubctrl --host sdi \
                --in-name 11 "Test input" \
                --in-name 12 "Playout input" \
                --out-name 5 "Encoder h264" \
                --out-input 5 12 \
                --out-lock 5

 # This fails. It tries to use name that is not previously configured.
   videohubctrl -h sdi --out-name 1 "Test output" \
                       --out-name "Test output" "Other name"

 

SEE ALSO

See the README file for more information. If you have questions, remarks, problems or you just want to contact the developer, write to:
  georgi@unixsol.org
For more info, see the website at
http://georgi.unixsol.org/programs/videohubctrl/
 

AUTHORS

Written by Georgi Chorbadzhiyski <georgi@unixsol.org>  

LICENSE

videohubctrl is released under MIT license.


 

Index

NAME
SYNOPSIS
DESCRIPTION
MAIN OPTIONS
COMMANDS
CONFIGURATION COMMANDS
INPUTS CONFIGURATION
OUTPUTS CONFIGURATION
MONITORING OUTPUTS CONFIGURATION
SERIAL PORTS CONFIGURATION
PROCESSING UNITS CONFIGURATION
FRAMES CONFIGURATION
MISC OPTIONS
ENVIRONMENT VARIABLES
EXAMPLES
SEE ALSO
AUTHORS
LICENSE

This document was created by man2html, using the manual pages.
Time: 14:13:04 GMT, October 26, 2020