VK Cloud logo

Обработка видео

Subscribe

Данный метод позволяет поставить задачу на обработку видео системой распознавания Vision.

Запрос

Авторизационные данные передаются в строке запроса:

ПараметрТипЗначение
oauth_token
string
OAuth2 access token (required non-empty)
oauth_provider
string
Провайдер OAuth2 (required non-empty)

Поддерживаемые провайдеры OAuth2:

ПровайдерЗначение oauth_providerПолучение токена
VK Cloud
mcs

Параметры запроса передаются в формате JSON в теле.

ПараметрТипПо умолчаниюЗначение
video
[]video_meta
--
Метаданные передаваемых видео (required non-empty)

video_meta

ПараметрТипЗначение
name
string
Идентификатор, возвращаемый клиенту в ответе на постановку данной задачи (required non-empty)
link
string
Ссылка на видео файл (http://,https://), rtsp поток (rtsp://) (required non-empty)
rtsp_login
string
RTSP авторизация
rtsp_password
string
actions
[]string
Список методов visapi, которыми будет обработано видео

actions

ПараметрЗначение
fd
Детектирование лиц
sd
Детектирование сцены
od
Детектирование объектов
ad
Детектирование достопримечательностей
pd
Детектирование людей

Максимальный размер видео файла - 2Gb.

Пример запроса:

POST /api/v1/video/subscribe?oauth_provider="mcs&oauth_token=123 HTTP/1.1

....
Content-Type: application/json
{ "video":[{"name":"1", "link":"http://172.27.28.228/internal/hash/video.short.mp4", "actions":["od"]}]}

Ответ

ПараметрТипЗначение
status
int
200 в случае успеха, иначе описание ошибки будет в body
body
response
Тело ответа

response

ПараметрТипЗначение
subscribed
[]subscribed
массив ответов для каждого видео

subscribed

ПараметрТипЗначение
status
enum
Результат выполнения
error
string
Текстовое описание ошибки (optional)
name
string
Имя для сопоставления запроса и ответа на него
id
int
ID задачи обработки видео

status

ПараметрЗначение
0
Успешно
1
Перманентная ошибка
2
Временная ошибка

Пример ответа:

1{
2  "status": 200,
3  "body": {
4    "subscribed": [
5      {
6        "status": 0,
7        "name": "1",
8        "id": 39
9      }
10    ]
11  },
12  "htmlencoded": false,
13  "last_modified": 0
14}

Get

Данный метод позволяет получить результаты выполнения задачи по обработке видео.

Запрос

Авторизационные данные передаются в строке запроса:

ПараметрТипЗначение
oauth_token
string
OAuth2 access token (required non-empty)
oauth_provider
string
провайдер OAuth2 (required non-empty)

Поддерживаемые провайдеры OAuth2:

ПровайдерЗначение oauth_providerПолучение токена
VK Cloud
mcs

Параметры запроса передаются в формате JSON в теле.

ПараметрТипПо умолчаниюЗначение
video
[]video_meta
--
Метаданные для получения результатов обработки видео (required non-empty)

video_meta

ПараметрТипЗначение
name
string
Идентификатор, возвращаемый клиенту в ответе на получение результатов (required non-empty)
id
int
id задачи (required)
from
int
Запросить результаты с меткой времени (ms) от from (включая from) (optional)
to
int
Запросить результаты с меткой времени (ms) до to (включая to) (optional)
limit
int
Запросить кол-во результатов не больше чем limit (<=) (optional)

Пример запроса:

POST /api/v1/video/get?oauth_provider="mcs&oauth_token=123 HTTP/1.1

....
Content-Type: application/json {"video":[{"name":"test_name", "id":37, "from"":1000, "to":2000, "limit":2}]}

Ответ

ПараметрТипЗначение
status
int
200 в случае успеха, иначе описание ошибки будет в body
body
response
Тело ответа

response

ПараметрТипЗначение
results
[]result
Массив ответов с результатами

result

ПараметрТипЗначение
status
enum
Результат выполнения
error
string
Текстовое описание ошибки (optional)
name
string
Имя для сопоставления запроса и ответа на него
items
result_item
Массив результатов

status

ПараметрЗначение
0
Успешно
1
Перманентная ошибка
2
Временная ошибка

result_item

ПараметрТипЗначение
timestamp
int
Метка времени (ms)
meta
string
Результат распознавания кадра (мета информация)
action
string
Метод распознавания

Пример ответа:

1{
2  "status": 200,
3  "body": {
4    "results": [
5      {
6        "status": 0,
7        "name": "test_name",
8        "id": 40,
9        "items": [  {
10            "timestamp": 4000,
11            "meta": "{\"labels\":[{\"coord\":[64,0,576,511],\"eng\":\"Person\",\"eng_category\":\"\",\"prob\":0.0309,\"rus\":\"Человек \",\"rus_category\":\"\"},{\"coord\":[64,0,576,511],\"eng\":\"Illustration\",\"eng_category\":\"\",\"prob\":0.4537,\"rus\":\"Иллюстрация \",\"rus_category\":\"\"}],\"status\":0,\"timestamp\":4000}",
12            "action": "od"
13          },
14          {
15            "timestamp": 5000,
16            "meta": "{\"labels\":[{\"coord\":[64,0,576,511],\"eng\":\"Person\",\"eng_category\":\"\",\"prob\":0.0309,\"rus\":\"Человек \",\"rus_category\":\"\"},{\"coord\":[64,0,576,511],\"eng\":\"Illustration\",\"eng_category\":\"\",\"prob\":0.4538,\"rus\":\"Иллюстрация \",\"rus_category\":\"\"}],\"status\":0,\"timestamp\":5000}",
17            "action": "od"
18          }
19        ]
20      }
21    ]
22  },
23  "htmlencoded": false,
24  "last_modified": 0
25}

Unsubscribe

Данный метод позволяет остановить задачу по обработке видео.

Запрос

Авторизационные данные передаются в строке запроса:

ПараметрТипЗначение
oauth_token
string
OAuth2 access token (required non-empty)
oauth_provider
string
Провайдер OAuth2 (required non-empty)

Поддерживаемые провайдеры OAuth2:

ПровайдерЗначение oauth_providerПолучение токена
VK Cloud
mcs

Параметры запроса передаются в формате JSON в теле.

ПараметрТипПо умолчаниюЗначение
video
[]video_meta
-—
Метаданные передаваемых видео для остановки (required non-empty)

video_meta

ПараметрТипЗначение
name
string
Идентификатор, возвращаемый клиенту в ответе на остановку данной задачи (required non-empty)
id
int
ID задачи (required)

Пример запроса:

POST /api/v1/video/unsubscribe?oauth_provider="mcs&oauth_token=123 HTTP/1.1

....
Content-Type: application/json
{ "video":[{"name":"1", "id":6}, {"name":"2", "id":39}]}

Ответ

ПараметрТипЗначение
status
int
200 в случае успеха, иначе описание ошибки будет в body
body
response
Тело ответа

response

ПараметрТипЗначение
unsubscribed
[]unsubscribed
Массив ответов для каждого видео

unsubscribed

ПараметрТипЗначение
status
enum"
Результат выполнения
error
string
Текстовое описание ошибки (optional)
name
string
Имя для сопоставления запроса и ответа на него
id
int
ID задачи обработки видео

status

ПараметрЗначение
0
успешно
1
перманентная ошибка
2
временная ошибка

Пример ответа:

1{
2  "status": 200,
3  "body": {
4    "unsubscribed": [
5      {
6        "status": 1,
7        "error": "already stopped task",
8        "name": "1",
9        "id": 6
10      },
11      {
12        "status": 0,
13        "name": "2",
14        "id": 39
15      }
16    ]
17  },
18  "htmlencoded": false,
19  "last_modified": 0
20}