Versions Compared

Key

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

...

Поддерживаемые платформы и браузеры

 


Chrome

Firefox

Safari 11

Edge

Windows

+

+


+

Mac OS

+

+

+


Android

+

+



iOS

-

-

+


Поддерживаемые кодеки

  • Видео: H.264
  • Аудио: AAC, G.711, Speex 16

...

 REST-вызовы и статусы ответа

REST-метод

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

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

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

Описание

/push/startup

Code Block
languagejs
themeRDark
{
"streamName": "name",
"rtmpUrl": "rtmp://localhost:1935/live",
"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

options

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

{"action": "mute"}

mediaSessionId

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

eume87rjk3df1i9u14elffga6t

width

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

320

height

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

240

muted

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

true

soundEnabled

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

true

soundFile

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

test.wav

loop

Повтор

false

Параметр options может быть использован, чтобы выключить аудио или вставить аудио из файла при создании транспондера.

...

Если сервер, на который ретранслируется поток, предъявляет определенные требования к имени (FacebookYoutube), данная строка должна быть закомментирована.

Настройка

Code Block
languagebash
themeRDark
rtmp_transponder_full_url=true

включает возможность передачи параметров запроса серверу, на который ретранслируется поток

Передача параметров в URL сервера

Существует возможность передать некие параметры серверу, на который ретранслируется поток, указав их в URL сервера, например

Code Block
languagejs
themeRDark
rtmp://myrtmpserver.com:1935/live/stream?param1=test1&param2=test2

Для этого необходимо указать настройку в файле flashphoner.properties

Code Block
languagebash
themeRDark
rtmp_transponder_full_url=true

Тогда при отправке WCS-серверу запроса /push/startup или вызове createStream() с параметрами

Code Block
languagejs
themeRDark
{
"streamName": "rtmp_test",
"rtmpUrl": "rtmp://myrtmpserver.com:1935/live/stream?param1=test1&param2=test2"
}

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

Code Block
languagejs
themeRDark
onConnect: AMFDataList: [0] connect, [1] 1.0, [2] object
{Obj[]: app: "live/stream?param1=test1&param2=test2", type: "nonprivate", flashVer: "FMLE/3.0 (compatible; Lavf54.59.106)", swfUrl: "rtmp://myrtmpserver.com:1935/live/stream?param1=test1&param2=test2", tcUrl: "rtmp://myrtmpserver.com:1935/live/stream?param1=test1&param2=test2"}

Автоматическая ретрансляция на указанный сервер

...