Get ingest analytics in Wowza Video with the Wowza Video REST API

The ingest analytics include stream health metrics for a live stream. This data includes metrics like bitrate, frame rate, connection status, and others which help in proactively determining the health of the stream.

Monitoring stream health metrics can help you quickly diagnose a streaming issue and determine if the issue originates at the video source, thereby preventing a poor viewer experience.

Get ingest analytics for a live stream

View the stream health metrics for a live stream by sending a GET request to the /analytics/ingest/live_streams/{id} endpoint.

You can use the following sample request, making sure to:

  • Set id to the id of the live stream.
  • To get data for a live stream that is currently streaming, do not send include , from , and to values.
  • To get data for a previously run live stream, send include , from , and to values.

Sample Request

Endpoint Reference

Copy
Copied
curl -H "Authorization: Bearer ${WV_JWT}" \    

  -H "Content-Type: application/json" \ 
  -X "GET" \ 
  "${WV_HOST}/api/${WV_VERSION}/analytics/ingest/live_streams/[live_stream_id]?from=2023-08-14T10:31:54.486Z&to=2023-09-13T10:31:54.486Z&include=trend" 

Sample Response

The response includes:

  • Metrics, each of which identifies a status , text description , unit , and value .
  • trend , which has detailed metrics at a specific time interval.
Copy
Copied
{ 
  "live_stream": { 
    "id": "tvctq36g", 
    "audio_codec": { 
      "status": "normal", 
      "text": "", 
      "units": "", 
      "value": "aac" 
    }, 
    "bits_in_rate": { 
      "status": "normal", 
      "text": "", 
      "units": "Kbps", 
      "value": 317.3 
    }, 
    "bytes_in_rate": { 
      "status": "normal", 
      "text": "", 
      "units": "KBps", 
      "value": 317.3 
    }, 
    "connected": { 
      "status": "normal", 
      "text": "", 
      "units": "", 
      "value": "Yes" 
    }, 
    "frame_size": { 
      "status": "warning", 
      "text": "Configured frame size is different from what Wowza Video is receiving from the source: 1280x720.", 
      "units": "", 
      "value": "1280x720" 
    }, 
    "frame_rate": { 
      "status": "normal", 
      "text": "", 
      "units": "FPS", 
      "value": 30 
    }, 
    "height": { 
      "status": "warning", 
      "text": "Configured height is different from what Wowza Video is receiving from the source: 720.", 
      "units": "px", 
      "value": 720 
    }, 
    "keyframe_interval": { 
      "status": "normal", 
      "text": "", 
      "units": "GOP", 
      "value": 69 
    }, 
    "video_codec": { 
      "status": "normal", 
      "text": "", 
      "units": "", 
      "value": "h264" 
    }, 
    "width": { 
      "status": "warning", 
      "text": "Configured width is different from what Wowza Video is receiving from the source: 1280.", 
      "units": "px", 
      "value": 1280 
    }, 
    "stream_target_status": [ 
      { 
        "status": "normal", 
        "text": "", 
        "units": "", 
        "value": "Active", 
        "id": "3lftlf1r_fcm6d98" 
      } 
    ], 
    "trend": [
      {
      "bits_in_rate": 1030123, 
      "created_at": "2023-08-15T22:42:00Z",
      "frame_rate": 30.0,
      "height": 288,
      "keyframe_interval": 60,
      "width": 512
      }
      {
      "bits_in_rate": 866928,
      "created_at": "2023-08-15T22:42:00Z",
      "frame_rate": 30.0,
      "height": 288,
      "keyframe_interval": 60,
      "width": 512
      }
    ]
  }, 
  "limits": { 
    "from": "2023-08-14T10:31:54.000Z", 
    "to": "2023-09-13T10:31:54.000Z" 
  } 
}