Skip to main content

PTZ Trace on Blue Pill

PTZ Trace is a feature that simulates the operation of a PTZ (pan-tilt-zoom) camera using pre-recorded speed commands, as if a joystick is controlling it. The commands are usually recorded from an operator who previously maneuvered the camera's pan, tilt, and zoom axes with a joystick.

SKAARHOJ controllers that control VISCA cameras, as well as Panasonic, Canon XC protocol, Vaddio, and Sony's newer PTZ protocol through websockets, incorporate the PTZ Trace functionality as of IBC 2023.


  • Each trace has a linked preset bank. Typically, a camera will have 16 to 100 preset banks.
  • Maximum of 10 minutes recording time as a safety limit.
  • Unlimited speed steps.
  • Ability to record and playback Pan, Tilt, and Zoom axes.
  • Supports looped playback and ping-pong mode (reverse playback after reaching the end of the trace).
  • Allows insertion of user-wait commands during recording.
  • Provides individual end wait times for looped modes.
  • Recorded into the device core data space and stored between reboots.

How to use it

PTZ Trace is built into our default configurations and is accessible through the preset recall buttons. To start recording a trace, press and hold the preset button for 3 seconds. After one second, a stationary preset will be recorded, but if you continue to hold down the button for a total of 3 seconds, the button will light up red and the display will indicate "Recording". At this stage, use the joystick to maneuver the camera, and press the same button again to stop the recording.

Once a trace is saved on a preset button, the button turns blue. Pressing the button once arms the trace (amber button color), which recalls the associated preset and positions the camera at the start of the trace. Pressing the button again will commence the playback (green button color) with the display showing a count down timer.

Note: Features such as looping, ping-pong mode, wait times, and user waits are not yet integrated into the default configurations. We will update this documentation once these features become available.

Support on cameras

Below you will find a table with preliminary indications of support on a number of tested camera models:

Model Precision Reverse


Vaddio 12HD-SDI
Vaddio 30HD-SDI ⭐⭐⭐ Yes
Vaddio 40 UHD ⭐⭐⭐ Yes
Canon CR-N300 ⭐⭐ No Canon has their own trace function
Canon CR-N500 ⭐⭐ No Canon has their own trace function
Panasonic AW-UE150 ⭐⭐⭐ Yes Very good reverse playback despite having zoom adaptive pan and tilt!

Panasonic AW-UE70

⭐⭐ Yes Very good reverse playback despite having zoom adaptive pan and tilt!

BirdDog P200


Marshall CV730


Lumens VC-A61P








Sony BRC-X400

Yes Extremely impressive overall!

Avonic CM71-IP-W




AVer PTC310U


Minrray UV510A-S12-ST-IR


Notice: All cameras are capable of performing a meaningful trace playback, regardless of their ratings. A lower-rated camera can still deliver useful results. Please note that these are preliminary tests conducted under non-systematic conditions, primarily to assess the feasibility of the feature. We will provide updated and more comprehensive data in due course.

Technical Notes

PTZ Trace in SKAARHOJ controllers works by replaying pre-recorded pan, tilt, and zoom speed commands to the camera. The accuracy of the playback depends on multiple factors:

  • The response of the individual camera's motors to the same sequence of speed commands.
  • The latency of the camera's processor.
  • Network latency.
  • The combination of axes, the number of speed command changes, and the degree of their change. More radical changes can result in greater errors.
  • The level of zoom (greater zoom can lead to a worse perception of error).

Reverse playback (Ping-pong mode) issues

Most cameras tested perform exceptionally well on forward playback, meaning they tend to arrive at the same position consistently during playback. However, in reverse playback (ping-pong mode), substantial differences can be noticed. This is due to some cameras interpreting pan and tilt speed commands differently based on the lens' focal length (zoom). Reverse playback essentially involves sending the same speed commands but in reverse order and with inverted polarity. Since a speed command may set the camera in motion differently depending on the current zoom position, reverse playback often ends up in a different place, particularly if zooming was utilized in the process. While it's usually beneficial for a PTZ camera to adjust its pan and tilt speed based on zoom position, it can hamper reverse playback.

On the SKAARHOJ device core side, we strive to play back all speed commands as accurately as possible. The offset from the original timing is typically less than 1ms. However, we must also respect the minimum time required between commands sent to a given camera. Despite this, our tests suggest that the timing precision we achieve is more than sufficient to provide extremely accurate playback.