videohubctrl can be used to control Blackmagic Design Videohub SDI router device over the network.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

videohubctrl.1 8.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. .TH VIDEOHUBCTRL "1" "December 2014" "videohubctrl 1.0" "User Commands"
  2. .SH NAME
  3. videohubctrl - Blackmagic Design Videohub SDI router control
  4. .SH SYNOPSIS
  5. .B videohubctrl --host <host> \fI..other options..\fR
  6. .SH DESCRIPTION
  7. videohubctrl implements the simple text based network protocol for
  8. controlling Blackmagic Design Videohub SDI router devices. The
  9. program is tested with Blackmagic Design Micro Videohub and
  10. probably works with other Videohub models.
  11. videohubctrl currently displays and can configure:
  12. - Video input port names
  13. - Video output port names, routing and locking
  14. - Input/Output port statuses
  15. - Monitoring video output port names, routing and locking
  16. - Serial ports names, routing, locking and directions
  17. - Processing units
  18. - Frames
  19. .SH MAIN OPTIONS
  20. .PP
  21. .TP
  22. \fB\-h\fR, \fB\-\-host\fR <host>
  23. Set the device host name. It can be an IP address or host name. You
  24. can set \fBVIDEOHUB_HOST\fR environment variable instead of using
  25. this option.
  26. .TP
  27. \fB\-p\fR, \fB\-\-port\fR <port>
  28. Set the device port. You can set \fBVIDEOHUB_PORT\fR environment
  29. variable instead of using this option. The default port is \fB9990\fR.
  30. .SH COMMANDS
  31. .PP
  32. .TP
  33. \fB\-i\fR, \fB\-\-info\fR
  34. Show full device info. This is the default command if none is set.
  35. The command shows the equivalent of running all \-\-list-XXX commands.
  36. .TP
  37. \fB\-m\fR, \fB\-\-monitor\fR
  38. Display the Videohub configuration and updates it in real-time as it
  39. is changed. The monitor shows config changes immediately as they happen.
  40. The device is not being polled, instead the videohub protocol is designed
  41. in such way that every client receives changes on the fly.
  42. .TP
  43. \fB\-b\fR, \fB\-\-backup\fR
  44. Show the command line that will restore the device to it's configuration.
  45. .TP
  46. \fB\-\-list\-device\fR
  47. Display main device info including model, number of ports, etc.
  48. .TP
  49. \fB\-\-list\-vinputs\fR
  50. Display device video inputs. Port numbers, names, how many outputs an
  51. input is being routed to, the list of the outputs and the port status
  52. (type).
  53. The port statuses (type) are reported by Universal Videohub and can be
  54. these:
  55. .nf
  56. - Empty means that the device do not support port status.
  57. x - The port type is "None". This means that the port is not
  58. installed in the device.
  59. B - The port type is "BNC".
  60. o - The port type is "Optical".
  61. T - The port type is "Thunderbolt".
  62. .fi
  63. .TP
  64. \fB\-\-list\-voutputs\fR
  65. Display device video outputs. Port numbers, names, locking status, which
  66. input is routed to a given output and the port status (type).
  67. There are two locking statuses:
  68. .nf
  69. L - The port is locked by another IP address (user)
  70. O - The port is locked by me (from my IP address)
  71. .fi
  72. The port status field (s) have the same format as input ports (described
  73. in \fB\-\-list\-vinputs\fR option).
  74. .TP
  75. \fB\-\-list\-moutputs\fR
  76. Display device monitoring outputs. Port numbers, names, locking status and
  77. which input is routed to a given output. The locking statuses are the
  78. same as video input and output ports.
  79. .TP
  80. \fB\-\-list\-serial\fR
  81. Display device serial ports. Port numbers, names, locking status, directions
  82. and how serial ports are routed. The locking statuses are the same as video
  83. input, output ports and monitoring ports.
  84. .TP
  85. \fB\-\-list\-proc-units\fR
  86. Display device procesing units. Unit numbers, locking status and connected
  87. video inputs.
  88. .TP
  89. \fB\-\-list\-frames\fR
  90. Display stored frame buffers.
  91. .SH CONFIGURATION COMMANDS
  92. .PP
  93. Everywhere where port needs to be set, you can use the port number or the
  94. port name. You can use only port names that were already configured in
  95. previous session. Trying to set a name and then reference it in the next
  96. command will fail. Using port numbers always works.
  97. .SH VIDEO INPUTS CONFIGURATION
  98. .PP
  99. .TP
  100. \fB\-\-vi\-name\fR <in_X> <name>
  101. Set video input port X name.
  102. .SH VIDEO OUTPUTS CONFIGURATION
  103. .PP
  104. .TP
  105. \fB\-\-vo\-name\fR <out_X> <name>
  106. Set video output port X name.
  107. .TP
  108. \fB\-\-vo\-input\fR <out_X> <in_Y>
  109. Connect video output X to video input Y.
  110. .TP
  111. \fB\-\-vo\-lock\fR <out_X>
  112. Lock output port X.
  113. .TP
  114. \fB\-\-vo\-unlock\fR <out_X>
  115. Unlock output port X. If the port is locked by somebody else the
  116. port would be forcefully unlocked.
  117. .SH MONITORING OUTPUTS CONFIGURATION
  118. .PP
  119. .TP
  120. \fB\-\-mo\-name\fR <mout_X> <name>
  121. Set monitoring output port X name.
  122. .TP
  123. \fB\-\-mo\-input\fR <mout_X> <in_Y>
  124. Connect monitoring output X to video input Y.
  125. .TP
  126. \fB\-\-mo\-lock\fR <mout_X>
  127. Lock monitoring output port X.
  128. .TP
  129. \fB\-\-mo\-unlock\fR <mout_X>
  130. Unlock monitoring output port X. If the port is locked by somebody
  131. else the port would be forcefully unlocked.
  132. .SH SERIAL PORTS CONFIGURATION
  133. .PP
  134. .TP
  135. \fB\-\-se\-name\fR <ser_X> <name>
  136. Set serial port X name.
  137. .TP
  138. \fB\-\-se\-connect\fR <ser_X> <ser_Y>
  139. Connect serial port X to serial port Y. This option have two aliases \fB\-\-se\-input\fR
  140. and \fB\-\-se\-route\fR.
  141. .TP
  142. \fB\-\-se\-clear\fR <ser_X>
  143. Disconnect serial port X from the connected serial port.
  144. .TP
  145. \fB\-\-se\-lock\fR <ser_X>
  146. Lock serial port X.
  147. .TP
  148. \fB\-\-se\-unlock\fR <ser_X>
  149. Unlock serial port X. If the port is locked by somebody else the
  150. port would be forcefully unlocked.
  151. .TP
  152. \fB\-\-se\-dir\fR <ser_X> <in|out|auto>
  153. Set serial port X direction. There are three possible settings for
  154. each port:
  155. \fBin\fR - input/control/Workstation
  156. \fBout\fR - output/slave/Deck
  157. \fBauto\fR - Automatic in/out
  158. .SH PROCESSING UNITS CONFIGURATION
  159. .PP
  160. .TP
  161. \fB\-\-pu\-input\fR <pu_X> <in_Y>
  162. Connect processing unit X to video input port Y.
  163. .TP
  164. \fB\-\-pu\-clear\fR <pu_X>
  165. Disconnect processing unit X from the connected input port.
  166. .TP
  167. \fB\-\-pu\-lock\fR <pu_X>
  168. Lock processing unit port X.
  169. .TP
  170. \fB\-\-pu\-unlock\fR <pu_X>
  171. Unlock processing unit port X. If the processing unit is locked by somebody
  172. else the port would be forcefully unlocked.
  173. .SH FRAMES CONFIGURATION
  174. .PP
  175. .TP
  176. \fB\-\-fr\-name\fR <fr_X> <name>
  177. Set frame X name.
  178. .TP
  179. \fB\-\-fr\-output\fR <fr_X> <out_Y>
  180. Output frame X to video output port Y.
  181. .TP
  182. \fB\-\-fr\-clear\fR <fr_X>
  183. Disconnect frame X from the connected output port.
  184. .TP
  185. \fB\-\-fr\-lock\fR <fr_X>
  186. Lock frame X.
  187. .TP
  188. \fB\-\-fr\-unlock\fR <fr_X>
  189. Unlock frame X. If the frame is locked by somebody else the port would be
  190. forcefully unlocked.
  191. .SH MISC OPTIONS
  192. .PP
  193. .TP
  194. \fB\-T\fR, \fB\-\-test\fR <file>
  195. Read commands from the <file> instead of connecting to a real
  196. device. This allows testing the program without having access
  197. to a device.
  198. .TP
  199. \fB\-d\fR, \fB\-\-debug\fR
  200. Enable debugging output. Use this option more times to increase
  201. the verbosity.
  202. .TP
  203. \fB\-q\fR, \fB\-\-quiet\fR
  204. Suppress warnings about unsupported commands.
  205. .TP
  206. \fB\-V\fR, \fB\-\-version\fR
  207. Show program name and version.
  208. .TP
  209. \fB\-H\fR, \fB\-\-help\fR
  210. Show program usage text.
  211. .SH ENVIRONMENT VARIABLES
  212. .PP
  213. .TP
  214. \fBVIDEOHUB_HOST\fR
  215. Set the device host name.
  216. .TP
  217. \fBVIDEOHUB_PORT\fR
  218. Set the device port.
  219. .SH EXAMPLES
  220. .PP
  221. To get a quick start here are some example command lines.
  222. .nf
  223. # Rename video output
  224. videohubctrl -h sdi --vo-name 8 "Output 8 - test"
  225. videohubctrl -h sdi --vo-name "Output 8 - test" "Output 8"
  226. # Rename video input
  227. videohubctrl -h sdi --vi-name 4 "Windows 4 HD"
  228. videohubctrl -h sdi --vi-name "Windows 4 HD" "CPlay4"
  229. # Lock and then unlock output 16 (unlock assumes that the port is
  230. # named Output 16). The host name is set via env variable.
  231. export VIDEOHUB_HOST=sdi
  232. videohubctrl --vo-lock 16
  233. videohubctrl --vo-unlock "Output 16"
  234. # Set two outputs to receive from the same input using port names
  235. videohubctrl -h sdi --vo-input "Output 8" "Windows 4 HD"
  236. videohubctrl -h sdi --vo-input "Output 7" "Windows 4 HD"
  237. # Run several commands at once
  238. # Rename video input 11 and 12
  239. # Rename video output 5,
  240. # Set output 5 to receive from input 12
  241. # Lock output 5
  242. videohubctrl --host sdi \\
  243. --vi-name 11 "Test input" \\
  244. --vi-name 12 "Playout input" \\
  245. --vo-name 5 "Encoder h264" \\
  246. --vo-input 5 12 \\
  247. --vo-lock 5
  248. # This fails. It tries to use name that is not previously configured.
  249. videohubctrl -h sdi --vo-name 1 "Test output" \\
  250. --vo-name "Test output" "Other name"
  251. .fi
  252. .SH SEE ALSO
  253. See the README file for more information. If you have questions,
  254. remarks, problems or you just want to contact the developer, write
  255. to:
  256. \fIgeorgi@unixsol.org\fP
  257. .TP
  258. For more info, see the website at
  259. .I http://georgi.unixsol.org/programs/videohubctrl/
  260. .SH AUTHORS
  261. Written by Georgi Chorbadzhiyski <\fBgeorgi@unixsol.org\fR>
  262. .SH LICENSE
  263. videohubctrl is released under MIT license.