ptz-visca

Send serial or UDP VISCA commands to control Sony PTZ cameras.

15|4|Updated Apr 18, 2026
One-click install
npx skills add https://github.com/damionrashford/media-os --skill ptz-visca
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ptz-visca
Source: https://github.com/damionrashford/media-os/tree/main/skills/ptz-visca
Command: npx skills add https://github.com/damionrashford/media-os --skill ptz-visca

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Controls Sony VISCA PTZ cameras by sending serial or UDP VISCA commands to pan, tilt, zoom, focus, exposure, and white balance.

Core Features & Use Cases

  • Support for serial and VISCA-over-IP transports to drive PTZ cameras across model families (Sony BRC/SRG/FR7, PTZOptics, AVer, Panasonic AW, etc.).
  • Command set includes pan/tilt, zoom, focus, presets, home/reset, power, and raw packet access, with optional dry-run for safety.
  • Scriptable automation and production integrations with OBS/vMix, enabling hands-free live camera control.

Quick Start

Run the viscactl.py script to pan-tilt a camera and optionally stop after a duration.

Frequently Asked Questions about ptz-visca

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate PTZ camera control using VISCA over IP in Python?

You can control PTZ cameras by executing Python scripts that build and send VISCA packets over UDP on port 52381 or via serial connection. This supports scripted pan, tilt, zoom, focus, exposure, and white balance automation.

Can I use VISCA over IP to control Sony, PTZOptics, and AVer PTZ cameras?

Yes, VISCA commands drive Sony BRC/SRG/FR7, PTZOptics, AVer, Panasonic AW, Bolin, Avonic, Lumens, Marshall, and Canon CR-N cameras. The interface sends serial or UDP VISCA packets to manage pan, tilt, zoom, and presets across these model families.

How do I send raw VISCA packets to a PTZ camera for custom commands?

Send raw VISCA packets to a PTZ camera using the raw packet access feature in the viscactl script. This allows direct serial or UDP transmission of custom command bytes beyond the standard pan, tilt, and zoom functions.

Does this Python VISCA tool require pyserial for serial camera connections?

pyserial is optional for serial VISCA connections; UDP VISCA-over-IP on port 52381 works without extra dependencies. The tool builds VISCA packets and supports both transports for driving PTZ cameras.

What is the best way to integrate PTZ camera presets with OBS or vMix?

Integrate PTZ camera presets with OBS or vMix by scripting VISCA commands through Python automation. This enables hands-free live production by triggering preset recalls, pan, tilt, and zoom actions directly within your broadcast workflow.

Can I safely test VISCA camera movements without risking abrupt stops?

Yes, you can safely test VISCA camera movements using the optional dry-run feature and the stop command. Dry-run validates packet generation without transmission, while the stop command safely halts active pan, tilt, or zoom motion.