Перейти к основному содержимому

Управление PTZ-камерами: VISCA, Pelco и их развитие в IP-среде

Одним из ключевых элементов современной видеосистемы, особенно в условиях студийной или инсталляционной съёмки, является PTZ-камера — поворотная камера, способная управляться дистанционно по протоколам, определяющим движение, фокус и экспозицию. В этом материале рассматриваются два распространённых "аналоговых" протокола — VISCA и Pelco, их классические реализации и современные IP-версии, а также их место в сравнении с более универсальным и уже известным нам стандартом ONVIF.


Классические протоколы: VISCA и Pelco через последовательные интерфейсы

До широкого распространения IP-сетей управление PTZ-устройствами осуществлялось по последовательным интерфейсам, в первую очередь — RS-232 и RS-485. Эти интерфейсы позволяют передавать управляющие команды по проводной линии на расстояния до нескольких сотен метров (особенно RS-485), что делает их надёжными в условиях промышленных и студийных установок.

VISCA: стандарт Sony для управления камерами

VISCA (Video System Control Architecture) — это протокол, разработанный компанией Sony в 1990-х годах для управления видеокамерами, в первую очередь — студийными и PTZ-устройствами. Изначально он был реализован на базе интерфейса RS-232, но позже адаптирован и для RS-485, что позволило подключать несколько камер к одному управляющему устройству по шине.

Как работает классический VISCA?

  • Устройства подключаются по последовательной шине (часто — в топологии «шина» или «звезда»).
  • Каждая камера получает уникальный адрес (от 1 до 7 в типичной реализации), чтобы контроллер мог адресовать команды конкретному устройству.
  • Команды передаются в виде байтовых последовательностей, например:
    • 81 01 06 01 FF — команда «включить зум вперёд».
    • 81 01 04 07 FF — «наклон вверх».
  • Протокол поддерживает управление:
    • поворотом (pan/tilt),
    • зумом,
    • фокусом,
    • предустановками (presets),
    • настройками экспозиции.

Пример подключения в студии

Представьте студию с 4 PTZ-камерами Sony. Все они подключены к одному RS-485 шлейфу. Контроллер (пульт с джойстиком) отправляет команды, указывая адрес камеры. Оператор выбирает камеру №3 и нажимает «Zoom In» — контроллер формирует соответствующую VISCA-команду, адресованную устройству с адресом 3. Остальные камеры игнорируют команду.

⚠️ Важно: VISCA не передаёт видео — это только протокол управления. Видеосигнал передаётся отдельно (например, по SDI).


Pelco-D и Pelco-P: стандарты для промышленного и безопасностного сектора

Протоколы Pelco-D и Pelco-P разработаны компанией Pelco и широко используются в системах видеонаблюдения и промышленных инсталляциях.

ХарактеристикаPelco-DPelco-P
ИнтерфейсRS-485RS-485
Скорость (бит/с)2400, 4800, 96002400–19200 (настраивается)
УправлениеБазовые PTZ-командыДополнительно — меню, настройки
СовместимостьУпрощённый, "жёсткий" форматБолее гибкий, с расширенными кодами
ПрименениеОхранные системы, промышленностьСовременные камеры с расширенными функциями

Как выглядит команда в Pelco-D?

PELCOD‑D — де‑факто стандарт управления поворотными камерами (PTZ), видеоматрицами и сопутствующим оборудованием по последовательному интерфейсу RS‑485. Протокол прост, детерминирован, широко поддерживается производителями CCTV/Video Surveillance оборудования.

1. Общие характеристики
ПараметрЗначение
Физический уровеньRS‑485 (полудуплекс)
ТопологияШина (multidrop)
Скорость (baud rate)2400 бод (классика), часто поддерживаются 4800 / 9600
Формат кадра8N1
Адресация1…255
Тип протоколаКомандный, master → slave

2. Формат кадра PELCO‑D

Каждая команда всегда состоит из 7 байт.

№ байтаНазначениеОписание
1SyncПостоянно 0xFF
2AddressАдрес устройства (1–255)
3Command 1Флаги команд (старшие)
4Command 2Флаги команд (младшие)
5Data 1Параметр 1 (обычно скорость)
6Data 2Параметр 2
7ChecksumКонтрольная сумма
Контрольная сумма
Checksum = (Address + Command1 + Command2 + Data1 + Data2) mod 256

Sync‑байт (0xFF) в расчёт не входит.


3. Поля Command1 и Command2
Command 1 (байт 3)
БитМаскаНазначение
70x80Зарезервировано
60x40Зарезервировано
50x20Clear Screen / AUX (редко используется)
40x10Set Preset
30x08Clear Preset
20x04Go To Preset
10x02Flip (переворот)
00x01Зарезервировано
Command 2 (байт 4)
БитМаскаДействие
70x80Pan Right
60x40Pan Left
50x20Tilt Up
40x10Tilt Down
30x08Zoom Tele (приближение)
20x04Zoom Wide (отдаление)
10x02Focus Near
00x01Focus Far

Команды могут комбинироваться установкой нескольких битов.


4. Поля Data1 и Data2
ПолеНазначениеДиапазон
Data1Скорость Pan (влево/вправо)0x00–0x3F
Data2Скорость Tilt (вверх/вниз)0x00–0x3F

Для Zoom / Focus обычно используется 0x00.


5. Типовые команды (таблица)
ДействиеCmd1Cmd2Data1Data2
Stop0x000x000x000x00
Pan Left0x000x40Speed0x00
Pan Right0x000x80Speed0x00
Tilt Up0x000x200x00Speed
Tilt Down0x000x100x00Speed
Zoom In0x000x080x000x00
Zoom Out0x000x040x000x00
Focus Near0x000x020x000x00
Focus Far0x000x010x000x00

