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 поток |