====== Описание WEB-API UniServer AUTO. Плагин видеокамеры CAMERA. ======
===== Включение/отключение получения видеопотока от камеры =====
**Формат запроса к WEB интерфейсу плагина**
Наименование метода: **Enable**
Дополнительный параметр **Enable** может принимать значения **true** для включения обмена и **false** для отключения обмена.
Пример запроса: \\
**[[http://uniserver.vesysoft.ru:8123/core/plugins/Camera1/Enable?Enable=true&auth_user=user&auth_password=user|http://uniserver.vesysoft.ru:8123/core/plugins/Camera1/Enable?Enable=true&auth_user=user&auth_password=user]]**
Успешное выполнение команды подтверждается статусом ответа **200 OK**
** Формат запроса к опубликованным методам плагина **
Наименование метода для включения первой камеры: **Camera1_Enable**
В запросе используется один дополнительный параметр, который может принимать значения **true** для включения и **false** для отключения.
Пример запроса: \\
**[[http://uniserver.vesysoft.ru:8123/core/SendMsg?Name=Camera1_Enable&Value=true&auth_user=user&auth_password=user|http://uniserver.vesysoft.ru:8123/core/SendMsg?Name=Camera1_Enable&Value=true&auth_user=user&auth_password=user]]**
Успешное выполнение команды подтверждается статусом ответа **200 OK**
===== Получение всех параметров от плагина (состояние связи с камерой, количество кадров и т.п.) =====
**Формат запроса к опубликованным методам плагина**
Наименование метода для получения параметров первой камеры: **Camera1_GetParameters**
Пример запроса: \\
**[[http://uniserver.vesysoft.ru:8123/core/SendMsg?Name=Camera1_GetParameters&auth_user=user&auth_password=user|http://uniserver.vesysoft.ru:8123/core/SendMsg?Name=Camera1_GetParameters&auth_user=user&auth_password=user]]**
\\ \\
**Формат ответа**
Система формирует ответ на данный запрос в формате **JSON**
\\
Пример ответа системы:
{
"PageTitle":"Камера 1",
"Refresh":40,
"URL":"rtsp://192.168.10.100:554/video.avi",
"Enabled":true,
"StateInt":4,
"State":"Запущено. Ok",
"StreamInfo":"IP-камера rtsp://192.168.10.100:554/video.avi",
"Freq":"19,3",
"StreamSizeText":"640x480",
"Width":1920,
"Height":1078,
"Restarted":"2",
"UpdateDateTime":"2020-09-21T13:01:39.644"
}
\\
**Перечень полей, содержащихся в ответе**
^ Наименование поля ^ Тип принимаемого значения ^ Описание ^
|PageTitle| Строка | Наименование плагина |
|Refresh| Число | Параметр, устанавливающий таймаут между кадрами |
|URL| Строка | URL Строка для подключения к IP камере |
|Enabled| Логическое (true/false) | Флаг состояния активности плагина (включен/выключен) |
|StateInt| Число | Код состояния плагина |
|State| Строка | Состояние подключения к камере |
|StreamInfo| Строка | Информация о видеопотоке |
|Freq| Строка | Частота кадров видеопотока |
|StreamSizeText| Строка | Разрешение кадра видеопотока, транслируемого плагином |
|Width| Число | Ширина кадра входящего видеопотока |
|Height| Число | Высота кадра входящего видеопотока |
|Restarted| Строка | Количество попыток переподключения к камере |
|UpdateDateTime| Строка | Момент актуальности полученных данных |
===== Получение изображения с камеры =====
**Формат запроса к опубликованным методам плагина**
* Наименование метода для получения изображения в формате JPG с первой камеры: **Camera1_GetFrameJpg**
* Наименование метода для получения оригинального изображения в формате JPG с первой камеры: **Camera1_GetFrameOriginalJpg**
* Наименование метода для получения изображения в формате BMP с первой камеры: **Camera1_GetFrameBmp**
* Наименование метода для получения оригинального изображения в формате BMP с первой камеры: **Camera1_GetFrameOriginalBmp**
Пример запроса: \\
**[[http://uniserver.vesysoft.ru:8123/core/SendMsg?Name=Camera1_GetFrameJpg&auth_user=user&auth_password=user|http://uniserver.vesysoft.ru:8123/core/SendMsg?Name=Camera1_GetFrameJpg&auth_user=user&auth_password=user]]**
\\ \\
Вариант 2. Запрос к плагину (с указанием размера картинки): \\
**[[http://uniserver.vesysoft.ru:8123/core/plugins/Camera1/Video?Width=600&Height=400&auth_user=user&auth_password=user|http://uniserver.vesysoft.ru:8123/core/plugins/Camera1/Video?Width=600&Height=400&auth_user=user&auth_password=user]]**
\\ \\
**Формат ответа**
Система формирует ответ на данный запрос в формате **IMAGE** - картинку (текущий кадр с камеры).
===== Вывод надписи поверх изображения с камеры =====
**Формат запроса к опубликованным методам плагина**
* Наименование метода для вывода надписи поверх изображения с первой камеры: **Camera1_SetOSD**
Данный запрос содержит входной параметр **Value** - JSON с параметрами выводимой строки:
* **X** - Координата начала строки по оси X от левого верхнего угла кадра;
* **Y** - Координата начала строки по оси Y от левого верхнего угла кадра;
* **Size** - Размер текста;
* **Text** - Содержимое выводимой строки;
* **Blink** - Мигание строки (true - срока мигает, false - строка выводится постоянно);
* **Color** - Цвет текста (расшифровка значений цветов представлена ниже);
* **Time** - Время вывода строки в милисекундах.
Пример запроса: \\
**[[http://uniserver.vesysoft.ru:8123/core/SendMsg?Name=Camera1_SetOSD&Value={"X":300,"Y":350,"Name":"Proba2","Size":134,"Text":"Проверка","Blink":false,"Color":"clGreen","Time":10000}&auth_user=user&auth_password=user|http://uniserver.vesysoft.ru:8123/core/SendMsg?Name=Camera1_SetOSD&Value={"X":300,"Y":350,"Name":"Proba2","Size":134,"Text":"Проверка","Blink":false,"Color":"clGreen","Time":10000}&auth_user=user&auth_password=user]]**
\\ \\
**Формат ответа**
Успешное выполнение команды подтверждается статусом ответа **200 OK**
**Расшифровка цветов**
^ Значение поля ^ Цвет ^
|clBlack |Чёрный|
|clMaroon |Тёмно-красный|
|clGreen |Зелёный |
|clOlive |Оливковый |
|clNavy |Тёмно-синий |
|clPurple |Пурпурный |
|clTeal |Стальной |
|clGray |Серый |
|clSilver |Серебряный |
|clRed |Красный |
|clLime |Ярко-зелёный |
|clYellow |Жёлтый |
|clBlue |Синий |
|clFuchsia |Фиолетовый |
|clAqua |Бирюзовый |
|clWhite |Белый |