WCS supports realtime stream publishing and playing parameters monitoring with REST API
The /stream/find REST API query allows to find a stream by filter and get common information about streams found. Since build 5.2.923 stream metrics can also be requested.
REST query should be HTTP/HTTPS POST request as follows:
Where
REST query | REST query body example | REST response example | Response states | ||
|---|---|---|---|---|---|
/stream/find |
|
| 200 - Stream data received 404 - Stream not found 500 - Query parameters error |
Parameter | Description | Example |
|---|---|---|
| display | Addituional stream parameters to be in response | ["metrics"] |
mediaSessionId | Media session Id | 6af0baf1-f014-48d6-b285-c975951a402f |
| name | Stream name | stream1 |
| published | Published or playing | true |
| hasVideo | Is there video in the stream? | true |
| hasAudio | Is there video in the stream? | true |
| status | Stream status | PUBLISHING |
| sdp | Stream SDP | |
| audioCodec | Audio codec | mpeg4-generic |
| videoCodec | Video codec | H264 |
| record | Stream is recording | false |
| width | Stream width at publishing moment | 640 |
| height | Stream height at publishing moment | 360 |
| transport | WebRTC or MPEG-TS stream transport used | UDP |
| cvoExtension | WebRTC picture orientation extension is used | false |
| createDate | Stream creation date | 1616730493789 |
| mediaType | Media session type: publish or play | publish |
| mediaProvider | Publishing or plaing stream provider (Flash for RTMP) | Flash |
| minBitrate | Transcoder parameters created by REST API | |
| maxBitrate | ||
| quality | ||
| gop | ||
| fps | ||
| audioBitrate | ||
| codecImpl |
Since build 5.2.1619 audio track samplerate and channels count are displayed:
{
...,
"name": "stream1",
...,
"audioCodec": "mpeg4-generic/48000/2",
"videoCodec": "H264",
...
} |
If there is no audio track in the stream, audioCodec will not be displayed.
Metric | Description |
VIDEO_HEIGHT | Video height, px |
VIDEO_WIDTH | Video width, px |
VIDEO_RATE | Video bitrate, bps |
VIDEO_SYNC | Video synchronization |
VIDEO_FPS | Video frame rate per second |
VIDEO_NACK | NACK requests count |
VIDEO_PLI | PLI packets count |
VIDEO_CODEC | Video codec |
| VIDEO_K_FRAMES | Video key frames (I-frames) count |
| VIDEO_P_FRAMES | Video P frames count |
| VIDEO_B_FRAMES | Video B frames count |
| VIDEO_GOP_SIZE | Last group of frames size between keyframes |
| VIDEO_LOST | Video lost packets count |
AUDIO_SYNC | Audio synchronization |
AUDIO_RATE | Audio bitrate, bps |
AUDIO_LOST | Lost audio packets count |
AUDIO_CODEC | Audio codec |
REST query should be HTTP/HTTPS POST request as follows:
Where
REST query | REST query body example | REST response example | Response states | |||
|---|---|---|---|---|---|---|
/stream/metrics |
or
|
| 200 - Stream metrics received 404 - Stream not found |
Parameter | Description | Example |
|---|---|---|
mediaSessionId | Media session identifier | 72b76eb8-3c01-47f3-b308-a0516d51249b |
| name | Stream name | testStream |