Рассмотрим работу REST-метода на примере метода /publishStream.
В тестовом интерфейсе Streamer пользователь отправляет видеопоток на WCS сервер.
При нажатии кнопки Start, интерфейс вызывает функцию stream.publish(), которая начинает трансляцию.
Пошаговая схема начала публикации и вызова REST-метода publishStream:
- На стороне клиента вызывается stream.publish()
- WCS обращается к локальному web-серверу по адресу http://localhost:9091/publishStream
- WCS получает от локального web-сервера ответ 200 OK
- WCS отправляет клиенту событие StreamStatusEvent, status = PUBLISHING
Окончательным результатом будет отображение статуса PUBLISHING на web-странице:
При этом вызов метода /publishStream (шаг 2) при разборе HTTP-протокола в Wireshark, выглядит так:
Request | Response |
---|---|
HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: application/json;charset=UTF-8 Transfer-Encoding: chunked Date: Sat, 25 Feb 2017 05:51:11 GMT
{ "nodeId":"H4gfHeULtX6ddGGUWwZxhUNyqZHUFH8j@192.168.1.59", "appKey":"defaultApp", "sessionId":"/192.168.1.38:52791/192.168.1.59:8443", "mediaSessionId":"87c5ff20-fb59-11e6-812c-1b28ccb49323", "name":"84cac22c", "published":true, "hasVideo":true, "hasAudio":true, "status":"PENDING", "record":false, "width":0, "height":0, "bitrate":0, "quality":0, "mediaProvider":"WebRTC" }
|