...
Обмен командами по WebSocket можно наблюдать во время работы примеров приложений WebSDK, например, Two Way Streaming в браузере Chrome. Для этого откройте инструменты разработчика (нажав на клавишу F12), раздел Network, выберите имя сервера и перейдите на вкладку Frames
...
Code Block |
---|
|
{
"message":"publishStream",
"data":
[
{
"mediaSessionId":"90e14ad0-fdb2-11e8-bce2-a3f72476fb49",
"name":"test",
"published":true,
"hasVideo":true,
"hasAudio":true,
"status":"PENDING",
"record":false,
"mediaProvider":"WebRTC",
"sdp":"v=0\r\no=- 1712288193115840199 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio video\r\na=msid-semantic: WMS EZ5Uy6UkPtEoScWkyAcP5rabBY6buERZjQpH\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:qgOt\r\na=ice-pwd:KEfomSLSL4Pxj78N6T3/HAMY\r\na=ice-options:trickle\r\na=fingerprint:sha-256 EE:BC:55:18:45:6C:B4:5C:28:6F:5D:F9:42:63:1B:A2:99:8D:7A:0B:19:C3:F5:62:12:63:82:B6:F0:2C:36:E2\r\na=setup:actpass\r\na=mid:audio\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=sendonly\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:3498121776 cname:Ft3gt16szZ3kAllO\r\na=ssrc:3498121776 msid:EZ5Uy6UkPtEoScWkyAcP5rabBY6buERZjQpH 55944815-d49b-4ab2-bc19-3ecdca00b4a2\r\na=ssrc:3498121776 mslabel:EZ5Uy6UkPtEoScWkyAcP5rabBY6buERZjQpH\r\na=ssrc:3498121776 label:55944815-d49b-4ab2-bc19-3ecdca00b4a2\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 123 127 122 125 107 108 109 124\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:qgOt\r\na=ice-pwd:KEfomSLSL4Pxj78N6T3/HAMY\r\na=ice-options:trickle\r\na=fingerprint:sha-256 EE:BC:55:18:45:6C:B4:5C:28:6F:5D:F9:42:63:1B:A2:99:8D:7A:0B:19:C3:F5:62:12:63:82:B6:F0:2C:36:E2\r\na=setup:actpass\r\na=mid:video\r\na=extmap:2 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 urn:3gpp:video-orientation\r\na=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:10 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07\r\na=sendonly\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=fmtp:98 profile-id=0\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:100 H264/90000\r\na=rtcp-fb:100 goog-remb\r\na=rtcp-fb:100 transport-cc\r\na=rtcp-fb:100 ccm fir\r\na=rtcp-fb:100 nack\r\na=rtcp-fb:100 nack pli\r\na=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f\r\na=rtpmap:101 rtx/90000\r\na=fmtp:101 apt=100\r\na=rtpmap:102 H264/90000\r\na=rtcp-fb:102 goog-remb\r\na=rtcp-fb:102 transport-cc\r\na=rtcp-fb:102 ccm fir\r\na=rtcp-fb:102 nack\r\na=rtcp-fb:102 nack pli\r\na=fmtp:102 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f\r\na=rtpmap:123 rtx/90000\r\na=fmtp:123 apt=102\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=127\r\na=rtpmap:125 H264/90000\r\na=rtcp-fb:125 goog-remb\r\na=rtcp-fb:125 transport-cc\r\na=rtcp-fb:125 ccm fir\r\na=rtcp-fb:125 nack\r\na=rtcp-fb:125 nack pli\r\na=fmtp:125 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f\r\na=rtpmap:107 rtx/90000\r\na=fmtp:107 apt=125\r\na=rtpmap:108 red/90000\r\na=rtpmap:109 rtx/90000\r\na=fmtp:109 apt=108\r\na=rtpmap:124 ulpfec/90000\r\na=ssrc-group:FID 3064307282 2143201641\r\na=ssrc:3064307282 cname:Ft3gt16szZ3kAllO\r\na=ssrc:3064307282 msid:EZ5Uy6UkPtEoScWkyAcP5rabBY6buERZjQpH 77c7bd16-9a65-4f62-9d01-6ecdd3e58f8a\r\na=ssrc:3064307282 mslabel:EZ5Uy6UkPtEoScWkyAcP5rabBY6buERZjQpH\r\na=ssrc:3064307282 label:77c7bd16-9a65-4f62-9d01-6ecdd3e58f8a\r\na=ssrc:2143201641 cname:Ft3gt16szZ3kAllO\r\na=ssrc:2143201641 msid:EZ5Uy6UkPtEoScWkyAcP5rabBY6buERZjQpH 77c7bd16-9a65-4f62-9d01-6ecdd3e58f8a\r\na=ssrc:2143201641 mslabel:EZ5Uy6UkPtEoScWkyAcP5rabBY6buERZjQpH\r\na=ssrc:2143201641 label:77c7bd16-9a65-4f62-9d01-6ecdd3e58f8a\r\n",
"bitrate":0,
"minBitrate":0,
"maxBitrate":0
}
]
} |
Параметры сообщения
Параметр | Описание |
---|
mediaSessionId | Идентификатор WebRTC медиасессии |
name | Имя публикуемого потока |
hasVideo | Присутствует ли видео в потоке |
hasAudio | Присутствует ли аудио в потоке |
status | Статус потока |
record | Записывать ли поток на сервере |
mediaProvider | Технология, используемая для публикации |
sdp | SDP, предлагаемое клиентом |
bitrate | Битрейт потока (если 0, то устанавливается в ходе публикации) |
minBitrate | Минимальный битрейт потока (если 0, то не ограничивается) |
maxBitrate | Максимальный битрейт потока (если 0, то не ограничивается) |
2. Сервер отправляет сообщение setRemoteSDP
...
Code Block |
---|
|
{
"message":"notifyStreamStatusEvent",
"data":
[
{
"mediaSessionId":"90e14ad0-fdb2-11e8-bce2-a3f72476fb49",
"name":"test",
"published":true,
"hasVideo":true,
"hasAudio":true,
"status":"PUBLISHING",
"audioCodec":"opus",
"videoCodec":"H264",
"record":false,
"width":0,
"height":0,
"bitrate":0,
"minBitrate":0,
"maxBitrate":0,
"quality":0,
"createDate":1544579813186,
"streamInfo":
{
"nodeId":null,
"appKey":null,
"sessionId":null,
"mediaSessionId":"90e14ad0-fdb2-11e8-bce2-a3f72476fb49",
"name":"test",
"samplingTime":null,
"recordTimestamp":null,
"recordStarted":false
},
"mediaProvider":"WebRTC"
}
]
} |
Параметры сообщения
Параметр | Описание |
---|
mediaSessionId | Идентификатор WebRTC медиасессии |
name | Имя публикуемого потока |
published | Поток опубликован на сервере |
hasVideo | Присутствует ли видео в потоке |
hasAudio | Присутствует ли аудио в потоке |
status | Статус потока |
audioCodec | Аудиокодек |
videoCodec | Видеокодек |
record | Записывается ли поток на сервере |
width | Ширина кадра (если 0, то устанавливается в ходе публикации) |
height | Высота кадра (если 0, то устанавливается в ходе публикации) |
bitrate | Битрейт потока (если 0, то устанавливается в ходе публикации) |
minBitrate | Минимальный битрейт потока (если 0, то не ограничивается) |
maxBitrate | Максимальный битрейт потока (если 0, то не ограничивается) |
quality | Показатель качества потока |
createDate | Дата создания в виде целого числа |
streamInfo | Дополнительная информация о потоке на сервере |
mediaProvider | Технология, используемая для публикации |
unpublish
При остановке публикации потока обмен командами производится следующим образом:
...
Code Block |
---|
|
{
"message":"unPublishStream",
"data":
[
{
"mediaSessionId":"1d91ae20-fdb3-11e8-bddf-9b115426f01b",
"name":"test",
"published":true,
"hasVideo":true,
"hasAudio":true,
"status":"PUBLISHING",
"record":false
}
]
} |
Параметры сообщения
Параметр | Описание |
---|
mediaSessionId | Идентификатор WebRTC медиасессии |
name | Имя публикуемого потока |
published | Поток опубликован на сервере |
hasVideo | Присутствует ли видео в потоке |
hasAudio | Присутствует ли аудио в потоке |
status | Статус потока |
record | Записывается ли поток на сервере |
2. Сервер останавливает публикацию и отправляет сообщение notifyStreamStatusEvent
Code Block |
---|
|
{
"message":"notifyStreamStatusEvent",
"data":
[
{
"mediaSessionId":"1d91ae20-fdb3-11e8-bddf-9b115426f01b",
"name":"test",
"published":true,
"hasVideo":true,
"hasAudio":true,
"status":"UNPUBLISHED",
"audioCodec":"opus",
"videoCodec":"H264",
"info":"Stopped by publisher stop",
"record":false,
"width":320,
"height":240,
"bitrate":0,
"minBitrate":0,
"maxBitrate":0,
"quality":0,
"createDate":1544580045898,
"streamInfo":
{
"nodeId":null,
"appKey":null,
"sessionId":null,
"mediaSessionId":"1d91ae20-fdb3-11e8-bddf-9b115426f01b",
"name":"test",
"samplingTime":null,
"recordTimestamp":null,
"recordStarted":false
},
"mediaProvider":"WebRTC"
}
]
} |
Параметры сообщения
Параметр | Описание |
---|
mediaSessionId | Идентификатор WebRTC медиасессии |
name | Имя публикуемого потока |
published | Поток опубликован на сервере |
hasVideo | Присутствует ли видео в потоке |
hasAudio | Присутствует ли аудио в потоке |
status | Статус потока |
audioCodec | Аудиокодек |
videoCodec | Видеокодек |
record | Записывается ли поток на сервере |
width | Ширина кадра (если 0, то устанавливается в ходе публикации) |
height | Высота кадра (если 0, то устанавливается в ходе публикации) |
bitrate | Битрейт потока (если 0, то устанавливается в ходе публикации) |
minBitrate | Минимальный битрейт потока (если 0, то не ограничивается) |
maxBitrate | Максимальный битрейт потока (если 0, то не ограничивается) |
quality | Показатель качества потока |
createDate | Дата создания в виде целого числа |
streamInfo | Дополнительная информация о потоке на сервере |
mediaProvider | Технология, используемая для публикации |
play
При воспроизведении потока обмен командами производится следующим образом:
...
Code Block |
---|
|
{
"message":"playStream",
"data":
[
{
"mediaSessionId":"22588500-fdb3-11e8-bddf-9b115426f01b",
"name":"test",
"published":false,
"hasVideo":true,
"hasAudio":true,
"status":"PENDING",
"record":false,
"width":0,
"height":0,
"mediaProvider":"WebRTC",
"sdp":"v=0\r\no=- 6636414462219466101 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio video\r\na=msid-semantic: WMS\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 110 112 113 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:33IG\r\na=ice-pwd:R78vJJetyP2WeWpU6QWKGbJA\r\na=ice-options:trickle\r\na=fingerprint:sha-256 72:67:0A:92:8B:C2:CB:13:4E:7F:66:BB:AF:99:4A:0C:D9:C3:C1:3E:B9:B8:24:EB:2E:64:39:B2:19:76:85:09\r\na=setup:actpass\r\na=mid:audio\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=recvonly\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:103 ISAC/16000\r\na=rtpmap:104 ISAC/32000\r\na=rtpmap:9 G722/8000\r\na=rtpmap:0 PCMU/8000\r\na=rtpmap:8 PCMA/8000\r\na=rtpmap:106 CN/32000\r\na=rtpmap:105 CN/16000\r\na=rtpmap:13 CN/8000\r\na=rtpmap:110 telephone-event/48000\r\na=rtpmap:112 telephone-event/32000\r\na=rtpmap:113 telephone-event/16000\r\na=rtpmap:126 telephone-event/8000\r\nm=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 123 127 122 125 107 108 109 124\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:33IG\r\na=ice-pwd:R78vJJetyP2WeWpU6QWKGbJA\r\na=ice-options:trickle\r\na=fingerprint:sha-256 72:67:0A:92:8B:C2:CB:13:4E:7F:66:BB:AF:99:4A:0C:D9:C3:C1:3E:B9:B8:24:EB:2E:64:39:B2:19:76:85:09\r\na=setup:actpass\r\na=mid:video\r\na=extmap:2 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 urn:3gpp:video-orientation\r\na=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=extmap:10 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07\r\na=recvonly\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:96 VP8/90000\r\na=rtcp-fb:96 goog-remb\r\na=rtcp-fb:96 transport-cc\r\na=rtcp-fb:96 ccm fir\r\na=rtcp-fb:96 nack\r\na=rtcp-fb:96 nack pli\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 apt=96\r\na=rtpmap:98 VP9/90000\r\na=rtcp-fb:98 goog-remb\r\na=rtcp-fb:98 transport-cc\r\na=rtcp-fb:98 ccm fir\r\na=rtcp-fb:98 nack\r\na=rtcp-fb:98 nack pli\r\na=fmtp:98 profile-id=0\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 apt=98\r\na=rtpmap:100 H264/90000\r\na=rtcp-fb:100 goog-remb\r\na=rtcp-fb:100 transport-cc\r\na=rtcp-fb:100 ccm fir\r\na=rtcp-fb:100 nack\r\na=rtcp-fb:100 nack pli\r\na=fmtp:100 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42001f\r\na=rtpmap:101 rtx/90000\r\na=fmtp:101 apt=100\r\na=rtpmap:102 H264/90000\r\na=rtcp-fb:102 goog-remb\r\na=rtcp-fb:102 transport-cc\r\na=rtcp-fb:102 ccm fir\r\na=rtcp-fb:102 nack\r\na=rtcp-fb:102 nack pli\r\na=fmtp:102 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42001f\r\na=rtpmap:123 rtx/90000\r\na=fmtp:123 apt=102\r\na=rtpmap:127 H264/90000\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:122 rtx/90000\r\na=fmtp:122 apt=127\r\na=rtpmap:125 H264/90000\r\na=rtcp-fb:125 goog-remb\r\na=rtcp-fb:125 transport-cc\r\na=rtcp-fb:125 ccm fir\r\na=rtcp-fb:125 nack\r\na=rtcp-fb:125 nack pli\r\na=fmtp:125 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f\r\na=rtpmap:107 rtx/90000\r\na=fmtp:107 apt=125\r\na=rtpmap:108 red/90000\r\na=rtpmap:109 rtx/90000\r\na=fmtp:109 apt=108\r\na=rtpmap:124 ulpfec/90000\r\n",
"bitrate":0,
"minBitrate":0,
"maxBitrate":0,
"quality":0
}
]
} |
Параметры сообщения
Параметр | Описание |
---|
mediaSessionId | Идентификатор WebRTC медиасессии |
name | Имя потока для воспроизведения |
published | Поток опубликован на сервере (игнорируется) |
hasVideo | Присутствует ли видео в потоке |
hasAudio | Присутствует ли аудио в потоке |
status | Статус потока (всегда "PENDING") |
record | Записывать ли поток на сервере (игнорируется) |
width | Ширина кадра (если 0, то воспроизвести, как опубликовано) |
height | Высота кадра (если 0, то воспроизвести, как опубликовано) |
mediaProvider | Технология, используемая для воспроизведения |
sdp | SDP, предлагаемое клиентом |
bitrate | Битрейт потока (если 0, то устанавливается в ходе воспроизведения) |
minBitrate | Минимальный битрейт потока (если 0, то не ограничивается) |
maxBitrate | Максимальный битрейт потока (если 0, то не ограничивается) |
quality | Показатель качества потока (если 0, то воспроизвести, как опубликовано) |
2. Сервер отправляет сообщение notifyAudioCodec
...
Code Block |
---|
|
{
"message":"notifyStreamStatusEvent",
"data":
[
{
"mediaSessionId":"22588500-fdb3-11e8-bddf-9b115426f01b",
"name":"test",
"published":false,
"hasVideo":true,
"hasAudio":true,
"status":"PLAYING",
"audioCodec":"opus",
"videoCodec":"H264",
"record":false,
"width":0,
"height":0,
"bitrate":0,
"minBitrate":0,
"maxBitrate":0,
"quality":0,
"createDate":1544580053573,
"streamInfo":
{
"nodeId":null,
"appKey":null,
"sessionId":null,
"mediaSessionId":"22588500-fdb3-11e8-bddf-9b115426f01b",
"name":"test",
"samplingTime":null,
"recordTimestamp":null,
"recordStarted":false
},
"mediaProvider":"WebRTC"
}
]
} |
Параметры сообщения
Параметр | Описание |
---|
mediaSessionId | Идентификатор WebRTC медиасессии |
name | Имя воспроизводимого потока |
published | Поток опубликован на сервере (игнорируется) |
hasVideo | Присутствует ли видео в потоке |
hasAudio | Присутствует ли аудио в потоке |
status | Статус потока |
audioCodec | Аудиокодек |
videoCodec | Видеокодек |
record | Записывается ли поток на сервере |
width | Ширина кадра (если 0, то устанавливается в ходе воспроизведения) |
height | Высота кадра (если 0, то устанавливается в ходе воспроизведения) |
bitrate | Битрейт потока (если 0, то устанавливается в ходе воспроизведения) |
minBitrate | Минимальный битрейт потока (если 0, то не ограничивается) |
maxBitrate | Максимальный битрейт потока (если 0, то не ограничивается) |
quality | Показатель качества потока |
createDate | Дата создания в виде целого числа |
streamInfo | Дополнительная информация о потоке на сервере |
mediaProvider | Технология, используемая для воспроизведения |
4. Сервер отправляет сообщение notifyVideoFormat
Code Block |
---|
|
{
"message":"notifyVideoFormat",
"data":
[
{
"streamerVideoWidth":320,
"streamerVideoHeight":240,
"mediaSessionId":"22588500-fdb3-11e8-bddf-9b115426f01b",
"status":"RESIZE"
}
]
} |
Параметры сообщения
Параметр | Описание |
---|
streamerVideoWidth | Ширина публикуемого кадра |
streamerVideoHeight | Высота публикуемого кадра |
mediaSessionId | Идентификатор WebRTC медиасессии |
status | Статус видеодорожки потока |
stop
При остановке воспроизведения потока обмен командами производится следующим образом:
...
Code Block |
---|
|
{
"message":"stopStream",
"data":
[
{
"mediaSessionId":"22588500-fdb3-11e8-bddf-9b115426f01b",
"name":"test",
"published":false,
"hasVideo":true,
"hasAudio":true,
"status":"PLAYING",
"record":false
}
]
} |
Параметры сообщения
Параметр | Описание |
---|
mediaSessionId | Идентификатор WebRTC медиасессии |
name | Имя воспроизводимого потока |
published | Поток опубликован на сервере (игнорируется) |
hasVideo | Присутствует ли видео в потоке |
hasAudio | Присутствует ли аудио в потоке |
status | Статус потока |
record | Записывается ли поток на сервере |
2. Сервер останавливает воспроизведение и отправляет сообщение notifyStreamStatusEvent
Code Block |
---|
|
{
"message":"notifyStreamStatusEvent",
"data":
[
{
"mediaSessionId":"22588500-fdb3-11e8-bddf-9b115426f01b",
"name":"test",
"published":false,
"hasVideo":true,
"hasAudio":true,
"status":"STOPPED",
"audioCodec":"opus",
"videoCodec":"H264",
"info":"Stopped by user",
"record":false,
"width":320,
"height":240,
"bitrate":0,
"minBitrate":0,
"maxBitrate":0,
"quality":0,
"createDate":1544580053573,
"streamInfo":
{
"nodeId":null,
"appKey":null,
"sessionId":null,
"mediaSessionId":"22588500-fdb3-11e8-bddf-9b115426f01b",
"name":"test",
"samplingTime":null,
"recordTimestamp":null,
"recordStarted":false
},
"mediaProvider":"WebRTC"
}
]
} |
Параметры сообщения
Параметр | Описание |
---|
mediaSessionId | Идентификатор WebRTC медиасессии |
name | Имя воспроизводимого потока |
published | Поток опубликован на сервере (игнорируется) |
hasVideo | Присутствует ли видео в потоке |
hasAudio | Присутствует ли аудио в потоке |
status | Статус потока |
audioCodec | Аудиокодек |
videoCodec | Видеокодек |
info | Текстовое описание статуса |
record | Записывается ли поток на сервере |
width | Ширина кадра |
height | Высота кадра |
bitrate | Битрейт потока |
minBitrate | Минимальный битрейт потока |
maxBitrate | Максимальный битрейт потока |
quality | Показатель качества потока |
createDate | Дата создания в виде целого числа |
streamInfo | Дополнительная информация о потоке на сервере |
mediaProvider | Технология, используемая для воспроизведения |