API методы¶
| REST method | Params | Returns | Errors | Description |
|---|---|---|---|---|
| SIP as RTMP | ||||
| /call/startup |
callId callee rtmpStream rtmpUrl hasAudio hasVideo sipLogin sipAuthenticationName sipPassword sipDomain sipOutboundProxy sipPort appKey sipRegisterRequired toStream visibleName |
void |
409 - Conflict 500 - Internal error |
Создать SIP-звонок. Если указан rtmpUrl, то медиа трафик, полученный со стороны SIP, отправляется на указанный RTMP сервер.Если указан toStream, то для отправки медиа трафика, полученного со стороны SIP, можно использовать метод /push/startup, чтобы создать транспондер для указанного имени потока.Если уже есть звонок с таким callId или rtmpUrl, возвращает 409 Conflict.
|
| /call/find_all | void | List of Call | 404 - Call not found | Получить список всех SIP-звонков |
| /call/find |
callId callee rtmpUrl status |
List of Call |
404 - Call not found 500 - Internal error |
Получить список звонков, найденных по фильтру |
| /call/terminate | callId | void |
404 - Call not found 500 - Internal error |
Завершить SIP-звонок |
| /call/send_dtmf |
callId dtmf type |
void |
404 - Call not found 500 - Internal error |
Отправить DTMF внутри SIP-звонка |
| /call/inject_sound |
callId fileName |
void |
404 - Call not found/File not found 500 - Internal error |
Вставить аудио из указанного файла |
| /call/inject_stream/startup |
callId streamName |
void |
404 - Call not found/Stream not found 500 - Internal error |
Перенаправить поток на сервере в SIP звонок |
| /call/inject_stream/terminate | callId | void |
404 - Call not found 500 - Internal error |
Завершить перенаправление потока в SIP звонок |
| RTSP | ||||
| /rtsp/startup |
uri localStreamName |
void |
409 - Already in use 500 - Internal error |
Создать RTSP-сессию |
| /rtsp/find |
uri status |
List of RtspAgent | 404 - RTSP not found | Поиск RTSP-сессии по фильтру |
| /rtsp/find_all | void | List of RtspAgent | 404 - RTSP not found | Получить все RTSP-сессии |
| /rtsp/terminate | uri | void |
404 - RTSP not found 500 - Internal error |
Остановить RTSP-сессию |
| Streaming | ||||
| /stream/find_all | void | List of Stream | 404 - Streams not found | Найти все потоки |
| /stream/find |
appKey name mediaSessionId sessionId status published |
List of Stream |
404 - Stream not found 500 - Internal error |
Найти потоки по фильтру |
| /stream/terminate |
name mediaSessionId List of mediaSessionId status published |
void |
404 - Stream not found 500 - Internal error |
Завершить работу потока или потоков, соответствующих указанным параметрам |
| /stream/snapshot | streamName | Base64 data | 404 - Stream not found | Снять превью указанного потока |
| /stream/startRecording | mediaSessionId | void |
404 - Stream not found 500 - Internal error |
Начать запись потока в указанной медиасессии |
| /stream/stopRecording | mediaSessionId | void |
404 - Recorder not found 500 - Internal error |
Завершить запись потока в указанной медиасессии |
| /stream/event/send |
streamName payload |
void |
404 - Stream not found 500 - Internal error |
Отправить данные всем подписчикам потока |
| Data | ||||
| /data/send |
nodeId sessionId operationId payload |
void | 500 - Internal error | Отправить данные подключенному клиенту |
| Connection | ||||
| /connection/terminate | sessionId | void |
404 - No such connection 500 - Internal error |
Разорвать клиентское соединение |
| /connection/find_all | void | List of Connection | 404 - No connections found | Получить список всех клиентских соединений |
| /connection/find |
appKey sessionId clientVersion |
List of Connection | 404 - Not found | Найти клиентские соединения по фильтру |
| Republishing as RTMP | ||||
| /push/startup |
streamName rtmpUrl options |
Transponder |
400 - Bad request 409 - Conflict 500 - Internal error |
Создает транспондер, который подписывается на указанный поток и отправляет медиа трафик на указанный rtmpUrl`rtmpUrl`.Имя потока, указанное в запросе, может быть именем уже публикуемого потока или именем зарезервированным при создании SIP-звонка (для отправки медиа трафика, полученного со стороны SIP). Параметр `options` может быть использован, чтобы выключить аудио или вставить аудио из файла при создании транспондера. Например, - "options": {"action": "mute"}- "options": {"action": "sound_on", "soundFile": "sound.wav", "loop": true}Если транспондер для такого потока и rtmpUrl уже существует, возвращает rtmpUrl.Если rtmpUrl не указан, или указан неверно и не может быть найден по DNS, возвращает 400 Bad request
|
| /push/find |
streamName rtmpUrl |
List of Transponder | 404 - Transponder not found | Найти транспондеры по фильтру |
| /push/find_all | void | List of Transponder | 404 - Transponder not found | Найти все транспондеры |
| /push/terminate | mediaSessionId | void |
404 - Transponder not found 409 - Conflict 500 - Internal error |
Завершить работу транспондера |
| /push/mute | mediaSessionId | void |
404 - Transponder not found 409 - Conflict 500 - Internal error |
Выключить аудио |
| /push/unmute | mediaSessionId | void |
404 - Transponder not found 409 - Conflict 500 - Internal error |
Включить аудио |
| /push/sound_on |
mediaSessionId soundFile loop |
void |
404 - Transponder not found 404 - No such file 500 - Internal error |
Вставить аудио из RIFF WAV файла из директории /usr/local/FlashphonerWebCallServer/media/ на WCS сервере
|
| /push/sound_off | mediaSessionId | void |
404 - Transponder not found 500 - Internal error |
Завершить вставку аудио из файла |
| Pull RTMP | ||||
| /pull/rtmp/pull | uri | void |
409 - Conflict 500 - Internal error |
Захватить RTMP-поток по указанному URL |
| /pull/rtmp/find_all | void | List of RtmpAgent | 404 - Not found | Найти все захваченные RTMP-потоки |
| /pull/rtmp/terminate | uri | void | 404 - Not found | Завершить захват RTMP-потока |
| Mixer | ||||
| /mixer/startup |
uri localStreamName hasVideo hasAudio background watermark mixerLayoutClass |
void |
409 - Conflict 500 - Internal error |
Создать микшер, для которого публикуется поток с указанным именем |
| /mixer/add |
uri remoteStreamName |
void |
404 - Mixer not found/Stream not found 409 - Conflict 500 - Internal error |
Добавить поток в микшер |
| /mixer/remove |
uri remoteStreamName |
void | 404 - Mixer not found/Stream not found | Убрать поток из микшера |
| /mixer/find_all | void | List of Mixer | 404 - Not found | Найти все микшеры |
| /mixer/terminate | uri | void | 404 - Not found | Завершить работу микшера |
| /mixer/setAudioVideo |
uri streams audioLevel videoMuted |
void |
400 - Bad request 404 - Not found 500 - Internal error |
Заглушить/возобновить видео или изменить уровень громкости аудио входного потока микшера |
| /mixer/set_body_watermark |
uri watermark x y marginTop marginLeft marginBottom marginRight |
void |
200 - OK 400 - Bad request 404 - Not found |
Добавить водяной знак к картинке выходного потоку микшера |
| /mixer/set_stream_watermark |
uri watermark mediaSessionId x y marginTop marginLeft marginBottom marginRight |
void |
200 - OK 400 - Bad request 404 - Not found |
Добавить водяной знак к картинке одного из входящих потоков микшера |
| /mixer/set_parameter | uri | void |
200 - OK 400 - Bad request 404 - Not found |
Изменить параметр микшера |
| /mixer/test/start |
feedingStreams mixerCount streamsInMixer intervalInSeconds |
void |
404 - Not found 500 - Internal error |
Запустить нагрузочный тест микшера |
| /mixer/test/stop | void | void |
404 - Not found 500 - Internal error |
Остановить нагрузочный тест микшера |
| /mixer/test/get_start_example | void | MixerTest | 200 - OK |
Получить пример объекта, передаваемого на вход методу /mixer/test/start
|
| Pull WebRTC from another WCS | ||||
| /pull/pull |
uri localStreamName remoteStreamName |
void |
409 - Conflict 500 - Internal error |
Захватить WebRTC-поток с указанного сервера |
| /pull/push |
uri localStreamName remoteStreamName localMediaSessionId |
void |
409 - Conflict 500 - Internal error |
Транслировать WebRTC-поток на указанный сервер |
| /pull/find_all | void | List of PullAgent | 404 - Not found | Найти все захваченные WebRTC-потоки |
| /pull/terminate |
uri localMediaSessionId remoteMediaSessionId localStreamName remoteStreamName status |
void | 404 - Not found | Завершить захваченный WebRTC-поток |
| Logging management | ||||
| /logger/enable_client_log |
sessionId logLevel |
void | 404 - Session not found | Включить указанный уровень клиентского лога в заданной сессии |
| /logger/disable_client_log | sessionId | void | 404 - Session not found | Полностью отключить клиентский лог в заданной сессии |
| CDN | ||||
| /cdn/show_nodes | void | List of CDNNodes | Показать состояние узлов CDN | |
| /cdn/show_state | void | processingState | Показать состояние узла CDN, которому направлен запрос | |
| /cdn/enforce_state | state | void | 400 – Ivalid state | Принудительно изменить состояние узла |
| /cdn/show_routes | void | List of CDNRoute | 404 - Not found | Показать список маршрутов CDN |
| /cdn/stream/show_routes | streamName | CDNStreamRoute |
400 - Bad request 404 - Not found |
Показать маршрут CDN для воспроизведения заданного потока |
| /cdn/stream/access_list/add |
name keys |
void |
400 - Bad request 404 - Stream not found 500 – Internal Server Error |
Добавить ключи в список контроля доступа к потоку |
| /cdn/stream/access_list/remove |
name keys |
void |
400 - Bad request 404 - ACL not found/Stream not found 500 – Internal Server Error |
Удалить ключи из списка контроля доступа к потоку |
| /cdn/stream/access_list/delete | name | void |
400 - Bad request 404 - Stream not found 500 – Internal Server Error |
Очистить список контроля доступа к потоку |
| /cdn/stream/access_list/print | name | List of keys |
400 - Bad request 404 - ACL not found 500 – Internal Server Error |
Показать список контроля доступа к потоку |
| /cdn/profile/add |
name profile |
void |
400 - Bad Request 500 – Internal Server Error |
Добавить профиль транскодинга |
| /cdn/profile/modify |
name profile |
void |
400 - Bad Request 404 - Not Found 500 – Internal Server Error |
Изменить профиль транскодинга |
| /cdn/profile/print | void | List of profiles | 404 - Not Found | Получить список профилей транскодирования |
| /cdn/profile/remove | name | void |
400 - Bad Request 404 - Not Found 500 – Internal Server Error |
Удалить профиль транскодирования |
| /cdn/remove_node | nodeId | void |
400 - Bad request 404 - Node not found 500 – Internal Server Error |
Удалить узел из CDN |
| /cdn/connection/reset_inbound | nodeId | void |
200 – OK 404 - Node not found |
Сбросить входящее соединение с указанным узлом |
| /cdn/connection/reset_outbound | nodeId | void |
200 – OK 404 - Node not found |
Сбросить исходящее соединение с указанным узлом |
| /cdn/connection/reset_all | void | void | 200 – OK | Сбросить все соединения со всеми узлами |
| Stream recording | ||||
| /recorder/startup |
mediaSessionId config |
void |
404 - Stream not found 500 - Internal error |
Начать запись потока в указанной медиасессии |
| /recorder/terminate | mediaSessionId | void |
404 - Recorder not found 500 - Internal error |
Завершить запись потока в указанной медиасессии |
| /recorder/find_all | void | List of Recorder | 404 - Recorders not found | Найти записываемые сессии |
| Multiple streams recording | ||||
| /multipleRecorder/startup | uri | void |
409 - Conflict 500 - Internal error |
Запустить рекордер для записи нескольких потоков |
| /multipleRecorder/add |
uri mediaSessionId |
void |
404 - Not found 409 - Conflict 500 - Internal error |
Добавить в рекордер поток из указанной медиасессии |
| /multipleRecorder/find_all | void | List of MultipleRecorder | 404 - Not found | Найти все рекордеры |
| /multipleRecorder/remove |
uri mediaSessionId |
void |
404 - Not found 500 - Internal error |
Удалить поток из рекордера |
| /multipleRecorder/terminate | uri | void |
404 - Not found 409 - Bad uri format 500 - Internal error |
Остановить рекордер |
| Transcoding management | ||||
| /transcoder/startup |
uri remoteStreamName localStreamName encoder |
void |
404 - Stream not found 409 - Conflict 500 - Internal error |
Создать транскодер с указанными параметрами для заданного потока |
| /transcoder/find |
uri remoteStreamName localStreamName status |
List of Transcoder | 404 – Transcoders not found | Найти транскодер по указанным критериям |
| /transcoder/find_all | void | List of Transcoder | 404 – Transcoders not found | Найти все транскодеры |
| /transcoder/terminate |
uri remoteStreamName localStreamName status |
void | 404 - Transcoder not found | Остановить транскодер, подходящий под указанные критерии |
| /transcoder/set_watermark |
uri watermark x y marginTop marginLeft marginBottom marginRight |
void |
200 - OK 400 - Bad request 404 - Not found |
Добавить водяной знак к потоку транскодера |
| Transcoding management v 2 | ||||
| /transcoder2/startup |
uri remoteStreamName localStreamName encoder |
void |
400 - Bad request 404 - Stream not found 409 - Conflict 500 - Internal error |
Создать транскодер с указанными параметрами для заданного потока |
| /transcoder2/find |
uri remoteStreamName localStreamName status |
List of Transcoder | 404 – Transcoders not found | Найти транскодер по указанным критериям |
| /transcoder2/find_all | void | List of Transcoder | 404 – Transcoders not found | Найти все транскодеры |
| /transcoder2/terminate |
uri remoteStreamName localStreamName status |
void | 404 - Transcoder not found | Остановить транскодер, подходящий под указанные критерии |
| /transcoder2/set_watermark |
uri watermark x y marginTop marginLeft marginBottom marginRight |
void |
200 - OK 400 - Bad request 404 - Not found |
Добавить водяной знак к потоку транскодера |
| VOD | ||||
| /vod/startup |
uri localStreamName |
void |
409 - Conflict 500 - Internal error |
Создать VOD live трансляцию из локального файла или файла в сетевом хранилище |
| /vod/find |
uri localStreamName status localMediaSessionId |
List of VOD | 404 – VODs not found | Найти VOD трансляцию по указанным критериям |
| /vod/find_all | void | List of VOD | 404 – VODs not found | Найти все VOD трансляции |
| /vod/terminate |
uri localStreamName status localMediaSessionId |
void | 404 - VOD not found | Остановить VOD трансляцию, подходящую под указанные критерии |
| HLS | ||||
| /hls/startup | name | void |
404 - Stream not found 500 - Internal error |
Запустить HLS нарезку указанного потока |
| /hls/find_all |
offset size |
List of HLS | 404 – Not found | Найти все потоки, для которых есть HLS нарезки |
| /hls/terminate | name | void |
404 – Not found 500 - Internal error |
Завершить или перезапустить HLS нарезку указанного потока |
| /hls/profiles |
hlsId profileName offset size |
HLSProfile |
400 – Bad request 404 – Not found |
Получить статистику профиля нарезки HLS |
| /hls/subscribers |
hlsId offset size |
List of HLSSubscriber |
400 – Bad request 404 – Not found |
Получить список подписчиков на HLS нарезку |
| SFU | ||||
| /sfu/stats | roomName | List of Participant |
400 - Bad request 404 - Not found 500 - Internal error |
Показать текущую статистику комнаты |
| MPEG-TS | ||||
| /mpegts/startup |
localStreamName transport hasAudio hasVideo timeout maxTimestampDiff |
MPEG-TS |
409 - Conflict 500 - Internal error |
Начать публикацию MPEG-TS потока |
| /mpegts/find |
localStreamName uri |
List of MPEG-TS |
404 – Not found 500 - Internal error |
Найти MPEG-TS поток по критериям |
| /mpegts/find_all | void | List of MPEG-TS |
404 – Not found 500 - Internal error |
Найти все опубликованные MPEG-TS потоки |
| /mpegts/terminate |
localStreamName uri |
void |
404 – Not found 500 - Internal error |
Завершить MPEG-TS поток |