6. Пресеты (Preset)
ДействиеCommand1Data2
Set Preset N0x10N
Clear Preset N0x08N
Go To Preset N0x04N

Data1 = 0x00


7. Примеры команд (HEX)

Пример 1: Поворот вправо, скорость 0x20, адрес 0x01

БайтЗначение
SyncFF
Addr01
Cmd100
Cmd280
Data120
Data200
ChecksumA1
FF 01 00 80 20 00 A1

Пример 2: Zoom In, адрес 0x05
FF 05 00 08 00 00 0D

Пример 3: Go To Preset 3, адрес 0x02
FF 02 04 00 00 03 09

8. Практические замечания
  • Протокол не подтверждает доставку — нет ACK/NACK.
  • Несколько команд подряд отправляются с паузой (обычно ≥10–20 мс).
  • RS‑485 требует корректного терминирования (120 Ом на концах линии).
  • Некоторые производители добавляют вендор‑специфичные команды, формально оставаясь совместимыми с PELCO‑D.

9. Где используется сегодня
  • PTZ‑камеры CCTV
  • Видеоэнкодеры с PTZ‑портами
  • Аппаратные контроллеры камер
  • Шлюзы RS‑485 ↔ IP (ONVIF / CGI / HTTP)

IP-адаптации: VISCA over IP и Pelco over IP

С переходом к сетевым видеосистемам возникла необходимость передавать управляющие команды не по последовательным линиям, а по IP-сети. Это позволило:

  • Упростить кабельную инфраструктуру,
  • Управлять камерами удалённо,
  • Интегрировать управление в ПО на базе TCP/UDP.

VISCA over IP

VISCA over IP — это инкапсуляция классических VISCA-команд в UDP-пакеты, передаваемые по сети. Камера получает пакет, извлекает байты команды и выполняет действие, как если бы она получила её через RS-232.

Как это работает?

  1. Контроллер (например, программный пульт на ПК) формирует байтовую строку VISCA.
  2. Эта строка помещается в UDP-пакет и отправляется по IP-адресу камеры на определённый порт (часто — port 52381).
  3. Камера принимает пакет, распаковывает команду и выполняет её.
  4. Ответ (если требуется) может быть отправлен обратно тем же путём.

Особенности:

  • Нет необходимости в отдельных последовательных линиях — управление и видео (например, по RTSP или NDI) идут по одному кабелю.
  • Совместимость с существующим ПО, написанным под VISCA.
  • Поддерживается многими камерами Sony, а также некоторыми устройствами от других производителей (в том числе — PTZOptics, HuddleCamHD).

Pelco over IP

Аналогично, Pelco over IP передаёт команды Pelco-D или Pelco-P в виде TCP- или UDP-пакетов. Некоторые производители реализуют это через промежуточные конвертеры (RS-485 to IP), другие — встроили поддержку напрямую в прошивку камеры.

Преимущества:

  • Удалённое управление камерами в распределённых системах (например, в залах большой площади).
  • Возможность интеграции с ПО видеонаблюдения (например, Milestone, Genetec), которое "понимает" Pelco.

Сравнение с ONVIF PTZ: универсальность против специализации

Хотя VISCA и Pelco остаются популярными, особенно в legacy-системах, ONVIF Profile T (и Profile S) предлагает универсальный стандарт управления PTZ-камерами, основанный на SOAP- и REST-подобных веб-сервисах.

КритерийVISCA / Pelco (классика и over IP)ONVIF PTZ
УниверсальностьПривязан к производителю/моделиКроссплатформенный стандарт
ИнтерфейсПоследовательный или UDP/TCPHTTP/HTTPS (веб-сервисы)
Формат командБайтовые строкиXML-сообщения (SOAP)
Поддержка метаданныхНетДа (состояние, события)
Интеграция с ПОТребует специфичного ПОПоддерживается большинством VMS
Настройка скорости/ускоренияОграниченнаяПодробная (pan/tilt speed, acceleration)
Поддержка пресетовДа, но проприетарноСтандартизировано

Когда что использовать?

  • VISCA over IP — если вы работаете с камерами Sony или совместимыми, и используете уже настроенную систему с джойстиками или ПО, ориентированным на VISCA. Пример: студия с 6 камерами, где режиссёр использует пульт Sony RM-IP10.
  • Pelco over IP — в системах видеонаблюдения или при интеграции с промышленными контроллерами. Пример: концертный зал, где камеры следят за сценой и управляются централизованно из диспетчерской.
  • ONVIF PTZ — когда важна совместимость между камерами разных производителей, а также интеграция с универсальными системами управления. Пример: конференц-система на базе камер Axis, Hikvision и Dahua — все управляются через единый интерфейс на базе ONVIF.

🔄 Важно: многие современные PTZ-камеры поддерживают одновременно несколько протоколов (например, ONVIF + VISCA over IP). Это позволяет использовать их в гетерогенных средах.


Заключение

Протоколы VISCA и Pelco, родом из эпохи последовательных интерфейсов, успешно адаптировались к сетевым реалиям через механизмы инкапсуляции в IP. Это обеспечило их долгую жизнь в профессиональных системах. Однако с развитием открытых стандартов, таких как ONVIF, наблюдается тенденция к унификации управления. Тем не менее, знание классических протоколов остаётся важным для работы с существующими инсталляциями и понимания логики построения систем PTZ-управления.

В следующих разделах мы рассмотрим, как веб-интерфейсы и API дополняют эти протоколы, а также как управлять не только камерами, но и видеомикшерами — ключевыми элементами комплексной видеосистемы.