Сервис видеозаписи
Данная модель описывает REST-API интерфейс сервиса видеозаписи
Ресурсы (входящие потоки)
Получение списка ресурсов
Строка запроса GET: /api/v1/source
Параметры запроса:
Параметры отсутствуют
Варианты ответа:
Успешно
[
{
"id": "Идентификатор ресурса",
"created_utc": "Дата-время создания ресурса",
"status": "Состояние доступности ресурса",
"uri_rtsp": "Адрес RTSP потока",
"uri_http_picture": {
"uri": "Адрес получения изображения",
"auth": "basic или digest",
"user": "Пользователь",
"password": "Пароль"
},
"description": "Описание ресурса",
"ffmpeg_cmd": "Шаблон команды транскодирования потока"
}
]
Создание ресурса
POST: /api/v1/source
Параметры запроса:
Параметр | Значение | Описание |
---|---|---|
model | Текстовый | Модель ресурса Source или PictureSource |
description | Текстовый | Описание ресурса |
uri_rtsp | Строка URI | Адрес RTSP потока |
uri_http_picture | Структура | Описание скриншота камеры |
uri | Строка URI | Адрес получения изображения |
auth | Перечисление | basic или digest |
user | Текстовый | Пользователь |
password | Текстовый | Пароль |
ffmpeg_cmd | Текстовый | Шаблон команды транскодирования потока |
Варианты ответа:
Ошибка 422
{
"detail": [
{
"loc": ["Положение ошибки"],
"msg": "Сообщение ошибки",
"type": "Тип ошибки"
}
]
}
Успешно
{
"id": "Идентификатор ресурса",
"created_utc": "Дата-время создания ресурса",
"status": "Состояние доступности ресурса",
"uri_rtsp": "Адрес RTSP потока",
"uri_http_picture": {
"uri": "Адрес получения изображения",
"auth": "*basic* или *digest*",
"user": "Пользователь",
"password": "Пароль"
},
"description": "Описание ресурса",
"ffmpeg_cmd": "Шаблон команды транскодирования потока"
}
Получение ресурса
GET: /api/v1/source/{source_id}/
Параметры запроса:
Параметр | Значение | Описание |
---|---|---|
source_id | Числовой | Идентификатор ресурса (часть запроса) |
Варианты ответа:
Ошибка 422
{
"detail": [
{
"loc": ["Положение ошибки"],
"msg": "Сообщение ошибки",
"type": "Тип ошибки"
}
]
}
Успешно
{
"id": "Идентификатор ресурса",
"created_utc": "Дата-время создания ресурса",
"status": "Состояние доступности ресурса",
"uri_rtsp": "Адрес RTSP потока",
"uri_http_picture": {
"uri": "Адрес получения изображения",
"auth": "*basic* или *digest*",
"user": "Пользователь",
"password": "Пароль"
},
"description": "Описание ресурса",
"ffmpeg_cmd": "Шаблон команды транскодирования потока"
}
Изменение ресурса
PUT: /api/v1/source/{source_id}/
Параметры запроса:
Параметр | Значение | Описание |
---|---|---|
source_id | Числовой | Идентификатор ресурса (часть запроса) |
model | Текстовый | Модель ресурса |
description | Текстовый | Описание ресурса |
uri_rtsp | Текствый | Адрес RTSP потока |
uri_http_picture: | Структура URI | |
uri | Тесктовый | Адрес получения изображения |
auth | Текстовый | basic или digest |
user | Текстовый | Пользователь |
password | Текстовый | Пароль |
ffmpeg_cmd | Текстовый | Шаблон команды транскодирования потока |
Варианты ответа:
Ошибка 422
{
"detail": [
{
"loc": ["Положение ошибки"],
"msg": "Сообщение ошибки",
"type": "Тип ошибки"
}
]
}
Успешно
{
"id": "Идентификатор ресурса",
"created_utc": "Дата-время создания ресурса",
"status": "Состояние доступности ресурса",
"uri_rtsp": "Адрес RTSP потока",
"uri_http_picture": {
"uri": "Адрес получения изображения",
"auth": "*basic* или *digest*",
"user": "Пользователь",
"password": "Пароль"
},
"description": "Описание ресурса",
"ffmpeg_cmd": "Шаблон команды транскодирования потока"
}
Удаление ресурса
DELETE: /api/v1/source/{source_id}/
Параметры запроса:
Параметр | Значение | Описание |
---|---|---|
source_id | Числовой | Идентификатор ресурса (часть запроса) |
Варианты ответа:
Ошибка 422
{
"detail": [
{
"loc": ["Положение ошибки"],
"msg": "Сообщение ошибки",
"type": "Тип ошибки"
}
]
}
Успешно
{
"id": "Идентификатор ресурса",
"created_utc": "Дата-время создания ресурса",
"status": "Состояние доступности ресурса",
"uri_rtsp": "Адрес RTSP потока",
"uri_http_picture": {
"uri": "Адрес получения изображения",
"auth": "*basic* или *digest*",
"user": "Пользователь",
"password": "Пароль"
},
"description": "Описание ресурса",
"ffmpeg_cmd": "Шаблон команды транскодирования потока"
}
Получение скриншота потока
Строка запроса GET: /api/v1/source/{source_id}/picture
Параметры запроса:
Параметр | Значение | Описание |
---|---|---|
source_id | Числовой | Идентификатор ресурса (часть запроса) |
Варианты ответа:
Ошибка 422
{
"detail": [
{
"loc": ["Положение ошибки"],
"msg": "Сообщение ошибки",
"type": "Тип ошибки"
}
]
}
Успешно Данные изображения
Получение скриншота потока
Строка запроса GET: /api/v1/source/{source_id}/video
Параметры запроса:
Параметр | Значение | Описание |
---|---|---|
source_id | Числовой | Идентификатор ресурса (часть запроса) |
delay | Числовой | Задержка между кадрами в секундах, по умолчанию 1 секунда |
Варианты ответа:
Ошибка 422
{
"detail": [
{
"loc": ["Положение ошибки"],
"msg": "Сообщение ошибки",
"type": "Тип ошибки"
}
]
}
Успешно Данные видеопотока mJPEG
Управление записью
Получение состояния записи ресурсов по метке
Строка запроса GET: /api/v1/record
Параметры запроса:
Параметр | Значение | Описание |
---|---|---|
tag_name | Текстовый | Идентификатор метки ресурсов |
Варианты ответа:
Ошибка 422
{
"detail": [
{
"loc": ["Положение ошибки"],
"msg": "Сообщение ошибки",
"type": "Тип ошибки"
}
]
}
Успешно
[
{
"id": "Идентификатор записи",
"created_utc": "Дата-время создания записи",
"status": "Состояние записи",
"begin_utc": "Дата-время начала записи",
"end_utc": "Дата-время окончания записи",
"source": [
{
"id": "Идентификатор ресурса",
"created_utc": "Дата-время создания ресурса",
"status": "Состояние доступности ресурса",
"uri_rtsp": "Адрес RTSP потока",
"uri_http_picture": {
"uri": "Адрес получения изображения",
"auth": "*basic* или *digest*",
"user": "Пользователь",
"password": "Пароль"
},
"description": "Описание ресурса",
"ffmpeg_cmd": "Шаблон команды транскодирования потока"
}
],
"hash_md5": "Контрольная сумма записи MD5",
"location": "Путь хранения записи",
"sync_location": "Пусть для синхронизации видеозаписи с другим видеосервером"
}
]
Остановка записи группы ресурсов по идентификатору метки
PUT: /api/v1/record
Параметры запроса:
Параметр | Значение | Описание |
---|---|---|
model | Текстовый | Модель метки записи ресурса для изменений Source или PictureSource |
tag_name | Текстовый | Идентификатор метки ресурсов |
Варианты ответа:
Ошибка 422
{
"detail": [
{
"loc": ["Положение ошибки"],
"msg": "Сообщение ошибки",
"type": "Тип ошибки"
}
]
}
Успешно Нет данных
Запуск записи группы ресурсов с меткой
POST: /api/v1/record
Параметры запроса:
Параметр | Значение | Описание |
---|---|---|
model | Текстовый | Модель метки записи ресурса для изменений Source или PictureSource |
tag_name | Текстовый | Идентификатор метки ресурсов |
group_name | Текстовый | Идентификатор группы ресурсов |
Варианты ответа:
Ошибка 422
{
"detail": [
{
"loc": ["Положение ошибки"],
"msg": "Сообщение ошибки",
"type": "Тип ошибки"
}
]
}
Успешно Нет данных
Получение состояния записи ресурсов с меткой
Строка запроса GET: /api/v1/record/runing
Параметры запроса:
Параметр | Значение | Описание |
---|---|---|
tag_name | Текстовый | Идентификатор метки ресурсов |
Варианты ответа:
Ошибка 422
{
"detail": [
{
"loc": ["Положение ошибки"],
"msg": "Сообщение ошибки",
"type": "Тип ошибки"
}
]
}
Успешно Значение true или false
Получение записи ресурса
Строка запроса GET: /api/v1/record/{record_id}/
Параметры запроса:
Параметр | Значение | Описание |
---|---|---|
record_id | Текстовый | Идентификатор записи ресурса (часть запроса) |
Варианты ответа:
Ошибка 422
{
"detail": [
{
"loc": ["Положение ошибки"],
"msg": "Сообщение ошибки",
"type": "Тип ошибки"
}
]
}
Успешно
{
"id": "Идентификатор записи",
"created_utc": "Дата-время создания записи",
"status": "Состояние записи",
"begin_utc": "Дата-время начала записи",
"end_utc": "Дата-время окончания записи",
"source": {
"id": "Идентификатор ресурса",
"created_utc": "Дата-время создания ресурса",
"status": "Состояние доступности ресурса",
"uri_rtsp": "Адрес RTSP потока",
"uri_http_picture": {
"uri": "Адрес получения изображения",
"auth": "*basic* или *digest*",
"user": "Пользователь",
"password": "Пароль"
},
"description": "Описание ресурса",
"ffmpeg_cmd": "Шаблон команды транскодирования потока"
},
"hash_md5": "Контрольная сумма записи MD5",
"location": "Путь хранения записи",
"sync_location": "Пусть для синхронизации видеозаписи с другим видеосервером"
}
Получение части файла записи
Строка запроса GET: /api/v1/record/{record_id}/video/
Параметры запроса:
Параметр | Значение | Описание |
---|---|---|
record_id | Текстовый | Идентификатор записи ресурса (часть запроса) |
range | Численный-Численный | Диапазон байт для загрузки, параметр заголовка запроса |
Варианты ответа:
Ошибка 422
{
"detail": [
{
"loc": ["Положение ошибки"],
"msg": "Сообщение ошибки",
"type": "Тип ошибки"
}
]
}
Успешно Двоичные данные
Удаление файла видеозаписи
DELETE: /api/v1/record/{record_id}/file/
Параметры запроса:
Параметр | Значение | Описание |
---|---|---|
record_id | Текстовый | Идентификатор записи ресурса (часть запроса) |
location | Текстовый | Путь к файлу видеозаписи |
Варианты ответа:
Ошибка 422
{
"detail": [
{
"loc": ["Положение ошибки"],
"msg": "Сообщение ошибки",
"type": "Тип ошибки"
}
]
}
Успешно
{
"id": "Идентификатор записи",
"created_utc": "Дата-время создания записи",
"status": "Состояние записи",
"begin_utc": "Дата-время начала записи",
"end_utc": "Дата-время окончания записи",
"source": {
"id": "Идентификатор ресурса",
"created_utc": "Дата-время создания ресурса",
"status": "Состояние доступности ресурса",
"uri_rtsp": "Адрес RTSP потока",
"uri_http_picture": {
"uri": "Адрес получения изображения",
"auth": "*basic* или *digest*",
"user": "Пользователь",
"password": "Пароль"
},
"description": "Описание ресурса",
"ffmpeg_cmd": "Шаблон команды транскодирования потока"
},
"hash_md5": "Контрольная сумма записи MD5",
"location": "Путь хранения записи",
"sync_location": "Пусть для синхронизации видеозаписи с другим видеосервером"
}
Управление группами камер
Получние списка групп камер
Строка запроса GET: /api/v1/group
Параметры запроса:
Параметры отсутствуют
Варианты ответа:
Ошибка 422
{
"detail": [
{
"loc": ["Положение ошибки"],
"msg": "Сообщение ошибки",
"type": "Тип ошибки"
}
]
}
Успешно
[
{
"id": "Идентификатор группы",
"created_utc": "Дата-время создания группы",
"name": "Имя группы"
}
]
Создание группы ресурсов
POST: /api/v1/group
Параметры запроса:
Параметр | Значение | Описание |
---|---|---|
model | Текстовый | Модель метки записи ресурса для изменений Source или PictureSource |
name | Текстовый | Наименование группы |
Варианты ответа:
Ошибка 422
{
"detail": [
{
"loc": ["Положение ошибки"],
"msg": "Сообщение ошибки",
"type": "Тип ошибки"
}
]
}
Успешно
[
{
"id": "Идентификатор группы",
"created_utc": "Дата-время создания группы",
"name": "Имя группы"
}
]
Получение сведений о группе ресурсов
Строка запроса GET: /api/v1/group/{group_id}/
Параметры запроса:
Параметр | Значение | Описание |
---|---|---|
group_id | Текстовый | Идентификатор группы ресурсов (часть запроса) |
Варианты ответа:
Ошибка 422
{
"detail": [
{
"loc": ["Положение ошибки"],
"msg": "Сообщение ошибки",
"type": "Тип ошибки"
}
]
}
Успешно
{
"id": "Идентификатор группы ресурсов",
"сreated_utc": "Дата-время создания группы",
"name": "Наименование группы",
"sources": [
{
"id": "Идентификатор ресурса",
"created_utc": "Дата-время создания ресурса",
"uri_rtsp": "Адрес RTSP потока",
"uri_http_picture": {
"uri": "Адрес получения изображения",
"auth": "*basic* или *digest*",
"user": "Пользователь",
"password": "Пароль"
},
"description": "Описание ресурса",
"ffmpeg_cmd": "Шаблон команды транскодирования потока"
}
]
}
Удаление группы ресурсов
DELETE: /api/v1/group/{group_id}/
Параметры запроса:
Параметр | Значение | Описание |
---|---|---|
group_id | Текстовый | Идентификатор группы ресурсов (часть запроса) |
Варианты ответа:
Ошибка 422
{
"detail": [
{
"loc": ["Положение ошибки"],
"msg": "Сообщение ошибки",
"type": "Тип ошибки"
}
]
}
Успешно
{
"id": "Идентификатор группы ресурсов",
"сreated_utc": "Дата-время создания группы",
"name": "Наименование группы"
}
Добавление ресурса в группу ресурсов
POST: /api/v1/group/{group_id}/source/{source_id}/
Параметры запроса:
Параметр | Значение | Описание |
---|---|---|
group_id | Текстовый | Идентификатор группы ресурсов (часть запроса) |
source_id | Текстовый | Идентификатор ресурса (часть запроса) |
Варианты ответа:
Ошибка 422
{
"detail": [
{
"loc": ["Положение ошибки"],
"msg": "Сообщение ошибки",
"type": "Тип ошибки"
}
]
}
Успешно Значение true или false
Удаление ресурса из группы ресурсов
DELETE: /api/v1/group/{group_id}/source/{source_id}/
Параметры запроса:
Параметр | Значение | Описание |
---|---|---|
group_id | Текстовый | Идентификатор группы ресурсов (часть запроса) |
source_id | Текстовый | Идентификатор ресурса (часть запроса) |
Варианты ответа:
Ошибка 422
{
"detail": [
{
"loc": ["Положение ошибки"],
"msg": "Сообщение ошибки",
"type": "Тип ошибки"
}
]
}
Успешно Значение true или false//*
Управление метками записей
Получение метки записи ресурсов
Строка запроса GET: /api/v1/tag
Параметры запроса:
Параметр | Значение | Описание |
---|---|---|
name | Текстовый | Наименование метки |
Варианты ответа:
Ошибка 422
{
"detail": [
{
"loc": ["Положение ошибки"],
"msg": "Сообщение ошибки",
"type": "Тип ошибки"
}
]
}
Успешно
{
"id": "Идентификатор тега",
"created_utc": "Дата-время создания тега",
"name": "Имя тега",
"records": [
{
"id": "Идентификатор записи",
"created_utc": "Дата-время создания записи",
"status": "Состояние записи",
"begin_utc": "Дата-время начала записи",
"end_utc": "Дата-время окончания записи",
"source": {
"id": "Идентификатор ресурса",
"created_utc": "Дата-время создания ресурса",
"uri_rtsp": "Адрес RTSP потока",
"uri_http_picture": {
"uri": "Адрес получения изображения",
"auth": "*basic* или *digest*",
"user": "Пользователь",
"password": "Пароль"
},
"description": "Описание ресурса",
"ffmpeg_cmd": "Шаблон команды транскодирования потока"
},
"hash_md5": "Контрольная сумма записи MD5",
"location": "Путь хранения записи",
"sync_location": "Пусть для синхронизации видеозаписи с другим видеосервером"
}
]
}
Получить начатые метки
Строка запроса GET: /api/v1/tag/begin
Параметры запроса:
Параметры отсутствуют
Варианты ответа:
Успешно
["Наименование метки"]
Синхронизация данных
Начать синхронизацию видео
POST: /api/v1/sync
Параметры запроса:
Параметр | Значение | Описание |
---|---|---|
tag_name | Текстовый | Наименование метки |
location | Текстовый | Расположение файла |
Варианты ответа:
Ошибка 422
{
"detail": [
{
"loc": ["Положение ошибки"],
"msg": "Сообщение ошибки",
"type": "Тип ошибки"
}
]
}
Успешно Строковые данные
Различные проверки
Проверка изображения
Строка запроса GET: /test/img
Параметры запроса:
Не имеет параметров
Варианты ответа:
Успешно Не имеет ответа
Проверка видео
Строка запроса GET: /test/video
Параметры запроса:
Не имеет параметров
Варианты ответа:
Успешно Не имеет ответа