...
Управление транскодингом при помощи REST API
Устаревшая версия REST API (сборки сервера до 5.2.898)
REST-запрос должен быть HTTP/HTTPS POST запросом в таком виде:
- HTTP: http://test.flashphoner.com:8081/rest-api/transcoder/startup
- HTTPS: https://test.flashphoner.com:8444/rest-api/transcoder/startup
Здесь:
- test.flashphoner.com - адрес WCS-сервера
- 8081 - стандартный REST / HTTP порт WCS-сервера
- 8444 - стандартный HTTPS порт
- rest-api - обязательная часть URL
- /transcoder/startup - используемый REST-метод
REST-методы и статусы ответа
REST-метод | Пример тела REST-запроса | Пример тела REST-ответа | Статусы ответа | Описание | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
/transcoder/startup |
| 400 - Bad request 409 - Conflict 500 - Internal error | Создать транскодер с указанными параметрами для заданного потока | |||||||||||||||
/transcoder/find |
|
| 200 – транскодеры найдены 404 – транскодеры не найдены | Найти транскодер по указанным критериям | ||||||||||||||
/transcoder/find_all |
| 200 – транскодеры найдены 404 – транскодеры не найдены | Найти все транскодеры | |||||||||||||||
/transcoder/terminate |
| 200 - транскодер завершен 404 - транскодер не найден | Остановить транскодер и его выходной поток |
...
Имя параметра | Описание | Пример |
---|---|---|
uri | URL транскодера | transcoder://tcode1 |
localStreamName | Имя выходного потока транскодера | testT |
remoteStreamName | Имя транскодируемого потока | test |
localMediaSessionId | Идентификатор медиасессии транскодера | 42a92132-bcd1-4436-a96f-3fec36b32b37 |
status | Текущий статус транскодера | PROCESSED_LOCAL |
hasAudio | Выходной поток содержит аудио | true |
hasVideo | Выходной поток содержит видео | true |
record | Выходной поток записывается | false |
Параметры кодирования | ||
width | Ширина картинки | 640 |
height | Высота картинки (обязательный параметр) | 480 |
keyFrameInterval | Частота генерации ключевых кадров (GOP) | 30 |
fps | Частота кадров в секунду | 30 |
bitrate | Битрейт в кб/с | 500 |
type | Кодек | OPENH264 |
watermark | Файл водяного знака | Test.png |
Ограничения
1. Для потоков без видео (только с аудио составляющей) создание транскодера при помощи REST API невозможно. Если отправить запрос /transcoder/startup для такого потока, сервер вернет 400 Bad request с сообщением "Can't start transcoder for audio only stream"
...
4, Если указана только ширина картинки, запрос вернет 400 Bad request с сообщением "Height is not specified"
Версия 2 REST API (сборки сервера, начиная с 5.2.898)
REST-запрос должен быть HTTP/HTTPS POST запросом в таком виде:
- HTTP: http://test.flashphoner.com:8081/rest-api/transcoder2/startup
- HTTPS: https://test.flashphoner.com:8444/rest-api/transcoder2/startup
Здесь:
- test.flashphoner.com - адрес WCS-сервера
- 8081 - стандартный REST / HTTP порт WCS-сервера
- 8444 - стандартный HTTPS порт
- rest-api - обязательная часть URL
- /transcoder2/startup - используемый REST-метод
REST-методы и статусы ответа
REST-метод | Пример тела REST-запроса | Пример тела REST-ответа | Статусы ответа | Описание | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
/transcoder2/startup |
| 200 - OK 400 - Bad request 409 - Conflict 500 - Internal error | Создать транскодер с указанными параметрами для заданного потока | |||||||||||||||
/transcoder2/find |
|
| 200 – OK 404 – Not found | Найти транскодер по указанным критериям | ||||||||||||||
/transcoder/find_all |
| 200 – OK 404 – Not found | Найти все транскодеры | |||||||||||||||
/transcoder/terminate |
| 200 – OK 404 – Not found | Остановить транскодер и его выходной поток |
Параметры
Имя параметра | Описание | Пример |
---|---|---|
uri | URL транскодера | transcoder2://tcode2 |
localStreamName | Имя выходного потока транскодера | testT |
remoteStreamName | Имя транскодируемого потока | test |
localMediaSessionId | Идентификатор медиасессии транскодера | 82ad5545-e11e-4f0f-801a-49e69d8c38f2 |
status | Текущий статус транскодера | PROCESSED_LOCAL |
hasAudio | Выходной поток содержит аудио | true |
hasVideo | Выходной поток содержит видео | true |
record | Выходной поток записывается | false |
Параметры кодирования | ||
width | Ширина картинки | 320 |
height | Высота картинки (обязательный параметр) | 240 |
audioCodec | Кодек аудио | mpeg4-generic |
audioRate | Частота дискретизации аудио, Гц | 44100 |
audioChannels | Количество каналов аудио | 2 |
videoCodec | Кодек видео | H264 |
keyFrameInterval | Частота генерации ключевых кадров (GOP) | 30 |
fps | Частота кадров в секунду | 30 |
bitrate | Битрейт видео в кб/с | 500 |
type | Кодировщик | OPENH264 |
watermark | Файл водяного знака | Test.png |
videoRate | Частота дискретизации видео, Гц | 90000 |
Ограничения
1. Если параметры транскодирования видео переданы для потока без видео, либо параметры транскодирования аудио переданы для потока без аудио, запрос вернет 400 Bad request
Краткое руководство по тестированию
...