Feature Request: Native HTTP PTZ and Zoom Control for CamHi Cameras in NX Witness 6.x
Overview
I would like to request a new feature for NX Witness 6.x: native PTZ, zoom and focus control for RTSP cameras using configurable HTTP commands, without requiring compatible ONVIF PTZ support.
My specific use case involves CamHi IP cameras. These cameras provide a working RTSP video stream, but their ONVIF PTZ implementation is not compatible with NX Witness.
After inspecting the camera's web interface and testing its control URLs, I identified HTTP commands that operate the camera's pan, tilt, zoom, focus and stop functions.
The goal is to make these commands available through the standard PTZ controls in the NX Witness Desktop Client, just as an operator would control a natively supported PTZ camera.
Current problem
At present, I can add the CamHi camera to NX Witness and use its RTSP video stream, but I cannot use the standard NX Witness PTZ interface to control its movement and zoom because its ONVIF PTZ implementation is incompatible.
The camera itself supports these functions through HTTP requests. Therefore, the limitation is not the absence of PTZ functionality in the camera, but the lack of a compatible integration between its HTTP control interface and NX Witness.
I would prefer not to rely on external web pages, browser shortcuts, separate applications or an independent control panel. The objective is to operate the camera directly from NX Witness.
Proposed feature
I propose adding a configurable HTTP PTZ command mechanism to NX Witness, allowing users to define the HTTP request associated with each native PTZ action.
Ideally, the configuration would allow users to specify:
- The HTTP command for pan left and right.
- The HTTP command for tilt up and down.
- Zoom in and zoom out commands.
- Focus adjustment commands, where supported.
- A stop command that is sent when movement ends.
- Authentication settings, such as HTTP Basic Authentication, if required by the camera.
- Configurable movement speed and command parameters.
- A suitable method for handling continuous movement and stopping safely when the operator releases the PTZ control.
The existing RTSP stream should remain unchanged. PTZ control should be handled separately through HTTP, preserving the normal video, recording and playback workflow.
Ideally, this functionality would support different camera manufacturers and HTTP command formats, rather than being limited to CamHi.
Example: CamHi HTTP PTZ commands
The following commands were identified by inspecting the camera's web interface. They are provided as practical examples to help evaluate the feasibility of this feature.
Test camera address: 192.168.2.175
HTTP port: 8080
Command endpoint:
/web/cgi-bin/hi3510/ptzctrl.cgi
The requests use -step=0 and -speed=45 in my tests.
Zoom out
http://192.168.2.175:8080/web/cgi-bin/hi3510/ptzctrl.cgi?-step=0&-act=zoomout&-speed=45
Zoom in
http://192.168.2.175:8080/web/cgi-bin/hi3510/ptzctrl.cgi?-step=0&-act=zoomin&-speed=45
Focus command: focusout
http://192.168.2.175:8080/web/cgi-bin/hi3510/ptzctrl.cgi?-step=0&-act=focusout&-speed=45
Focus command: focusin
http://192.168.2.175:8080/web/cgi-bin/hi3510/ptzctrl.cgi?-step=0&-act=focusin&-speed=45
Tilt down
http://192.168.2.175:8080/web/cgi-bin/hi3510/ptzctrl.cgi?-step=0&-act=down&-speed=45
Tilt up
http://192.168.2.175:8080/web/cgi-bin/hi3510/ptzctrl.cgi?-step=0&-act=up&-speed=45
Pan right
http://192.168.2.175:8080/web/cgi-bin/hi3510/ptzctrl.cgi?-step=0&-act=right&-speed=45
Pan left
http://192.168.2.175:8080/web/cgi-bin/hi3510/ptzctrl.cgi?-step=0&-act=left&-speed=45
Stop movement
http://192.168.2.175:8080/web/cgi-bin/hi3510/ptzctrl.cgi?-step=0&-act=stop&-speed=45
These examples omit authentication credentials intentionally. Authentication should ideally be configured securely in NX Witness rather than embedded in URLs.
The stop command is particularly important for directional movement. The integration should send the stop request when the operator releases a movement control, rather than allowing movement to continue unexpectedly.
Questions for the NX Witness team
- Is configurable HTTP-based PTZ control already supported in NX Witness 6.x, either natively or through an existing integration mechanism?
- Can the Video Source SDK, specifically the
CameraPtzManagerinterface, be used to implement a custom PTZ controller for cameras whose video is provided through RTSP? - Is there an officially supported way to associate a custom PTZ controller with an existing RTSP camera without replacing its video source?
- If this is not currently supported, could this feature be considered for a future release?
- Would it be possible to provide an official extension mechanism or technical guidance for integrating custom HTTP PTZ commands with the native PTZ interface?
Expected benefits
This feature would allow users to integrate a wider range of RTSP cameras into NX Witness, even when their proprietary HTTP PTZ controls are available but their ONVIF PTZ implementation is unsupported.
It could reduce the need for custom external applications and make the operator experience more consistent.
The same mechanism could also benefit other cameras and devices that expose PTZ controls through HTTP endpoints.
Conclusion
I would appreciate feedback from the NX Witness team on whether this functionality is technically feasible and which implementation approach you recommend.
I can provide the camera model, firmware information and additional test details if needed.
Thank you for considering this feature request.
Please sign in to leave a comment.
Comments
0 comments