Versions Compared

Key

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

...

  • - HTTP: http://test.flashphoner.com:90918081/rest-api/pull/pull
  • - HTTPS: https://test.flashphoner.com:88888444/rest-api/pull/pull

Здесь:

  • - test.flashphoner.com - адрес WCS-сервера
  • - 9091 8081 - стандартный REST / HTTP порт WCS-сервера
  • - 8888 8444 - стандартный HTTPS порт
  • - rest-api - обязательная часть URL
  • - /pull/pull - используемый REST-метод

REST-методы и статусы ответа

REST-метод

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

Пример тела REST-ответа

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

Описание

/pull/pull

Code Block
languagejs
themeRDark
{
 "uri":"wss://demo.flashphoner.com:8443",
 "localStreamName": "testStream",
 "remoteStreamName": "testStream"
}

409 - Conflict

500 - Internal error

 


Извлечь WebRTC-поток по указанному URL

 


/pull/find_all
Code Block
languagejs
themeRDark
{
 "localMediaSessionId": "5a072377-73c1-4caf-abd3",
 "remoteMediaSessionId": null,
 "localStreamName": "testStream",
 "remoteStreamName": "testStream",
 "uri": "wss://demo.flashphoner.com:8443",
 "status": "NEW"
}

200 – потоки найдены

500 - Internal error

Найти все извлеченные WebRTC-потоки

/pull/terminate

Code Block
languagejs
themeRDark
{
 "uri":"wss://demo.flashphoner.com:8443",
 "localStreamName": "testStream",
 "remoteStreamName": "testStream"
}

200 - поток завершен

500 - Internal error

Завершить извлеченный WebRTC-поток

 

 Параметры

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

Описание

Пример

uri

Websocket URL

WebRTC

WCS-

потока

сервере

wss://demo.flashphoner.com:8443

localMediaSessionId

Идентификатор сессии

5a072377-73c1-4caf-abd3

remoteMediaSessionId

Идентификатор сессии на дргуом сервере

12345678-abcd-dead-beaf

localStreamName

Локальное имя, присвоенное захваченному потоку. По данному имени поток может быть запрошен с WCS сервера

testStream

remoteStreamName

Имя захватываемого потока на другом сервере

testStream

status

Текущий статус потока

NEW

Настройка

По умолчанию, захват потока производится по незащищенному соединению, т.е. URL WCS-сервера должен задаваться в виде ws://demo.flashphoner.com:8080. Чтобы использовать Secure Websocket, необходимо в файле настроек flashphoner.properties указать параметр

Code Block
languagebash
themeRDark
wcs_agent_ssl=true

Изменения в настройку должны быть внесены на обоих WCS-серверах: том, который публикует поток, и том, который этот поток захватывает.

Краткое руководство по тестированию

1. Для теста используем:

  • два WCS-сервера;
  • браузер Chrome и REST-клиент для отправки запросов на сервер;
  • веб-приложение Two Way Streaming для публикации потока;
  • веб-приложение Player для воспроизведения захваченного потока в браузере.

...

ConnectionStatusEvent ESTABLISHED code

Code Block
languagejs
themeRDark
    Flashphoner.createSession({urlServer: url}).on(SESSION_STATUS.ESTABLISHED, function(session){
        setStatus(session.status());
        //session connected, start playback
        playStream(session);
    }).on(SESSION_STATUS.DISCONNECTED, function(){
        ...
    }).on(SESSION_STATUS.FAILED, function(){
        ...
    });

...

StreamStatusEvent, статус STOPPED code

Code Block
languagejs
themeRDark
    stream = session.createStream(options).on(STREAM_STATUS.PENDING, function(stream) {
        ...
    }).on(STREAM_STATUS.PLAYING, function(stream) {
        ...
    }).on(STREAM_STATUS.STOPPED, function() {
        setStatus(STREAM_STATUS.STOPPED);
        onStopped();
    }).on(STREAM_STATUS.FAILED, function(stream) {
        ...
    }).on(STREAM_STATUS.NOT_ENOUGH_BANDWIDTH, function(stream){
        ...
    });
    stream.play();

...