Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Описание

Все SDK, предоставляемые WCS: WebSDK, AndroidSDK, iOS SDK используют для взаимодействия с сервером на транспортном уровне протокол WebSocket. Поверх WebSocket реализован набор команд для обмена SDP между клиентом и сервером и установки WebRTC медиасессии.

Обмен командами по WebSocket можно наблюдать во время работы примеров приложений WebSDK, например, Two Way Streaming в браузере Chrome. Для этого откройте инструменты разработчика (F12), раздел Network, выберите имя сервера и перейдите на вкладку Frames

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

connect

При установке соединения с сервером и создании сессии обмен командами производится следующим образом:

1. Клиент отправляет сообщение connection

{
 "message":"connection",
 "data":
   [
     {
       "appKey":"defaultApp",
       "mediaProviders":["WebRTC","MSE","WSPlayer"],
       "clientVersion":"0.5.28",
       "clientOSVersion":"5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36",
       "clientBrowserVersion":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36"
     }
   ]
}

Параметры сообщения

ПараметрОписание
appKeyИдентификатор серверного приложения, которое должно взаимодействовать с бэкенд-сервером во время сеанса
mediaProvidersСписок поддерживаемых клиентом технологий публикации или воспроизведения потока
clientVersionВерсия SDK клиента
clientOSVersionВерсия операционной системы клиента
clientBrpwserVersionВерсия браузера клиента

2. Сервер отправляет сообщение getUserData

{
  "message":"getUserData",
  "data":
    [
      {
        "useWsTunnel":false,
        "useWsTunnelPacketization2":false,
        "useBase64BinaryEncoding":false,
        "mediaProviders":["WebRTC","MSE","WSPlayer"],
        "authToken":"/5.129.23.83:50066/188.40.244.249:8443",
        "status":"ESTABLISHED",
        "clientVersion":"0.5.28",
        "clientOSVersion":"5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36",
        "clientBrowserVersion":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36",
        "forceLogger":false,
        "keepAlive":false
      }
    ]
}

Это сообщение подтверждает установку WebSocket соединения и успешное получение данных от клиента

Параметры сообщения

ПараметрОписание
useWSTunnelИспользуется ли WS-туннель
useWsTunnelPacketization2Используется ли пакетизация при использовании WS-туннеля
useBase64BinaryEncodingИспользуется ли Base64 кодировка
mediaProvidersСписок поддерживаемых клиентом технологий публикации или воспроизведения потока
authTokenТокен авторизации, он же идентификатор сессии, сформированный из IP адреса и порта клиента и сервера
statusСтатус WebSocket сессии
clientVersionВерсия SDK клиента
clientOSVersionВерсия операционной системы клиента
clientBrpwserVersionВерсия браузера клиента
forceLoggerВключено ли принудительное логирование
keepAliveИспользуются ли Keep Alive

3. Сервер отправляет сообщение getVersion

{
  "message":"getVersion",
  "data":
    [
      "5.1.3674-9b5b684ac81a1c7e62d7a38e0c3a2c2433faacf9"
    ]
}

В сообщении указывается версия WCS

4. При отсутствии других сообщений со стороны клиента, сервер периодически отправляет сообщение ping

{
  "message":"ping",
  "data":[]
}

на которое клиент должен ответить сообщением pong

{
  "message":"pong",
  "data":[null]
}

publish


unpublish


play


stop



  • No labels