...
- HTTP: http://streaming.flashphoner.com:90918081/rest-api/push/startup
- HTTPS: https://streaming.flashphoner.com:88888444/rest-api/push/startup
Здесь:
- streaming.flashphoner.com - адрес WCS-сервера
- 9091 8081 - стандартный REST / HTTP порт WCS-сервера
- 88888444 - стандартный HTTPS порт
- rest-api - обязательный префикс
- /push/startup - используемый REST-вызов
RESTREST-вызовы и статусы ответа
REST-метод | Пример тела REST-запроса | Пример ответа | Статусы ответа | Описание | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
/push/startup |
|
| 409 - Conflict 500 - Internal error | Создает транспондер, который подписывается на указанный поток и отправляет медиа трафик на указанный rtmpUrl. Имя потока, указанное в запросе, может быть именем уже публикуемого потока или именем зарезервированным при создании SIP-звонка (для отправки медиа трафика, полученного со стороны SIP). Если транспондер для такого потока и rtmpUrl уже существует, возвращает 409 Conflict. | ||||||||||||||
/push/find |
|
| 404 - Transponder not found 500 - Internal error | Найти транспондеры по фильтру | ||||||||||||||
/push/find_all |
|
| 404 - Not found any transponder 500 - Internal error | Найти все транспондеры | ||||||||||||||
/push/terminate |
|
| 404 - Not found transponder 500 - Internal error | Завершить работу транспондера | ||||||||||||||
/push/mute |
| void | 404 - Not found transponder 500 - Internal error | Выключить аудио | ||||||||||||||
/push/unmute |
| void | 404 - Not found transponder 500 - Internal error | Включить аудио | ||||||||||||||
/push/sound_on |
| void | 404 - Not found transponder 404 - No such file 500 - Internal error | Вставить аудио из RIFF WAV файла из директории /usr/local/FlashphonerWebCallServer/media/ на WCS-сервере | ||||||||||||||
/push/sound_off |
| void | 404 - Not found transponder 500 - Internal error | Завершить вставку аудио из файла |
ПараметрыПараметры
Имя параметра | Описание | Пример |
---|---|---|
streamName | Имя ретранслируемого потока | streamName |
rtmpUrl | URL сервера, на который производится ретрансляция | |
options | Опции транспондера | {"action": "mute"} |
mediaSessionId | Уникальный идентификатор транспондера | eume87rjk3df1i9u14elffga6t |
width | Ширина изображения | 320 |
height | Высота изображения | 240 |
muted | Звук приглушен | true |
soundEnabled | Звук отключен | true |
soundFile | Файл звуковой дорожки | test.wav |
loop | Повтор | false |
...
Существует возможность передать некие параметры запроса серверу, на который ретранслируется поток, указав их в URL сервера, например
Code Block | ||||
---|---|---|---|---|
| ||||
rtmp://myrtmpserver.com:1935/liveapp_name/stream?param1user=test1user1¶m2pass=test2 |
...
pass1 |
или, если публикация предполагается в отдельный экземпляр приложения на RTMP-сервере
Code Block | ||||
---|---|---|---|---|
| ||||
rtmp_transponder_full_url=true |
Тогда при отправке WCS-серверу запроса /push/startup или вызове createStream() с параметрами
Code Block | ||||
---|---|---|---|---|
| ||||
{
"streamName": "rtmp_test",
"rtmpUrl": "rtmp://myrtmpserver.com:1935/live/stream?param1=test1¶m2=test2"
} |
RTMP-сервер при установке соединения для републикации потока получит запрос вида
Code Block | ||||
---|---|---|---|---|
| ||||
onConnect: AMFDataList: [0] connect, [1] 1.0, [2] object {Obj[]: app: "live/stream?param1=test1¶m2=test2", type: "nonprivate", flashVer: "FMLE/3.0 (compatible; Lavf54.59.106)", swfUrl: "://myrtmpserver.com:1935/app_name/app_instance/?user=user1&pass=pass1 |
Здесь
- myrtmpserver.com - имя RTMP-сервера
- app_name - имя приложения на RTMP-сервере
- app_instance - имя экземпляра приложения на RTMP-сервере
Имя потока указывается в параметре REST-запроса /push/startup 'streamName' или в соответствующей опции при создании потока.
Пример установки RTMP-соединения с передачей параметров запроса
Передача имени потока в URL
В некоторых случаях имя потока при публикации необходимо передать в URL. Для этого необходимо указать настройку в файле flashphoner.properties
Code Block | ||||
---|---|---|---|---|
| ||||
rtmp_transponder_full_url=true |
Тогда, для публикации в параметре REST-запроса /push/startup 'rtmpUrl' или в соответствующей опции при создании потока указывается URL вида
Code Block | ||||
---|---|---|---|---|
| ||||
rtmp://myrtmpserver.com:1935/live/stream?param1=test1¶m2=test2", tcUrl: "app_name/stream_name |
или, для публикации в другой экземпляр приложения
Code Block | ||||
---|---|---|---|---|
| ||||
rtmp://myrtmpserver.com:1935/live/stream?param1=test1¶m2=test2"}/app_name/app_instance/stream_name |
В этом случае параметр REST-запроса /push/startup 'streamName' или соответствующая опция при создании потока игнорируется.
Автоматическая ретрансляция на указанный сервер
...