Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

REST-метод

Пример тела REST-запроса

Пример ответа

Статусы ответа

Описание

/push/startup

Code Block
languagejs
themeRDark
{
"streamName": "name",
"rtmpUrl": "rtmp://localhost:1935/live",
"rtmpTransponderFullUrl": false
"options": {}
}
Code Block
themeRDark
{
"mediaSessionId": "eume87rjk3df1i9u14elffga6t",
"streamName": "rtmp_name",
"rtmpUrl": "rtmp://localhost:1935/live",
"width": 320,
"height": 240,
"muted": false,
"soundEnabled": false,
"options": {}
}

409 - Conflict

500 - Internal error

Создает транспондер, который подписывается на указанный поток и отправляет медиа трафик на указанный rtmpUrl.


Имя потока, указанное в запросе, может быть именем уже публикуемого потока или именем зарезервированным при создании SIP-звонка (для отправки медиа трафика, полученного со стороны SIP).


Если транспондер для такого потока и rtmpUrl уже существует, возвращает 409 Conflict.

/push/find

Code Block
languagejs
themeRDark
{
"streamName": "name",
"rtmpUrl": "rtmp://localhost:1935/live",
}
Code Block
languagejs
themeRDark
[{
"mediaSessionId": "eume87rjk3df1i9u14elffga6t",
"streamName": "rtmp_name",
"rtmpUrl": "rtmp://localhost:1935/live",
"width": 320,
"height": 240,
"muted": false,
"soundEnabled": false,
"options": {}
}]

404 - Transponder not found

500 - Internal error

Найти транспондеры по фильтру

/push/find_all

 

Code Block
languagejs
themeRDark
[{
"mediaSessionId": "eume87rjk3df1i9u14elffga6t",
"streamName": "rtmp_name",
"rtmpUrl": "rtmp://localhost:1935/live",
"width": 320,
"height": 240,
"muted": false,
"soundEnabled": false,
"options": {}
}]

404 - Not found any transponder

500 - Internal error

Найти все транспондеры

/push/terminate

Code Block
languagejs
themeRDark
{
"mediaSessionId": "eume87rjk3df1i9u14elffga6t"
}

 

404 - Not found transponder

500 - Internal error

Завершить работу транспондера

/push/mute

Code Block
languagejs
themeRDark
{
"mediaSessionId": "eume87rjk3df1i9u14elffga6t"
}

void

404 - Not found transponder

500 - Internal error

Выключить аудио

/push/unmute

Code Block
languagejs
themeRDark
{
"mediaSessionId": "eume87rjk3df1i9u14elffga6t"
}

void

404 - Not found transponder

500 - Internal error

Включить аудио

/push/sound_on

Code Block
languagejs
themeRDark
{
"mediaSessionId": "eume87rjk3df1i9u14elffga6t"
"soundFile": "test.wav"
"loop": true
}


 

void

404 - Not found transponder

404 - No such file

500 - Internal error

Вставить аудио из RIFF WAV файла из директории /usr/local/FlashphonerWebCallServer/media/ на WCS-сервере

/push/sound_off

Code Block
languagejs
themeRDark
{
"mediaSessionId": "eume87rjk3df1i9u14elffga6t"
}

void

404 - Not found transponder

500 - Internal error

Завершить вставку аудио из файла

...

Имя параметра

Описание

Пример

streamName

Имя ретранслируемого потока

streamName

rtmpUrl

URL сервера, на который производится ретрансляция

rtmp://localhost:1935/live

rtmpFlashVersionВерсия Flash RTMP-клиентаLNX 76.219.189.0

options

Опции транспондера

{"action": "mute"}

mediaSessionId

Уникальный идентификатор транспондера

eume87rjk3df1i9u14elffga6t

width

Ширина изображения

320

height

Высота изображения

240

keyFrameIntervalИнтервал ключевых кадров видео60
fpsЧастота кадров видео30

muted

Звук приглушен

true

soundEnabled

Звук отключен

true

soundFile

Файл звуковой дорожки

test.wav

loop

Повтор

false

rtmpTransponderFullUrlБрать имя для публикации на RTMP сервере из RTMP URLfalse

Начиная со сборки 5.2.785, добавлены следующие параметры: rtmpFlashVersion, keyFrameInterval и fps.

...

Начиная со сборки 5.2.785, добавлены другие два параметра, с которыми включается транскодинг: keyFrameInterval и fps. Транскодинг для ретранслируемого потока включается, если задан любой из них или высота картинки.

Указание имени потока для публикации на RTMP сервере

По умолчанию, поток будет опубликован на RTMP сервере с тем же именем, под которым он опубликован на WCS, и префиксом rtmp_, например rtmp_test. Это поведение меняется настройками

Code Block
themeRDark
rtmp_transponder_full_url=true
rtmp_transponder_stream_name_prefix=

Однако, эти настройки применяются ко всем ретрансляциям, и требуют перезапуска сервера. Поэтому в сборке 5.2.860 добавлен параметр запроса /push/startup, позволяющий указать полный RTMP URL, включая имя потока на RTMP сервере

Code Block
languagejs
themeRDark
POST /rest-api/push/startup HTTP/1.1
Host: localhost:8081
Content-Type: application/json

{
 "streamName":"test",
 "rtmpUrl":"rtmp://rtmp.flashphoner.com:1935/live/test",
 "rtmpTransponderFullUrl":true
}

В этом случае поток будет опубликован на RTMP сервере под именем, указанным в RTMP URL, даже при настройках сервера по умолчанию

Отправка REST-запроса к WCS-серверу

...