В настоящее время я работаю над проектом с камерами Axis 3046-V (прошивка 8.40.1 и Windows 10).Используя Vapix версии 3 и модуль 'request' в Python, мне удалось реализовать программное обеспечение на Python (3.6) для подключения к камерам, их открытия и записи с заданной пользователем частотой кадров, разрешением и сжатием.Однако я изо всех сил пытаюсь управлять функциями PTZ камер.Снова используя 'request', мне удалось запросить Properties.PTZ.PTZ
и Properties.PTZ.DigitalPTZ
, которые, кажется, доступны для моих камер, и я успешно включил PTZ и разблокировал его с помощью
request.get("http://CAMERA_IP//axis-cgi/param.cgi?action=update&PTZ.ImageSource.IO.PTZEnabled=true&PTZ.Various.V1.Locked=false", auth=AUTHENTIFICATION, stream=True)
Теперь я могу запроситьпозиция с
request.get("http://CAMERA_IP//axis-cgi/com/ptz.cgi?query=position", auth=...)
и я получаю ответ b'pan=0.00\r\n\ntilt=0.00\r\nzoom=1\r\n
.
Из информационного раздела ptz.cgi я знаю, что доступны 'pan' и 'tilt'комманд, как
request.get("http://CAMERA_IP//axis-cgi/com/ptz.cgi?info=1camera=1", auth=)
дает ... pan=[abspos]\r\ntilt=[abspos]\r\n
.... Если я правильно понимаю Vapix Pan Tilt Zoom API, раздел 3.4.1 Управление PTZ правильно, 'pan' и 'tilt' плавают между-180,0 и 180,0.Тем не менее, запрос
request.get("http://CAMERA_IP//axis-cgi/com/ptz.cgi?pan=150.0&camera=1", auth=...)
всегда не удается подключиться.Поставив квадратные скобки вокруг значения панорамирования, запрос
request.get("http://CAMERA_IP//axis-cgi/com/ptz.cgi?pan=[150.0]&camera=1", auth=...)
проходит, но доставляет содержимое b'Error\r\npan: invalid number: [150.0]\r\n'
.
С помощью 'tilt', 'rpan', ...похоже, что эти параметры не соответствуют значениям, указанным в HTTP API.
Я что-то делаю не так или что-то упустил?Буду очень признателен за помощь в этом деле.Большое спасибо!!
Редактировать: он показывает то же поведение в системе Windows 7.