PTZ Control
Meridian VMS provides full pan-tilt-zoom (PTZ) control for ONVIF-capable cameras. Operators can control cameras from the Live View interface using on-screen controls, keyboard shortcuts, USB joysticks, or professional CCTV keyboards.
ONVIF PTZ
Section titled “ONVIF PTZ”PTZ commands are sent to cameras via the ONVIF PTZ service. When a camera is added with ONVIF discovery or manual ONVIF configuration, its PTZ capabilities are detected automatically.
Supported Operations
Section titled “Supported Operations”| Operation | Description |
|---|---|
| Continuous Pan | Continuous horizontal movement (left/right) at variable speed |
| Continuous Tilt | Continuous vertical movement (up/down) at variable speed |
| Continuous Zoom | Continuous zoom in/out at variable speed |
| Stop | Stop all PTZ movement |
| Absolute Move | Move to a specific pan/tilt/zoom position |
| Relative Move | Move by a relative offset from current position |
| Preset Recall | Move to a saved preset position |
| Preset Save | Save the current position as a named preset |
| Home | Return to the camera’s home position |
Speed Control
Section titled “Speed Control”PTZ speed is adjustable from 0.1 (slowest) to 1.0 (fastest). The speed applies to continuous pan, tilt, and zoom operations. Higher speed values result in faster camera movement.
On-screen controls use a virtual joystick where distance from center determines speed — moving the joystick slightly produces slow movement, while pushing it to the edge produces full-speed movement.
On-Screen Controls
Section titled “On-Screen Controls”The PTZ control panel is available in Live View when viewing a PTZ-capable camera. Click the PTZ button on the tile toolbar to open the control overlay.
Control Elements
Section titled “Control Elements”| Control | Description |
|---|---|
| Directional pad | 8-direction movement (pan/tilt combinations) |
| Zoom slider | Zoom in/out with a vertical slider |
| Speed control | Adjust movement speed |
| Preset list | Dropdown of saved presets with recall buttons |
| Home button | Return to the home position |
Keyboard Shortcuts
Section titled “Keyboard Shortcuts”PTZ cameras can be controlled from the keyboard when a PTZ-enabled tile is selected in Live View:
| Key | Action |
|---|---|
| Arrow Left | Pan left |
| Arrow Right | Pan right |
| Arrow Up | Tilt up |
| Arrow Down | Tilt down |
| + / = | Zoom in |
| - | Zoom out |
| Space | Stop all movement |
| Home | Go to home position |
| 1-9 | Recall preset 1-9 |
Hold Shift with arrow keys for slower (fine) movement. Hold Ctrl with arrow keys for faster movement.
USB Joystick (Gamepad API)
Section titled “USB Joystick (Gamepad API)”Meridian VMS supports USB joysticks and gamepads for PTZ control via the browser’s Gamepad API. Any HID-compliant joystick is supported — no drivers or plugins required.
Axis Mapping
Section titled “Axis Mapping”| Joystick Axis | PTZ Action |
|---|---|
| Left stick X | Pan (left/right) |
| Left stick Y | Tilt (up/down) |
| Right stick Y or Trigger | Zoom (in/out) |
Joystick deflection is proportional — small movements produce slow PTZ speed, full deflection produces maximum speed. The dead zone is configurable to prevent drift.
Button Mapping
Section titled “Button Mapping”| Button | Action |
|---|---|
| Button 1 (A) | Recall preset 1 |
| Button 2 (B) | Recall preset 2 |
| Button 3 (X) | Recall preset 3 |
| Button 4 (Y) | Go to home position |
| Left bumper | Previous camera in grid |
| Right bumper | Next camera in grid |
Configuration
Section titled “Configuration”Joystick settings are available at Settings > Controls > Joystick:
| Setting | Default | Description |
|---|---|---|
| Enable Joystick | On | Master toggle for joystick input |
| Dead Zone | 0.15 | Minimum axis deflection to register movement (0.0-0.5) |
| Sensitivity | 1.0 | Speed multiplier for joystick input (0.1-2.0) |
| Invert Y | Off | Invert tilt direction (push forward = tilt down) |
Uniview KB1100 CCTV Keyboard
Section titled “Uniview KB1100 CCTV Keyboard”Meridian VMS supports the Uniview KB1100 professional CCTV keyboard, a rack-mountable controller with a 3-axis joystick, number pad, and function buttons. The keyboard communicates over a reverse-engineered UDP protocol.
Connection
Section titled “Connection”The KB1100 sends UDP packets on port 60000. Configure the keyboard’s target IP to the management server address. The management server translates KB1100 commands into ONVIF PTZ calls.
KB1100 Controls
Section titled “KB1100 Controls”| Control | PTZ Action |
|---|---|
| 3-axis joystick | Pan (X), tilt (Y), zoom (twist) |
| Number pad + Enter | Enter camera number to select |
| Preset button + number | Recall preset by number |
| Set + number | Save current position as preset |
| Menu | Toggle PTZ control panel |
| Mon button | Select monitor/grid tile |
Packet Format
Section titled “Packet Format”The KB1100 uses a fixed-length UDP packet:
Offset Length Description0x00 2 Header (0xA5 0x01)0x02 1 Command type0x03 1 Joystick X axis (0x00-0xFF, center 0x80)0x04 1 Joystick Y axis (0x00-0xFF, center 0x80)0x05 1 Zoom axis (0x00-0xFF, center 0x80)0x06 2 Button state bitmask0x08 1 ChecksumPelco-D Keyboards
Section titled “Pelco-D Keyboards”Other CCTV keyboards that use the Pelco-D protocol (serial RS-485 or TCP/IP) are also supported. Configure the serial port or TCP endpoint in Settings > Controls > CCTV Keyboard:
| Setting | Description |
|---|---|
| Protocol | Pelco-D or Pelco-P |
| Connection | Serial port path (e.g., /dev/ttyUSB0) or TCP address |
| Baud rate | Serial baud rate (default: 9600) |
| Camera mapping | Map Pelco address numbers to Meridian cameras |
Camera Presets
Section titled “Camera Presets”PTZ presets save specific camera positions for quick recall.
Managing Presets
Section titled “Managing Presets”From the PTZ control panel:
- Move the camera to the desired position.
- Click Save Preset and enter a name (e.g., “Gate Entrance”, “Parking Overview”).
- The preset is saved on both the camera (ONVIF) and in Meridian VMS.
Presets are recalled from:
- The preset dropdown in the PTZ control panel
- Keyboard number keys (1-9)
- CCTV keyboard number pad
- Alarm definitions (move to preset on alarm trigger)
- Home Assistant
meridian.ptz_commandservice
Preset Tours
Section titled “Preset Tours”Configure a preset tour to cycle through multiple presets automatically:
| Setting | Description |
|---|---|
| Presets | Ordered list of presets in the tour |
| Dwell time | How long to stay at each preset (seconds) |
| Speed | Movement speed between presets |
| Loop | Repeat the tour continuously |
API Reference
Section titled “API Reference”| Method | Endpoint | Description |
|---|---|---|
POST | /api/cameras/{id}/ptz | Send a PTZ command (pan, tilt, zoom, stop) |
GET | /api/cameras/{id}/ptz/presets | List saved presets |
POST | /api/cameras/{id}/ptz/presets | Save a new preset |
POST | /api/cameras/{id}/ptz/presets/{preset}/recall | Recall a preset |
DELETE | /api/cameras/{id}/ptz/presets/{preset} | Delete a preset |
POST | /api/cameras/{id}/ptz/home | Move to home position |