Production Truck: PTZ camera cards and measured travel limits
Operational reference for ptz camera cards and measured travel limits in Production Truck.
PTZ camera cards and measured travel limits
Camera PTZ uses a compact row of selectable cards in the original camera-selector position. Swipe or scroll the row to reach additional cameras. Each card shows the camera name and scene (or sender), with full details in its tooltip. The small refresh icon reloads cameras. The original joystick, zoom/speed, USB and display-control arrangement is retained. Search and paging panels are removed; travel-limit settings and their status are inside a collapsed section in the existing settings column. Choosing another card stops/releases the old camera and requires Connect controls for the newly selected camera. Program/Preview cuts still do not retarget PTZ. Runtime USB selection/mapping and session recovery remain independent of the card row.
For a camera that supports VISCA position inquiries, open Pan / tilt travel limits after connecting NDI controls. Enter that physical camera's IP address and VISCA protocol/port/address, then Save feedback settings and Test position. Common settings are raw UDP 1259, raw TCP 5678 or Sony framed UDP 52381/address 1, but use the camera's actual configuration. Only literal IPs and unicast addresses are accepted. The adapter sends only Pan-tiltPosInq (81 09 06 12 FF for address 1); movement, stops and zoom remain direct NDI commands. There is no automatic subnet scan, network configuration change or new dependency. A working NDI PTZ sender does not imply it supports these position inquiries.
With limits disabled, jog and release at each desired boundary, then press Set left here, Set right here, Set upper here and Set lower here. The app stores measured encoder positions, not estimated positions or invented angles. Verify visually that the feedback belongs to the selected physical camera and the NDI movement directions match the taught labels. Do not teach a range that crosses the camera encoder's signed wrap. Check the verification box and Enable limits. A configurable inset stop margin (default 3 percent of the taught range) starts blocking before the taught edge. Saved coordinates are camera-specific counts; they are not degrees. Relearn after homing/remounting/resetting coordinate settings or changing feedback devices.
Limits are enforced in the backend for mouse, touch, keyboard, USB and direct local movement requests. A boundary hit sends an all-axis NDI stop before blocking that outward pan/tilt component. Remaining permitted axes may continue on the next accepted command; movement back into range remains allowed. The UI also clamps blocked directions and shows reached boundaries. Lost/malformed/slow feedback stops motion and rejects movement while enabled. Application-owned checks run between browser pulses (scheduled every 50 ms while moving; a query can take up to 150 ms). The existing half-second command watchdog and monotonic sequences remain; obsolete timer callbacks cannot start duplicate check loops. No separate service or network discovery scanner is installed; position reads belong to the connected control session.
Limits are optional and disabled until taught and explicitly enabled. Changing feedback or reteaching an enabled limit requires explicitly disabling it first; Disable limits deliberately restores unrestricted app movement. STOP leaves enabled limits intact while disabling USB movement. Disconnect releases the receiver. The private ptz_limits.json file lives beside station settings, uses source/input/UUID identity to avoid applying old limits to a replacement source, and is retained through code update/rollback. A corrupt saved file blocks movement rather than discarding protection. Restore it from backup if reported unreadable. Rolling back to a release before travel limits retains the file but does not enforce this newer feature.
These are application travel limits for this Truck's control path. Network delay, camera inertia, coordinate resets and other controllers/preset recalls can move the camera independently; use camera-native limits for a physical hard stop. Hardware position reporting, direction calibration and stopping distance need testing on the actual camera. No native Xbox/camera/Mac rendering was available for validation. Automated coverage includes all four boundaries, reversed encoder polarity, inset margin, reverse/diagonal/zoom movement, feedback failure/staleness, source identity, private persistence/corrupt files, direct requests, independent stop checks, timer cancellation, UDP/TCP/Sony framing/sequence matching and UI selection/configuration guards.
Protocol references: https://docs.ndi.video/all/developing-with-ndi/sdk/ndi-recv ; https://support.avonic.com/support/solutions/articles/80001052120-how-to-export-ptz-and-focus-positions- ; https://docs.ptzoptics.com/dev/guides/visca-api-getting-started/ ; https://pro.sony/support/res/manuals/E042/3230148ee903c204b912cca5c2c3f5aa/E0421001M.pdf .
Need more help with this?
Search a specific symptom, review related guides below, or prepare a report with the app version, operating system and exact error. Guides describe the documented release; installed versions and subscription access can differ.
Prepare a support report