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

Управление 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 дополняют эти протоколы, а также как управлять не только камерами, но и видеомикшерами — ключевыми элементами комплексной видеосистемы.