Virtual Cameras in Savoy Video WebEngine

 

A single camera with PTZ capability can be configured to appear as up to 8 virtual cameras.  The PTZ camera is controlled to cycle through a series of presets, each of which corresponds to a virtual camera.  During the switching from one preset to the next, the input from the camera is turned off, and once the camera movement has settled, the recording is selectively turned on for the corresponding virtual camera.  In effect, the common video input from the PTZ camera is ‘sorted’ into N streams, each represented by a virtual camera.

 

The switching among the virtual cameras is transparent to any of them, in that they won’t record motion simply due to the switching.  Obviously, however, each virtual camera is only recording for a fraction of the time.

 

This is particularly suitable for monitoring quiet environments where motion is a rare occurrence.  Suppose, for example, a PTZ camera in a lobby area of a big building is intended to monitor several doors in the lobby.  Rather than a single wide view that includes all of the doors, set up a group of virtual cameras, each having a tight view of each door.  Searched for motion on any of the doors can be performed as if it were a real camera.

 

Other applications is to align several virtual cameras to present a single panorama view as shown below:

 

Configuring a Group of Virtual Cameras

First, the cable from the PTZ camera must be split into N cables that connect to a group of camera input connectors.  Low cost distribution panels are available to do this at no signal loss.

 

Second, establish a group of N presets for the various camera views using the Preset buttons on the title bar of the PTZ camera.

 

Third, deploy a rule set to control the switching of the PTX camera.  These rules will evolve as we add more capability, but to give a sense of the logic, we create a Boolean named VCams::Enabled, and we use the Video device named Video100A together with the PTZ device named PTZ100A1 and we have the following rule set:

 

Video100A DoneWith1 | PTZW100A1 Preset=2;

Video100A DoneWith2 | PTZW100A1 Preset=3;

Video100A DoneWith3 | PTZW100A1 Preset=4;

Video100A DoneWith4 | PTZW100A1 Preset=1;

VCams::Enabled True | Video100A Virtual=DoneWith,2000,5000,

1,900,

2,900,

3,900,

4,900

~ Video100A Virtual=;

 

To accomplish this, we need additional control over the compression board and this is provided by an assertion called ‘Virtual’ defined as follows:

            Virtual=Assertion,MinMsec,MaxMsec,

Cam1,DelayMsec1,

Cam2,DelayMsec2

CamN,DelayMsecN;

 

Which performs the following:

  1. Selects Cam1 as exclusive input
  2. Waits for DelayMsec1 milliseconds,
  3. Captures video for MinMsec up to MaxMsec depending on detected motion
  4. Asserts Assertion appended by numeric 1
  5. Repeat above for camera 2… (if camera N, repeat for camera 1)

 

 

 

The DelayMsec1can be adjusted to suit the settling time of the PTZ movement, which may not be the same throughout the cycle.