Genius Vision
日本語
  • Home
  • Products
    • NVR Subscription Edition
      • NVR Lite
      • NVR Enterprise (x64)
      • Community
      • Community (x64)
      • Hybrid Option
  • Services
    • Community Platform
    • Example System
    • ONVIF
    • Consultancy>
      • SDK
      • Remote Assistance
      • Software Modification
  • About Us
    • Track Records
    • Featured Installations
  • Documentation
  • FAQ
  • How to Buy
  • Contact Us
Example System / Generic Camera Driver Manual

[PDF]   [DOCX]   

Search by question:   

Generic Camera Driver Manual

Generic Camera Driver Manual

Overview

Supported Functionality

Introduction to CGI Arguments

Introduction to Dual Streaming

Dual Stream

PTZ

DIO / Motion

Generic Camera Driver Manual

Overview

Generic Camera Driver opens CGI commands and parameters required for camera-NVR integration to all users. In short, users by themselves can make Genius Vision NVR software support all available functionality to almost any IP camera, if the user have the knowledge of SDK documents or camera integration.

Generic Camera Driver is part of a bigger initiative called Genius Vision Community Platform that intend to improve global IP camera compatibility. By sharing IP camera connectivity information, you can contribute to the IP video community to help eveyone connecting to the same type of camera you're using. You also benefit from the knowledge shared by others. Visit our official website for more information: http://geniusvision.net/cp 

Supported Functionality

Following functions are supported by Generic Camera Driver:

  • Video streaming
  • Dual stream
  • PTZ
  • DIO (digital input or alarm / digital output or relay control)
  • Motion detection

Introduction to CGI Arguments

Many CGI commands require one or more arguments. All non-static arguments, e.g., pan/tilt/zoom values, should be provided as tokens so NVR can substitute them with user input from mouse, keyboard, or other input devices. Tokens must be strictly input in this format:

@{p1}

@{p2}

@{p3}

@{p4}

…

For example:

/config/ptz_move_cont.cgi?p=@{p1}&t=@{p2}

Introduction to Dual Streaming

Streaming configuration enables NVR software to acquire video streaming from cameras. There're 2 pages for streaming configuration; Steam 1 and Stream 2.

Stream 1

For recording. This is mandatory in most cases.

Stream 2

[optional] For live view only. It usually has a lower resolution to reduce the loading of NVR server. NVR displays Stream 2 automatically when appropriate.


StreamingMode

Select network protocol for streaming: HTTP or RTSP

RTSPPort

Network port for RTSP streaming. 554 for most cameras.

RTSP.UrlPath

URL path for RTSP streaming. Additional arguments may be required using the question mark (?).

Sample:

rtsph2641080p

HTTP.Codec

Select the video encoding that matches camera setting. Use IE to log into the camera to see the setting.

HTTP.UrlPath

URL path for HTTP streaming. Additional arguments may be required using the question mark (?).

Sample:

/stream/mjpg.cgi?profile=1

Dual Stream

Options for Stream 2 is exactly the same as Stream 1. Note that different URL paths (or different arguments) are required. Request the same video stream twice not only makes no sense and sometimes crash the camera. It's okay for Stream 1 and Stream 2 to use different streaming modes, i.e., HTTP for one and RTSP for the other.


PTZ

PTZ configuration enables users to control camera motors in NVR (usually with a mouse). Most motorized models have 3 axes; pan, tilt, and zoom. These kinds of camera are called "speed dome" in video surveillance industry. Some models have only 2 axes; pan and tilt, or rarely, one axis; zoom.

Speed domes have many different operation modes and different cameras support different modes. As of version <Upcoming> only "free" mode is supported. In free mode the camera can go any directions with 2 arguments provided: X, Y as pan and tilt respectively.

PTMode

Modes for pan/tilt. Cameras do not always support all modes. Please refer to camera SDK.

free: In this mode camera goes any direction with X, Y supplied.

click: Not supported yet.

4way: Not supported yet.

8way: Not supported yet.

Free mode must be used with a mouse or joystick. It provides 360° with continuously variable speed. When dragging mouse on player, the yellow arrow indicates the direction and speed.


Stop Commands

Stop Commands is mandatory for "free" mode and any other continuous mode. By "continuous", it means that the motor keeps moving after receiving moving commands, until receiving stopping commands.

