Versions Compared

Key

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

...

WCS supports realtime stream publishing and playing parameters monitoring with REST API

Receiving common stream information

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 API

REST query should be HTTP/HTTPS POST request as follows:

  • HTTP: http://streaming.flashphoner.com:8081/rest-api/stream/find
  • HTTPS: https://streaming.flashphoner.com:8444/rest-api/stream/find

Where

  • streaming.flashphoner.com - WCS server address
  • 8081 - REST / HTTP port of WCS server
  • 8444 - HTTPS port of WCS server
  • rest-api - URL mandatory part
  • /stream/find - REST query used

REST queries and response states

REST query

REST query body example

REST response example

Response states

/stream/find

Code Block
languagejs
themeRDark
{
   "name":"stream1",
   "published":true
   "display":["metrics"]
}



Code Block
languagejs
themeRDark
[
  {
    "appKey": "flashStreamingApp",
    "sessionId": "/5.129.23.83:51309/95.191.130.39:1935",
    "mediaSessionId": "6af0baf1-f014-48d6-b285-c975951a402f",
    "name": "stream1",
    "published": true,
    "hasVideo": true,
    "hasAudio": true,
    "status": "PUBLISHING",
    "sdp": ...,
    "audioCodec": "mpeg4-generic",
    "videoCodec": "H264",
    "record": false,
    "width": 640,
    "height": 360,
    "bitrate": 0,
    "minBitrate": 0,
    "maxBitrate": 0,
    "quality": 0,
    "history": false,
    "gop": 0,
    "fps": 0,
    "audioBitrate": 0,
    "codecImpl": "",
    "transport": "UDP",
    "cvoExtension": false,
    "createDate": 1616730493789,
    "mediaType": "publish",
    "mediaProvider": "Flash",
    "metrics": {
      "VIDEO_SYNC": 43688,
      "VIDEO_K_FRAMES": 22,
      "AUDIO_SYNC": 43712,
      "VIDEO_NACK": 0,
      "AUDIO_RATE": 129408,
      "AUDIO_LOST": 0,
      "VIDEO_LOST": 0,
      "VIDEO_CODEC": 119,
      "VIDEO_B_FRAMES": 0,
      "VIDEO_PLI": 0,
      "AUDIO_CODEC": 96,
      "VIDEO_RATE": 1187440,
      "VIDEO_WIDTH": 640,
      "VIDEO_GOP_SIZE": 48,
      "VIDEO_HEIGHT": 360,
      "VIDEO_FPS": 24,
      "VIDEO_P_FRAMES": 1027
    }
  }
]

200 - Stream data received

404 - Stream not found

500 - Query parameters error

Parameters

Parameter

Description

Example

displayAddituional stream parameters to be in response ["metrics"]

mediaSessionId

Media session Id

6af0baf1-f014-48d6-b285-c975951a402f

nameStream namestream1
publishedPublished or playingtrue
hasVideoIs there video in the stream?true
hasAudioIs there video in the stream?true
statusStream statusPUBLISHING
sdpStream SDP
audioCodecAudio codec mpeg4-generic
videoCodecVideo codecH264
recordStream is recordingfalse
widthStream width at publishing moment640
heightStream height at publishing moment360
transportWebRTC strea transport usedUDP
cvoExtensionWebRTC pu=icture orientation extension is usedfalse
createDateStream creation date1616730493789
mediaTypeMedia session type: publish or playpublish
mediaProviderPublishing or plaing stream provider (Flash for RTMP)Flash
minBitrateTranscoder parameters created by REST API
maxBitrate
quality
gop
fps
audioBitrate
codecImpl

Receiving stream metrics only

Metrics available

Metric

Description

VIDEO_HEIGHT

Video height

VIDEO_WIDTH

Video width

VIDEO_RATE

Video bitrate

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_FRAMESVideo key frames (I-frames) count
VIDEO_P_FRAMESVideo P frames count
VIDEO_B_FRAMESVideo B frames count
VIDEO_GOP_SIZELast group of frames size between keyframes
VIDEO_LOSTVideo lost packets count

AUDIO_SYNC

Audio synchronization

AUDIO_RATE

Audio bitrate

AUDIO_LOST

Lost audio packets count

AUDIO_CODEC

Audio codec

REST API

REST query should be HTTP/HTTPS POST request as follows:

...

  • streaming.flashphoner.com - WCS server address
  • 8081 - REST / HTTP port of WCS server
  • 8444 - HTTPS port of WCS server
  • rest-api - URL mandatory part
  • /stream/metrics - REST query used

REST queries and response states

REST query

REST query body example

REST response example

Response states

/stream/metrics

Code Block
languagejs
themeRDark
{
   "mediaSessionId" : "72b76eb8-3c01-47f3-b308-a0516d51249b"
}

or

Code Block
themeRDark
{
   "name" : "testStream"
}
Code Block
languagejs
themeRDark
{
    "VIDEO_B_FRAMES": 0,
    "VIDEO_WIDTH": 1920,
    "VIDEO_SYNC": 1583463093448,
    "AUDIO_RATE": 31832,
    "VIDEO_PLI": 0,
    "VIDEO_HEIGHT": 1080,
    "AUDIO_SYNC": 1583463093415,
    "VIDEO_FPS": 36,
    "AUDIO_CODEC": 111,
    "VIDEO_P_FRAMES": 3989,
    "VIDEO_RATE": 684352,
    "VIDEO_CODEC": 119,
    "VIDEO_K_FRAMES": 173,
    "VIDEO_NACK": 1,
    "VIDEO_LOST": 1,
    "AUDIO_LOST": 130
}

200 - Stream metrics received

404 - Stream not found

Parameters

Parameter

Description

Example

mediaSessionId

Media session identifier

72b76eb8-3c01-47f3-b308-a0516d51249b

nameStream nametestStream