Методы для работы с видеокамерами

Методы, приведенные в данном разделе, являются расширением общих методов API FindFace Enterprise Server SDK и предназначены для работы с видеокамерами.

В этом разделе:

Метод /camera POST

Описание

Данный метод создает новую видеокамеру на Сервере.

Параметры:

  • meta [опционально]: пользовательская строка с метаданными видеокамеры
  • url [опционально]: URL потока видеокамеры
  • detector [опционально]: виртуальный детектор, соответствующий списку видеокамер.
  • rot [W,H,X,Y] [опционально]: включает обнаружение и отслеживание лиц только внутри заданного прямоугольника (ROT, region of tracking).
  • roi [W,H,X,Y] [опционально]: включает отправку на Сервер FindFace лиц, обнаруженных только внутри интересующей области (ROI, region of interest).

Возвращает:

Представление данных добавленной камеры в JSON или причину ошибки.

Пример

Запрос

POST /v0/camera/ HTTP/1.1
Host: 127.0.0.1
Authorization: Token 1234567890qwertyuiop
Content-Type:   application/json
Content-Length: [length]

{
    "meta": "test",
    "url": "http://test.com:1234/stream.flv",
    "detector": "detec1"
}

Ответ

HTTP/1.1 201 Created
Content-Length: [length]
Content-Type: application/json; charset=UTF-8
{
    "meta": "meta",
    "url": "http://test.com:1234/stream.flv",
    "detector": "detec1",
    "id": "7bb35e9d-9f4f-4e5b-8811-e1dded6de811"
}

Метод /camera GET

Описание

Данный метод возвращает список всех камер на Сервере.

Параметры:

Отсутствуют.

Возвращает:

Список всех камер.

Пример

Запрос

GET /v0/camera HTTP/1.1
Host: 127.0.0.1
Authorization: Token 1234567890qwertyuiop

Ответ

HTTP/1.1 200 OK
Content-Length: [length]
Date: Thu, 13 Oct 2016 12:14:22 GMT
Content-Type: application/json; charset=UTF-8
[
    {
        "meta": "firstcam",
        "url": "http://192.168.133.37:1234/stream.flv"
        "id": "34ba07c4-0677-4d5c-9946-62c625cd7127"
    },
    {
        "meta": "newinfo",
        "url": "http://5.6.7.8:1234/stream.flv",
        "id": "b28a898b-6334-4d37-8888-c9dd858ddc47"
    },
    ...
]

Метод /camera/<camera_id> GET

Описание

Данный метод возвращает данные заданной видеокамеры с id = camera_id.

Параметры:

Отсутствуют.

Возвращает:

Информацию о камере или причину ошибки.

Пример

Запрос

GET /v0/camera/b28a898b-6334-4d37-8888-c9dd858ddc47 HTTP/1.1
Host: 127.0.0.1
Authorization: Token 1234567890qwertyuiop

Ответ

HTTP/1.1 200 OK
Content-Length: [length]
Content-Type: application/json; charset=UTF-8
{
    "meta": "test info",
    "url": "http://5.6.7.8:1234/stream.flv",
    "id": "b28a898b-6334-4d37-8888-c9dd858ddc47"
}

Метод /camera/<camera_id> PUT

Описание

Данный метод используется для изменения метаданных заданной камеры с id = camera_id.

Параметры:

  • meta [опционально]: новая строка с метаданными
  • url [опционально]: URL потока видеокамеры
  • rot [W,H,X,Y] [опционально]: включает обнаружение и отслеживание лиц только внутри заданного прямоугольника (ROT, region of tracking). Если вы используете ROT, обязательно передавайте этот параметр на камеру каждый раз, когда вы отправляете запрос PUT, поскольку если данный параметр в запросе PUT отсутствует или его значение не задано, ROT на камере будет удален.
  • roi [W,H,X,Y] [опционально]: включает отправку на Сервер FindFace лиц, обнаруженных только внутри интересующей области (ROI, region of interest). Если вы используете ROI, обязательно передавайте этот параметр на камеру каждый раз, когда вы отправляете запрос PUT, поскольку если данный параметр в запросе PUT отсутствует или его значение не задано, ROI на камере будет удален.

Возвращает:

Представление данных камеры в JSON.

Пример №1

Запрос

PUT /v0/camera/b28a898b-6334-4d37-8888-c9dd858ddc47 HTTP/1.1
Host: 127.0.0.1
Authorization: Token 1234567890qwertyuiop
Content-Type: application/json
Content-Length: [length]
{
    "meta": "newinfo",
    "url": "http://zzzz.com:1234/stream.flv"
}

Ответ

HTTP/1.1 200 OK
Content-Length: [length]
Content-Type: application/json; charset=UTF-8
{
    "url": "http://zzzz.com:1234/stream.flv",
    "id": "b28a898b-6334-4d37-8888-c9dd858ddc47",
    "meta": "newinfo"
}

Пример №2

Запрос

PUT /v0/camera/b28a898b-6334-4d37-8888-c9dd858ddc47 HTTP/1.1
Host: 127.0.0.1
Authorization: Token 1234567890qwertyuiop
Content-Type: application/json
Content-Length: [length]
{
    "rot": [
      120,
      120,
      35,
      50
    ],
    "roi": [
      100,
      100,
      40,
      50
    ]
}

Ответ

HTTP/1.1 200 OK
Content-Length: [length]
Content-Type: application/json; charset=UTF-8
{
    "id": "b28a898b-6334-4d37-8888-c9dd858ddc47",
    "rot": [
      120,
      120,
      35,
      50
    ],
    "roi": [
      100,
      100,
      40,
      50
    ]
}

Метод /camera/<camera_id> DELETE

Описание

Данный метод удаляет заданную камеру с id = camera_id.

Параметры:

Отсутствуют.

Возвращает:

HTTP 204 No Content в случае успеха или причину ошибки.

Пример

Запрос

DELETE /v0/camera/b28a898b-6334-4d37-8888-c9dd858ddc47 HTTP/1.1
Host: 127.0.0.1
Authorization: Token 1234567890qwertyuiop
Content-Length: 0

Ответ

HTTP 204 No Content