MCS Documentation
1. General
MCS (Media Channel Simulator) is part of the GEUTEBRÜCK GSCSDK. It
serves for 2 purposes:
- In binary form it is
part of the GeViScope SDK installation. The plugin resides within the directory
mediaplugins of the GeViScope software installation. The GeViScope server loads
the plugins of that directory on start. The MCS plugin simulates important
properties and functions of GeViScope media channels for the developer who
wants to use the GEUTEBRÜCK SDKs. This offers the comfortable possibility to
develop external software for the GeViScope DVR without having any DVSP4
compression hardware or physical image sources like IP cameras.
- In source format the
MCS serves as a programming sample for the most important aspects of the GEUTEBRÜCK
GSCRecPluginSDK. This part of the GSCSDK may be used to integrate external
image sources like IP cameras, grabber boards or TV cards into the GeViScope
environment.
2. MCS as media simulator for the GEUTEBRÜCK GSCSDK
The GSCSDK installs the following 4 components which belong to the MCS
plugin:
- The plugin itself
(MCS.DLL). It resides in the directory MEDIAPLUGINS
- A GeViScope setup
file MCSDefaultSetup.set. You may upload that setup to the GeViScope server to
have basic operation of the simulated GeViScope environment directly available.
So there is no need to deal with the details of the complex parametrization
possibilities of GeViScope at least in the very beginning.
- Some JPEG sample
image directories in the directory MCSIMAGES. The MCSDefaultSetup defines that
the first 4 channels of the 16 MCS channels get their images from these
directories. The other channels simulate images.
- The source code of
the MCS sample as Borland C++ Builder version 6.0 project.
MCS simulates:
- The operation of 16
video channels. It may either generate simulated images or read images from
directory sources.
- The generation of
actions which simulate video motion detections
- The control of the 16
simulated video channels with certain commands like camera off / on or the simulation
of an alarm driven text overlay
- The automatic quality
/ resolution changeover because of event driven recordings or for the GeViScope
feature dynamic live streaming (DLS)
The MCSDefaultSetup of the GeViScope server realizes the following basic
functions:
- Live access for all 16 MCS channels
- Event recording for
all 16 MCS channels. This is controled either by the internally simulated video
motion detection simulation or for testing with digital input contact simulations.
The following image shows the display of the 16 MCS
channels within GSCView based on the MCSDefaultSetup.set file of the SDK.
2.1 MCS parameters in GSCSetup
The MCS plugin sample is controlled in the hardware configuration dialog
of GSCSetup. You may change the following global (for the complete virtual MCS
device) and individual channel parameters.
Global parameters:
| Parameter
|
Default value
|
Meaning
|
| ImageDirectory
|
MCSIMAGES
|
The directory
which is used to fetch JPEG images as sources for the 16 MCS channels. Below
that root directory you may have 16 directories Ch0..Ch15. The MCS channels
read the JPEG images within these directories cyclically if the channel
dependent option SimulateImages is false.
|
| UseDefault
ImageDirectory
|
true
|
If
true the parameter ImageDirectory is ignored. Images are always read from the
path “GeViScope-Server directory”\MCSIMAGES
|
Local channel parameters
| Parameter |
Default value |
Meaning |
| ActivityFrequency
|
1
|
average
number of simulated VideoSensorAlarm actions per second per channel
|
| RandomActivities
|
true
|
simulated
activities are created randomly
|
| ShowImageInfo
|
true
|
the created
simulated images show image info like compression method or image counters.
Ignored if images are read from an image directory
|
| ShowTicker
|
true
|
turns
on/off the embedded live ticker of the produced simulated images. Ignored if
images are read from an image directory
|
| SimulateActivity
|
true
|
turns
VideoSensorAlarm simulation on/off
|
| SimulateImages
|
true
|
images
are either simulated or read from an image directory.
|
2.2 Simulation of channel control with GeViScope
actions
The MCS plugin
simulates some behaviour of real world video devices in relation to GeViScope
commands. The following 2 functions are supported for test purposes:
- Camera off/on. If MCS
receives these commands from GeViScope it will simulate the turn on/off of a
real camera by producing black images
- OSD text. By
receiving that command MCS will overlay the received text to the simulated
images it produces. This function is ignored in case of JPEG images which are
read from an image directory.
You may explore that
behavior by using the GeViScope client tool GSCPlcSimulator which is part of
the GeViScope installation. It allows to simulate any command which is
understood by GeViScope. For the functions above you need for example the following
actions (for channel 1 of the plugin):
- CameraOn (1)
- CameraOff(1)
- CameraRAWOutput (1,
"Hello world")
You should see the result in GSCView directly.
3. MCS source code
By analyzing the MCS
source code you may explore the implementation principles for the following
base tasks which are supported by the plugin SDK interface:
- Registration of media
channels within the GeViScope environment
- Streaming images from
a media source to the GeViScope server
- Using the high speed
MJPEG encoder of the plugin SDK to compress bitmap images
- Receiving stream
control information depending on internal events of the GeViScope system. These
notifications may be used to change video resolution, quality or image rates
inside the plugin.
- Sending messages from
the plugin to the GeViScope server
- Getting notifications
about GeViScope actions which may control the behaviour of the plugin
- Getting access to the
GeViScope setup. The MCS demonstrates how plugins may embed their setup
parameters into the setup environment of GeViScope
The GSCSDK installs the complete source code of the
MCS sample as Borland C++ 6.0 project.