Detecting and Connecting to IP Cameras

IP Based Cameras including Onvif compliant and proprietary systems
Post Reply
User avatar
ZerOne
Site Admin
Posts: 108
Joined: Sun Dec 13, 2020 8:21 am

The aim for this activity is to research and develop potential methods to reduce the time required to install a CCTV camera onsite by a technician.
Camera installation time can be divided in to physically fitting the camera, configuring the camera, configuring the recording system (NVR) to connect to the camera, and tuning the camera optics (Such as position, zoom, focus).

This activity will require researching the following,
a. Potential protocols and or methods that can be utilised to remotely (off site - automatically) configure a camera (such as configuring the IP address, network settings, video / audio streams, colour contrast, etc).

b. Potential protocols or methods that can be used to automatically detect a camera, and perform the majority of the recording system (NVR) side configuration such as camera location, IP address, area allocation, camera authentication, and user permissions)

c. Potential protocols or cost effective methods that can be utilised to remotely tune a camera, such as its position, zoom, and focus).
User avatar
ZerOne
Site Admin
Posts: 108
Joined: Sun Dec 13, 2020 8:21 am

The Experiments and methodology for this activity can be broken down in to 3 distinct sub activities,

a. Discovery and or development potential camera configuration protocols.
This includes researching existing multi vendor IP camera protocols such the use of ONVIF, PSIA, as well as configuring the camera directly via HTTP POST / GET calls directly to the cameras web interface if available.

b. Investigate methods to allow for automatic camera discovery
This includes researching existing IP camera discovery protocols such as SNMP, ICMP, WS-Disovery, and other potential network discovery protocols.

c. Investigate methods to remotely tune cameras (such as position, zoom, focus)
User avatar
ZerOne
Site Admin
Posts: 108
Joined: Sun Dec 13, 2020 8:21 am

The observed results of this activity can be broken down in to 3 distinct sub activities,


a. Discovery and or development potential camera configuration protocols.
This included researching existing multi vendor IP camera protocols such the use of ONVIF, PSIA, as well as configuring the camera directly via HTTP POST / GET calls directly to the cameras web interface if available.

During researching and development of this phase, it was found that the small batch of sample cameras that were available for testing, no cameras supported any PSIA protocols.

Onvif was advertised as being supported by all of the sample cameras, however the level of compliance to the ONVIF protcol was found to be problematic.
Using the example of stream configuration, nearly all of the sample cameras did not properly advertise H265 and H264 stream settings via the ONVIF protocol correctly, with some advertising H265 streams as being configured as H264.
This resulted in problems diagnosing stream recording issues (whereby H265 stream re-encoding required massive amounts of CPU), with the system unable to detect, nor correct the problem.
Other encountered problems included non standard compression settings, (Configured via an unsigned INT value), with some cameras using a percentage compression value (0% = No Compression, 100% = Max compression), and other cameras using custom values (1 = Best, 5= Worst).


b. Investigate methods to allow for automatic camera discovery
This included researching existing IP camera discovery protocols such as SNMP, ICMP, WS-Disovery, and other potential network discovery protocols.

With the advertised support for the Onvif protocol for our small batch of sample cameras, the Onvif WS-Discovery protocol was tested and found to work well for the majority of cameras whereby the default IP settings allowed for DHCP configuration.

Unfortunately, upon completion of the sub active 2a, the IP camera chosen to be supported utilised a default static IP address, that did not allow for WS-Discovery if performed on a different subnet.

The solution to this was to create a virtual NIC, configured on the subnet as the default camera subnet, with a PING command to detect the connection of any devices using the IP cameras default IP address.

Once a matching IP address has been detected, further tests were conducted via HTTP to query the device to determine if a defaulted camera had been connected to the network.


c. Investigate methods to remotely tune cameras (such as position, zoom, focus)
A number of cameras in our sample range included remote Pan / Title and or Zoom capabilities.

Upon testing a number of cameras using the ONVIF protocol, it was concluded that it was possible to remotely tune a camera for a specific need.
Of particular use was the remote focus function, which was determine to save significant amounts of technician time when deploying a camera on site, as this step was found to be the most time consuming, and fiddly process for a technician.

The location / position of the camera is often easily made by the technician without viewing the resulting stream, when fitting the camera, however focusing a camera would require a technician to be elevated and in very close proximity of the camera (either up on a ladder, or elevated platform), which often precluded the ability to view the changes and result of the focus adjustments.

The implementation of remote focus allows for systems to attempt to focus the camera, or the System operator to make minor adjustments to focus based on ambient temperature, or other environmental factors.
User avatar
ZerOne
Site Admin
Posts: 108
Joined: Sun Dec 13, 2020 8:21 am

The resulting conclusion of this activity was that although it is nearly impossible to determine a cameras make / model via the Onvif protocol, it was possible to obtain enough basic Onvif information from the non-compliant Onvif cameras to allow for basic camera recording functionality.

Unfortunately, problems existed when attempting to implement some of the more advanced functions such as edge processing of camera detected motion detection, as well as dynamic configuration of camera streams.

The results of this activity however have allowed for the a system to overcome many of the limitations present when using such cameras, allowing for some basic level of integration.

Further improvements could include prompting the installer on how best to configure the camera to work with the a system, (Such as displaying optimal video stream settings that should be configured via the Cameras proprietary software / user interface).
Post Reply

Return to “IP Camera Discussion”