Overview :
A POP or DVP Visual Circuits server consists on an NT based PC equiped
with up to 5 Mpeg2 decoding cards and 1, 2 or 3 hard drives. Each cards
consists of 4 independant Mpeg2 streams, thus up to 20 different streams
can be played at the same time from one server (PC). Streams can be
synchronized: this is very important for screen walls applications that
need to play several files with different contents at the same time.
For huge synchronized streams applications, several Visual Circuits
POP&DVP servers can be synchronized together, extending the number
of synchronized channels.
Instead of controlling an external server, this MxM can control a 4
channel Visual Circuit card in the SAME PC running Manager. In this
case, only one card can be controlled and a network circuit board must
be installed in the PC, even if it is not used, the MxM use network
communication layer to drive the Visual Circuit board. This feature
allow to create simple show control installation "All in one" PC, controller
and video player.
Here is a brief description of the VisualCircuits servers range:

POP4 : 1 decoding board, 1 HD IDE
POP8 : 2 decoding board, 1 HD SCSI
.jpg)
DVP8 : 2 decoding board, 1 HD SCSI
DVP12 : 3 decoding board, 2 HD SCSI
DVP16 : 4 decoding board, 2 HD SCSI
DVP20 : 5 decoding board, 3 HD SCSI
Medialon Manager software and mxmVisualCircuitsServer plug-in offer
a full control of the POP & DVP server over the ethernet. To make
the system work, the "Medialon Controler Service" must be installed
on each server you want to control (see MxM Installation
part ), and the mxmVisualCircuitsServer must be in the /mxm directory
of the Medialon Manager.
> Top
Installation
(MXM) :
Paragraphs overview :
1) VCC4Pro Driver Installation :
2) Additionnal software :
3) VCC4Pro Driver configuration :
4) Server and driver optimisation :
5) Video file format :
6) Medialon Controler Service Installation :
7) Medialon Controler Service Configuration :
8) HDVP server support
1) VCC4Pro Driver Installation :
The driver "Visual Circuits Mpeg2 drivers" (file VCC4Pro.sys in the
Winnt\System32\Drivers directory) must be installed in the video server
in order to work.
Every server delivered by Visual Circuits is fully configured and this
VCC driver is allready installed in the server. First of all you should
check if it is installed and if its version is the latest one. In order
to do this, follow one of the methods described below:
Control Panel,
Add/Remove Programs, "Visual Circuits Mpeg2 drivers" should be in
the installed programs list
Control Panel, click on "Devices", the "VCC4Pro" driver should be
started
If the "VCC4Pro" driver
is not installed, here is the procedure to install it:
Start the program
"Setup.exe" on the server
Choose "Full driver install"
Choose the type of card you have in the server: 4ReelTime Pro or RGB
(this is mentioned on the boards, but all servers are now equiped
with RGB boards)
Choose between PAL and NTSC
Choose between Composite or RGB output
Choose the number of boards present in the server
Choose the default directory for installation
Reboot the server
The latest version
of the "VCC4Pro" driver is 3.42: this is the version that must
be installed on the server to make it work.
2) Additionnal software :
Once the "Visual Circuits Mpeg2 drivers" is installed on the server, you
can launch the Vidserve application in "Startup Menu/VisualCircuits".
This software is very usefull to play different files on different outputs
to test new driver configuration.
.jpg)
Vcc4Pro is the NT driver installed in the server that control the
Mpeg2 cards, you can check its status in the ControlPanel/Devices. If
not started or not properly installed, the server will not work.
The VccReg Parameter Editor software allows to change the Vcc4Pro
driver parameters (you can find it in "Startup Menu/VisualCircuits") :
changing these parameters may affect the quality of the decoded video,
so only advanced users may change some of these values.
.jpg)
3) VCC4Pro Driver configuration :
All these parameters should not be changed excepted these:
Pal for changing
NTSC to PAL
InitOnOpen, to change the load function behavior (reinit or smooth
load on the video outputs on load)
DSizeOSD can be set to 0 if no GIF overlay is needed (sligh performance
increase if 0)
OldBoard: choosing between RGB or PRO cards
Standard Driver Configuration
(run VccReg Parameter Editor)
. General :
. AudioSync = 0
. DSizeOSD = 8000 (if 0, no Gif overlay)
. FastLoad = 1
. GenLock = 0
. GreenBarFix = 1
. InitOnOpen =
. 1 screen goes
to black after a load (no video signal on output)
. 0 the previously playing video stops (video signal still present
on output)
. Network = 0
. NumberOfChannel =
. 4 normal use
. 1 if using "4Reel RGB Plus" board: 1 stream only
. OldBoard = 1
or 0, depending on the card (RGB or PRO)
. Pal = 1 (or 0)
. Performance:
. AuxSkip= 0
. BufferSizePerChannel = 400000
. DMAMode = 0
. MaxDisks = 1, 2 or 3 depending on the hard drive number in the server
. MaxDMA = 40000
. MaxFileRead = 200000
. MinDMA = 10000
. MinFileRead = 100000
. NoCache = 1
. NonPagePoolSize =
. 1800000 for
a 1 card server
. 2800000 for a 2 card server
. 3800000 for a 3 card server
. 4800000 for a 4 card server
. 5800000 for a 5 card server
. NoReadBuff =
1 (very important for sync play, do not change its value)
. StarveCheck = 0
. Audio/Video:
. AudioFreq = 0
. DisableSync = 0
. DSizeAudio = 0
. FrameShift = 0
. MaxSyncFix = 0
. RampVolume =0
. SVideo = 1
. VideoHSize = 0
. VideoPicRate = 0
. VideoTypes = 0
. VideoVSize = 0
. Special:
. DSizePES = 3000
. LateLoadNext = 1
. MaxCards = 8
. MultiApp = 0
. XFerSpeed = 0
4) Server and driver optimisation :
The standard driver configuration should work in most cases,
but you can experience jerkyness or stuttering
when playing back some video files. In any cases, if
you have video stuttering during playback, the first thing
you have to check is the bitrates of the files. The total
bitrate of each card must not exceed 40 Mbits/sec
per card, and 15 Mbits/sec max par channel, for non
synchronized play. To playback synchronized, the total bitrate
of a card must be less than 24 Mbits/sec (for example
4 channels of 6Mbits/sec).
For test purposes you can start the Vidserve application
and play some files on different streams. The playback of
the video files with that application is usefull the check
the compatibility of the Mpeg files with the decoding boards,
in normal or synchro mode.
If you experience troubles in playing files with Vidserve,
re-install the Vcc4Pro driver as described in section 1),
and check the bitrates of the files: the bitrates must follow
the recommendations described in the "EncodingSpec.pdf"
documentation file.
5) Video file format :
The Visual Circuits servers can play several Mpeg 2 files
on their outputs. The file format must be Mpeg2 program,
or Mpeg2 video only, or audio only Mpeg Layer2. Please refer
to the "EncodingSpec.pdf" document which precisely describe
the file formats that can be played back by the server.
These recommendations must be followed very carefully
when encoding the files : if not, the play back (especially
in sync mode) might give bad performances: stutterings,
jerkyness ...
Allthough the servers can play audio only files, it is not
recommended to playback these types of files. The main reason
is that if you use this kind of files, you will not be able
to apply "Locate(timecode)" commands to the stream, and
not stream timecode will be returned from the server to
the mxm : please refer to the description of the mxm commands
for more details.
Remark
: Accents are not allowed in video file names.
6) Medialon Controler Service Installation :
The "Medialon Controler Service" is an NT based software
service that allows for Medialon Manager and mxmVisualCircuitsServer
to control one or several Visual Circuits video servers.
To make the system work , the "Medialon Controler Service"
must be installed on each video server to control with Medialon
Manager.
The correct version of "Medialon Controler Service"
to install is V1.12 or later.
To install the "Medialon Controler Service", run "setup.exe"
from the "Medialon VisualCircuits Server Controler" directory.
Once installed, you must reboot the server.
7) Medialon Controler Service Configuration :
You can find the "Medialon VC Server Setup" software
in the Control Panel. This allows to configure and monitor
the "Medialon Controler Service" Service.
In the "Control panel" of this software, both the Medialon
Controler Service and Vcc4Pro driver must be in the running
state in order for Manager to control a server.
The communicaton protocol is based on UDP/IP (User Datagram
Protocol), which is faster than an TCP/IP connection.

