Information about the streams on nodes monitored can be obtained from backend server with REST API.
Current streams information
Current streams information can be obtained with REST API query /api/stream/list
https://hostname:8090/api/stream/list { "node":"", "mediaId":"", "name":"", "publisher":"", "status":"" }
Where
- node – node identifier (mandatory)
- mediaId – media session identifier
- name – stream name
- publisher - publisher identifier (for played streams)
- status – stream status (PENDING, PUBLISHING, PLAYING, UNPUBLISHED, STOPPED, FAILED)
Response data are obtained from current metrics cache.
The response contains the following fields:
[ { "mediaId": "ba3b3950-8060-11e9-90b4-df338db69136", "name": "test", "publisher": null, "age": 413, "status": "PUBLISHING", "VIDEO_SYNC": 3767942629345, "AUDIO_SYNC": 3767942629304, "VIDEO_NACK": 81, "METRIC_RESOURCE": 0, "AUDIO_RATE": 28560, "STREAM_RESOURCE": 0, "AUDIO_LOST": 184, "VIDEO_CODEC": 119, "HEADER_RESOURCE": 0, "VIDEO_PLI": 1, "VIDEO_RATE": 619904, "AUDIO_CODEC": 111, "VIDEO_WIDTH": 320, "VIDEO_HEIGHT": 240, "VIDEO_FPS": 17, "KEEP_ALIVE": 0 } ]
Where
- name – stream name
- status – stream status
- mediaId – stream media session identifier
- age – cache record age in milliseconds
- publisher - publisher identifier (for played streams)
Response also contains current instantaneous metric values from cache.
Stream history
Stream history information can be obtained with REST API query /api/stream/history
https://hostname:8090/api/stream/history { "node":"", "mediaId":"", "name":"", "publisher":"", "status":"" }
Where
- node – node identifier
- mediaId – media session identifier
- name – stream name
- publisher - publisher identifier (for played streams)
- status – stream status (PENDING, PUBLISHING, PLAYING, UNPUBLISHED, STOPPED, FAILED)
If node Id is set, the response will contain only that node stream history information. If Id is not set, the response will contain all the streams history on backend server corresponding to the other query criteria.
The response contains the following fields:
[ { "id": 16, "name": "test", "status": "PUBLISHING", "mediaId": "010934f0-0766-11e9-a950-59983a9de3c8", "createDate": 1545647031908, "endDate": null, "publisher": 0, "subscribers": [], "node": 15 } ]
Where
- id - stream identifier in backend server database
- name – stream name
- status – stream status
- mediaId – stream media session identifier
- createDate – stream creation date
- endDate – stream termination date
- publisher - publisher identifier (for played streams)
- subscribers - list of identifiers of subscribers (for published streams)
- node – node identifier in backend server database