StopAll

CGI command to stop all movements; pan, tilt, and zoom.

Sample:

/config/ptz.cgi?action=stop

StopPT

CGI command to stop pan and tilt. This is not used if StopAll is already provided.

Sample:

/config/ptz_move_cont.cgi?p=0&t=0

StopZ

CGI command to stop zoom. This is not used if StopAll is already provided.

Sample:

/config/ptz_move_cont.cgi?z=0

Axes

[optional] These are workaround options for axes issues.

InvertPan

Enable this if tilt control is upside down.

InvertTilt

Enable this if pan control is mirrored.

InvertZoom

Enable this if zoom control is reversed.

XYExchange

Enable this if pan and tilt are interchanged.

PT Mode: Free

These options are used only if "free" mode is selected for PTMode.

URL

CGI command for free mode pan and tilt. In this mode only one command is required for all directions.

Sample:

/config/ptz_move_cont.cgi?p=@{p1}&t=@{p2}

MinX

Minimum value for pan.

MaxX

Maximum value for pan.

MinY

Minimum value for tilt.

MaxY

Maximum value for tilt.


Continuous Zoom In/Out

These are required only if zoom is supported by camera.

ZoomCont

CGI command for continuous zoom. Continuous zoom usually uses one command for both zoom in and zoom out.

Sample:

/config/ptz_move_cont.cgi?z=@{p1}

ZoomCont.Min

Minimum value for zoom.

ZoomCont.Max

Maximum value for zoom.

Preset Points

These are required only if preset is supported by camera.

PresetNumber

Number of presets that camera supports.

PresetSet

CGI command to set current view as preset. One argument must be provided as preset No..

Sample:

/config/ptz_preset.cgi?name=@{p1}&act=add

PresetGoto

CGI command to recall preset point. One argument must be provided as preset No..

Sample:

/config/ptz_preset.cgi?name=@{p1}&act=go


DIO / Motion

Generic Camera Driver only supports cameras with CGI commands to poll DIO or motion states. States embedded in multipart HTTP stream cannot be read with Generic Camera Driver.

NumberOfInputs

Total number of digital inputs.

NumberOfOutputs

Total number of digital outputs.

PollInterval

Interval between each polling. DIO in NVR is more real-time with a short time. But some cameras can't withstand too frequent CGI calling and may hang or crash.

MotionPollURL

CGI command to get status of motion detection.

PatternMotion

Text pattern to match for motion detected.


Digital Inputs

Alarms or sensors.

GetStatus

CGI command to get states of digital inputs.

PatternOn

Text pattern to match for active digital inputs. One argument must be provided as port index if there're more than one ports.

Sample:

Input@{p1}=0

PatternOff

Text pattern to match for inactive digital inputs.

Sample:

Input@{p1}=1

Index

DIO ports are indexed differently in camera models. It's either 0 based or 1 based. Select the indexing system matches that of camera.

Digital Outputs

Relays or switches.

GetStatus

[optional] CGI command to get states of digital outputs. Can be omitted if inputs and outputs share the same CGI command.

PatternOn

Text pattern to match for active digital outputs. One argument must be provided as port index if there're more than one ports.

Sample:

Alarm Out@{p1} : Enable

PatternOff

Text pattern to match for inactive digital outputs.

Sample:

Alarm Out@{p1} : Disable

Index

DIO ports are indexed differently in camera models. It's either 0 based or 1 based. Digital outputs may be indexed independently or mixed with inputs. Select "GPIO" indexing system if they are mixed with inputs.

For example,

Outputs indexed independently looks like this:

Relay1, Relay2, Relay3...

Outputs mixed with inputs:

1:in, 2:in, 3:out, 4:in, 5:out...

SetOutputsOn

CGI command to set digital output on. One argument must be provided as port index if there're more than one ports.

Sample:

/cgi-bin/io/output.cgi?port=@{p1}&action=1

SetOutputsOff

CGI command to set digital output off.

Sample:

/cgi-bin/io/output.cgi?port=@{p1}&action=0

To verify DIO operation, use Tree View in left panel.

Copyright (C) by Genius Vision Inc., 2011-, all rights reserved. 前瞻視野股份有限公司 版權所有