The "Server port" must be the same as the port chosen when
creating a device with Manager.
The "Streaming port" is not used yet.
"Max Session" limits the number of Manager Visual Circuits
devices connected to the server.

The "Control" tabsheet allows to monitor and start/stop
either the video driver or "Medialon Controler Service"

The "Software" tabsheet allows to launch the "FrameIndexer"
software and to specify a timecode mode.
1) "Use internal timecode from video file": recommended
option
Using this option, the Manager timecode of a stream will
match exaclty to the internal timecode of the video Mpeg
file. This timecode may not start at "00:00:00/00" depending
on what was configured during the encoding session. As
recommended by VisualCircuits in the "EncodingSpec.pdf"
file, video Mpeg should be encoded with the internal timecode
starting at "00:00:00/00".
2) "Use timecode starting at "00:00:00/00"
This option can be used if the Mpeg files do not have internal
timecode starting at "00:00:00/00", but the timecode returned
in Manager will not be correct if using the LoadNext function.
This option should not be used, unless you use the video
server with no LoadNext function call.
The "FrameIndexer" software allows to generate an
.mtc file based on an .mpg file, that will be used when
asking for a locate command with the mxmVisualCircuitServer,
or with positracking purposes.

8) HDVP server support
The "Medialon Controler Service" does support HDVP servers
control since version 1.12 and mxmVisualCircuitsServer version
1.2.0.
There are restriction using HDVP servers with the mxmVisualCircuitsServer,
the listed mxm function are not supported:
. Locate not supported
. GetFileInfos not supported
. SetSpeed not supported
. LoadGifDisplay not supported
. GifDisplay not supported
. GifDisplay not supported
. SetXYMix not supported
. SetupSync not supported
. VideoGenlock not supported
The timecode of each video stream returned in Manager represent the
real internal video file timecode, thus it might not start at 00:00:00/00".
This depends on the configuration chosen during the encoding process.
> Top
Creation (Device) :

