Создание медиасервера
Создание Медиасервера
При создании сервера есть поля, которые нужны только для определённого типа медиасервера.
Для media_server_v2 это: storages и token
Для flussonic это: proxy
Поле has_cache только для flussonic (для других медиасерверов оно будет null). Оно не устанавливается с API, а получает данные от медиасервера.
POST /api/admin/v1/servers |
Параметры метода
{
"schema": "https",
"internal_domain": "host-name-3.vms.local",
"external_domain": "host-name-3.vms.local",
"internal": "8080",
"external": 8443,
"rtsp": "5554",
"type": "media_server_v2",
"is_enabled": true,
"proxy": "host-name-3.vms.local",
"group_type": "all",
"streams_limit": 100,
"bitrate_limit": 1000000,
"storages": [
"/storage"
],
"is_stream_condition_management_enabled": false,
"is_callback_enabled": false
}
string
type, тип сервера
array
storages, массив хранилищ
string
internal_domain, адрес, по которому будут обращаться к API медиасервера
string
external_domain, адрес, по которому клиенты будут получать стримы, скриншоты и архивы
int
internal, внутренний порт
int
external, внешний порт
int
rtsp, rtsp порт
string
proxy, адрес прокси, только для flussonic, это нужно чтобы скачать preview и архив могли только пользователи платформы
string
group_type, группа
int
streams_limit, лимит количества потоков
int
bitrate_limit, лимит входящего трафика, Кбит/с
string
token, токен для доступа к медиасерверу. Обязателен для серверов с типом media_server_v2
string
schema, URL схема
bool
is_stream_condition_management_enabled, нужно ли включать функционал
bool
is_callback_enabled, включена ли обработка колбеков от медиасерверов. По умолчанию true. Если не включено, то статус камер будет по крону запрашиваться с медиасервера
200 |
Успешный ответ
JSON
|
401 |
Токен авторизации не передан или не валидный Получение токена |
curl -k --request POST \
--url 'https://your-domain/api/admin/v1/servers' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data '{
"type": "string",
"storages": [],
"internal_domain": "string",
"external_domain": "string",
"internal": 0,
"external": 0,
"rtsp": 0,
"proxy": "string",
"group_type": "string",
"streams_limit": 0,
"bitrate_limit": 0,
"token": "string",
"schema": "string",
"is_stream_condition_management_enabled": true
}'
$data = array (
'type' => 'string',
'storages' =>
array (
),
'internal_domain' => 'string',
'external_domain' => 'string',
'internal' => 0,
'external' => 0,
'rtsp' => 0,
'proxy' => 'string',
'group_type' => 'string',
'streams_limit' => 0,
'bitrate_limit' => 0,
'token' => 'string',
'schema' => 'string',
'is_stream_condition_management_enabled' => true,
);
$context = stream_context_create([
'ssl'=>['verify_peer' => false],
'http' => [
'method' => 'POST',
'header' => "Content-Type: application/json\r
Accept: application/json",
'content'=>json_encode($data)
]
]);
$result = file_get_contents('https://your-domain/api/admin/v1/servers', false, $context);