.IPAddress: address of the server to control
.Server Port : server UDP listening port (this value must be
the same as the one chosen with "Medialon VC Server Setup"
in the Configuration Panel of the video server machine)
.Device Port : local computer UDP listening port
Note: for HDVP servers, availables streams are "1", "5", "9"
and "13" depending on the hardware configuration (4 HDFocus decoding
board max in a server)
Here is an example of an installation with 2 DVP 8 servers, 2 device
of 4 streams each control the first DVP server, and 1 device of 8 streams
controls the second DVP server
> Top
Commands (List Of) :
SetClipPath
:
Description
: To change the directory path of the server where
video files are stored.
Parameters :
ClipPath : [Type : String] : New path name
Usage : the ClipPath variable contains the
new clip path after this command completion.
GetClipList
:
Description
:To retreive the video file list of the chosen directory
Parameters :
No parameters
Usage : the ClipList variable contains the
video clip list after this command completion.
Remark
: Accents are not allowed in video file names.
Load
:
Description
: To prepare a video file to be played on an output
Parameters :
Stream: [Type : Enum] : video output affected by
the command
FileName: [Type : String] : video file name to
load
Usage : the variable Stream(X) of each concerned
stream of the device turns to "Loaded" and StreamTime(X)
turns to "00:00:00/01" if the files are correctly loaded.
Remark
: Accents are not allowed in video file names.
Play
:
Description
: To play the previously loaded video
Parameters :
Stream: [Type : Enum] : video output affected by
the command
Usage : the variable Stream(X) of each concerned
stream of the device turns to "Playing" and StreamTime(X)
starts to grow after this command completion
Stop
:
Description
: To stop the curently playing video
Parameters :
Stream: [Type : Enum] : video output affected by
the command
Usage : the variable Stream(X) of each concerned
stream of the device turns to "Stopped" and StreamTime(X)
after this command completion.
Locate
:
Description
: To seek to a given timecode in a playing file
Parameters :
Stream: [Type : Enum] : video output affected by
the command
Timecode: [Type : Time] : timecode to be reached
Usage : in order to use this command on a playing
file, the "MTC Indexed file" of the video files
must be first created. To do this you must start the "Frame
Indexer" software on the video server, from the "Medialon
VC Server Setup" utility software. Click on "Index File..."
to select a video file start the indexation process. Once
the process if finished, an indexed file with the .mtc
extension is created, and the locate function can be used
with the mxm. If the MTC is not present on the server,
the locate function call will turn the Stream(X)
variable to "Error"
SetSpeed
:
Description
: To choose the speed of a playing file
Parameters :
Stream: [Type : Enum] : video output affected by
the command
Speed: [Type : Enum] : Normal or Fast
Rewind:
Description
: To rewind a file
Parameters :
Stream: [Type : Enum] : video output affected by
the command
Note: function supported only by VisualCircuits HD servers.
Loop:
Description
: To set or unset a stream into loop mode
Parameters :
Stream: [Type : Enum] : video output affected by
the command
Loop: [Type : Enum] : On or Off
Usage : once a stream is configured to play loop,
the file will play again as soon as it will reach the
end. The StreamTime(X) variable will not
reseted when the playing file reaches the end.
LoadNext
:
Description
: To load a file while another file is still being
played; back to back switch is done between files
Parameters :
Stream: [Type : Enum] : video output affected by
the command
FileName: [Type : String] : file name of the next
video that will be played on the given output
Usage : in order to complete a back to back sequence
between 2 files, you must follow these steps:
First
load the "File1.mpg", then Play it.
Wait for about 2-3 second and apply the LoadNext command
on "File2.mpg".
As soon as the end of "File1.mpg" will be reached, "File2.mpg"
will start.
You
can create a sequence with multiple video files using
this command.
Remark
: Accents are not allowed in video file names.
Mute
:
Description
: To mute the audio output of a stream
Parameters :
Stream: [Type : Enum] : video output affected by
the command
Mute: [Type : Enum] : On or Off
Black:
Description
: To set a black display to a stream
Parameters :
Stream: [Type : Enum] : video output affected by
the command
Black: [Type : Enum] : On or Off
ColorBar:
Description
: Make a color bar appear on a stream
Parameters :
Stream: [Type : Enum] : video output affected by
the command
ColorBar: [Type : Enum] : On or Off
Reset:
Description
: To reset a channel
Parameters :
Stream: [Type : Enum] : video output affected by
the command
LoadGIFFile:
Description
: To load a .gif file from the ClipPath of the server
Parameters :
Stream: [Type : Enum] : video output affected by
the command
GIF File: [Type : String] : file name of the GIF
image to load
X Position: [Type : Integer] : video horizontal
coordinant of the GIF
Y Position: [Type : Integer] : video vertical coordinant
of the GIF
Transparent Level: [Type : Integer] : level of
transparent color (values from 0 to 15)
Transparent Color: [Type : Integer] : transparent
color value (values from 0 to 15)
Usage : For transparency of 1 color, set the level
to 0 and the color to a given value
Set
the color to -1 for all pixels equally transparency
according to the level
Set the color to -2 for background transparency
Set (X pos, Y pos) = (0, 0) for top left corner
Set (X pos, Y pos) = (-1, -1) to center horizontal
and vertical
Set (X pos, Y pos) = (-2, -2) for bottom right corner
GIFDisplay:
Description
: To show or hide the previously loaded .gif image
on a stream
Parameters :
Stream: [Type : Enum] : video output affected by
the command
GIFDisplay: [Type : Enum] : On or Off, to turn
on or off the display of the GIF overlay
SetXYMix:
Description
: To adjust the position, and transparent level of
the displayed .GIF image
Parameters :
Stream: [Type : Enum] : video output affected by
the command
GIF File: [Type : String] : file name of the GIF
image to load
X Position: [Type : Integer] : video horizontal
coordinant of the GIF
Y Position: [Type : Integer] : video vertical coordinant
of the GIF
Transparent Level: [Type : Integer] : level of
transparent color (values from 0 to 15)
Usage : refer to LoadGIFFile command for details
SetupSync:
Description
: This function allows to synchronize several devices
either concerning the same or different servers.
Parameters :
Type: [Type : Enum] : type of sync behavior of
the device: "None", "Master" or "Slave"
MasterDeviceName: [Type : String] : this variable
is to be used only when the type paramter is set to Slave.
Is this case, you have to enter the name of a Visual Circuits
server device that have been previously configured as
a master.
Usage : This command allows to configure a multiple
video server system to play synchonized. Here is an example
of the SetupSync command to sync together 3 DVP 16 servers,
playing in loop.
1)
Create a startup task containing these commands:
DVP1->SetupSync("Master",
" ")
DVP2->SetupSync("Slave", "DVP1")
DVP3->SetupSync("Slave", "DVP1")
DVP1 is now configured as the master server, DVP2
and DVP3 as the slaves.
2)
Load the desired files on each stream of each server.
The files must be the exact same length and bitrate
in order for the sync to work good, without any jerkyness
(refer to EncodingSpec.pdf")
3) Call these commands to set the servers in the loop
mode:
DVP1->Loop("All",
"On")
DVP2->Loop("All", "On")
DVP3->Loop("All", "On")
4)
Call these commands to start the loop&sync playback
of the files:
DVP1->Play("All")
DVP2->Play("All")
DVP3->Play("All")
VideoGenlock:
Description
: To genlock on an external video source
Parameters :
Stream: [Type : Enum] : video output affected by
the command
VideoGenlock: [Type : Enum] : On or Off, to turn
on or off the video genlock of a stream
SetVolume:
Description
: To change the volume on a desired stream
Parameters :
Stream: [Type : Enum] : video output affected by
the command
Volume: [Type : Integer] : volume value, from 0
(mute) to 10 (max volume)
AudioGenlock: [Type : Enum] : On or Off, to turn
on or off the audio genlock of a stream
ShutDown:
Description
: to restart of shutdown the video server
Parameters :
Mode: [Type : Enum] : "Restart" or "Shutdown"
Usage : calling this function with "Restart" will
cause the server to reboot, communication with the server
will be disrupted during the reboot time and will cause
the "Status" variable to turn to "TransmissionError".
After the server reboot Manger will automatically restart
the connection with the server and will be able to control
it again.
GetFileInfos:
Description
: to retreive usefull informations about a video file
(such duration, bitrate...)
Parameters :
FileName: [Type : String] : video file to get information
from
Usage : Calling this function will fill the following
device variables : "Infos_FileName", "Infos_FrameNumber",
"Infos_StartTimecode", "Infos_Duration", "Infos_ImageHSize",
"Infos_ImageVSize", "Infos_BitRate", "Infos_FileType".
This feature is available only if the corresponding ".mtc2"
(not .mtc) has been previously generated with the FrameIndexer
software.
> Top
Variables
(List Of) :
ClipPath:
Type : String.
Description : Contains the directory when video files are stored
Usage : SetClipPath command must be used to change the value
of this variable
ClipList :
Type : String.
Description : Contains the video file list of the current selected
server directory
Usage : GetClipList command must be used to retreive the video
file list from the server
Status:
Type : Enum.
Description : Current status of the server
Available Values :
"Unconnected"
: Medialon Manager and the video servers are not connected
"Ready " : the server is connected and anwsers correctly to the
mxmVisualCircuitsServer requests
"Transmission Error" : the server is not responding to the mxmVisualCircuitsServer
requests (communication is disrupted between Medialon Manager and
the video server)
Usage :
this variable should always be set to "Ready".
SyncType:
Type : Enum.
Description : Chosen sync mode for the device
Available Values :
"None" : no sync
is set for the device
"Master " : the device is configured as a master
"Slave" : the device is configured as a slave
Usage :
this variable is changed by using the SetupSync command
SlavedTo:
Type : String.
Description : Name of the master device to whom the device
is synchronized
Usage : this variable is changed by using the SetupSync
command
Stream 1 to X:
(number of stream set at creation)
Type : Enum.
Description : Return status from specified stream
Available Values :
"Ready" : the
stream is ready to play video files
"Playing" : the stream is currently playing a video file
"Stopped" : the stream is stopped
"Loaded" : the stream is loaded, ready to play the video
"Error" : the stream is in error, for example after a Load of a
video file not present in the server, or after a Locate but with
no MTC file created (see Locate function)
CurrentTime1 to
X: (number of stream set at creation)
Type : Time.
Description : Return current timecode from specified stream
Info_FileName:
Type : String
Description : current video file being asked for informations
Usage : this variable is changed by using the GetFileInfos
command
Info_FrameNumber:
Type : Integer
Description : number of frames of the current Info_FileName
video file
Usage : this variable is changed by using the GetFileInfos
command
Info_StartTimecode:
Type : Time
Description : internal timecode start value of the current
Info_FileName video file
Usage : this variable is changed by using the GetFileInfos
command
Info_Duration:
Type : Time
Description : timecode duration of the current Info_FileName
video file
Usage : this variable is changed by using the GetFileInfos
command
Info_ImageHSize:
Type : Integer
Description : horizontal size of the current Info_FileName
video file
Usage : this variable is changed by using the GetFileInfos
command
Info_ImageVSize:
Type : Integer
Description : vertical size of the current Info_FileName video
file
Usage : this variable is changed by using the GetFileInfos
command
Info_BitRate:
Type : Integer
Description : bitrate (in MBits/seconds) of the current Info_FileName
video file
Usage : this variable is changed by using the GetFileInfos
command
Info_FileType:
Type : Enum
: "Unknown", "Mpeg1system", "Mpeg2 program"
Description : Mpeg type of the current Info_FileName video
file
Usage : this variable is changed by using the GetFileInfos
command
> Top
Support
(Difference with previous versions) :
> Top
|