View stream health metrics with the Wowza Video REST API

Learn how to use the REST API to get health metrics for transcoders in the Wowza Video™ service. Health metrics include details about the source connection to the transcoder and transcoder processing data that can help you understand how a stream was received and processed.

View current stream health metrics for an active transcoder

Current metrics for an active transcoder include details about the connection between the source encoder and the transcoder as well as data about how the transcoder is processing the stream.

View current stream health metrics for an active transcoder by sending a GET request to the /transcoders/[transcoder_id]/uptimes/[uptime_id]/metrics/current endpoint.

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

  • Set transcoder_id to the id for the transcoder.
  • Set the uptime_id to the id for the uptime record for the transcoder. You can fetch all uptimes for a transcoder by sending a GET request to the /transcoders/[transcoder_id]/uptimes endpoint.
  • Add any query parameters to narrow down the parameters returned in the response, using the API reference documentation as a resource. See the Endpoint Reference button below.

Sample request

Endpoint Reference

Copy
Copied
curl -X GET \
-H "Authorization: Bearer ${WV_JWT}" \
"${WV_HOST}/api/${WV_VERSION}/transcoders/[transcoder_id]/uptimes/[uptime_id]/metrics/current"

Sample response

The response includes:

  • Metrics and data for the active session ( uptime_id ) of the transcoder ( transcoder_id ).
Copy
Copied
{
  "current": {
    "unique_views": {
      "value": 37,
      "status": "normal",
      "text": "",
      "units": ""
    },
    "connected": {
      "value": "Yes",
      "status": "normal",
      "text": "",
      "units": ""
    },
    "bytes_in_rate": {
      "value": 1142.7,
      "status": "normal",
      "text": "",
      "units": "Kbps"
    },
    "bytes_out_rate": {
      "value": 5707.8,
      "status": "normal",
      "text": "",
      "units": "Kbps"
    },
    "configured_bytes_out_rate": {
      "value": 6696000,
      "status": "normal",
      "text": "",
      "units": "bps"
    },
    "width": {
      "value": 720,
      "status": "warning",
      "text": "Configured width is different from what Wowza Video is receiving from the source: 720.",
      "units": "px"
    },
    "height": {
      "value": 480,
      "status": "warning",
      "text": "Configured height is different from what Wowza Video is receiving from the source: 480.",
      "units": "px"
    },
    "frame_size": {
      "value": "720x480",
      "status": "warning",
      "text": "Configured frame size is different from what Wowza Video is receiving from the source: 720x480.",
      "units": ""
    },
    "frame_rate": {
      "value": 30.2,
      "status": "normal",
      "text": "",
      "units": "FPS"
    },
    "keyframe_interval": {
      "value": 30,
      "status": "normal",
      "text": "",
      "units": "GOP"
    },
    "video_codec": {
      "value": "avc1",
      "status": "normal",
      "text": "",
      "units": ""
    },
    "audio_codec": {
      "value": "AAC",
      "status": "normal",
      "text": "",
      "units": ""
    },
    "bits_in_rate": {
      "value": 1142.7,
      "status": "normal",
      "text": "",
      "units": "Kbps"
    },
    "bits_out_rate": {
      "value": 5707.8,
      "status": "normal",
      "text": "",
      "units": "Kbps"
    },
    "stream_target_status_3ypvxt00_d1j8jfzs": {
      "value": "Active",
      "status": "normal",
      "text": "",
      "units": ""
    },
    "stream_target_status_fsfp9bqb_d1j8jfzs": {
      "value": "Active",
      "status": "normal",
      "text": "",
      "units": ""
    },
    "stream_target_status_ydbvnxkk_d1j8jfzs": {
      "value": "Active",
      "status": "normal",
      "text": "",
      "units": ""
    }
  },
  "limits": {
    "fields": [
      "unique_views",
      "connected",
      "bytes_in_rate",
      "bytes_out_rate",
      "configured_bytes_out_rate",
      "width",
      "height",
      "frame_size",
      "frame_rate",
      "keyframe_interval",
      "video_codec",
      "audio_codec",
      "bits_in_rate",
      "bits_out_rate",
      "stream_target_status_3ypvxt00_d1j8jfzs",
      "stream_target_status_fsfp9bqb_d1j8jfzs",
      "stream_target_status_ydbvnxkk_d1j8jfzs"
    ]
  }
}

View historic stream health metrics for a transcoder

Historic health metrics include the audio and video codec used, the rate of bits into and out of the transcoder, the frame rate and keyframe interval of the stream, and the width and height of the frame.

Historic metrics are recorded every 20 seconds. As a result, brief irregularities might not register or be tracked and visualized. If the uptime session was longer than two days, the request returns data for only the most recent 48 hours of the uptime session.

View historic stream health metrics for an active transcoder by sending a GET request to the /transcoders/[transcoder_id]/uptimes/[uptime_id]/metrics/historic endpoint.

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

  • Set transcoder_id to the id for the transcoder.
  • Set the uptime_id to the id for the uptime record for the transcoder. You can fetch all uptimes for a transcoder by sending a GET request to the /transcoders/[transcoder_id]/uptimes endpoint.
  • Add any query parameters to narrow down the parameters returned in the response, using the API reference documentation as a resource. See the Endpoint Reference button below.

Sample request

Endpoint Reference

Copy
Copied
curl -X GET \
-H "Authorization: Bearer ${WV_JWT}" \
"${WV_HOST}/api/${WV_VERSION}/transcoders/[transcoder_id]/uptimes/[uptime_id]/metrics/historic

Sample response

The response includes:

  • Metrics and data for the active session ( uptime_id ) of the transcoder ( transcoder_id ).
Copy
Copied
{
  "history": [
    {
      "bits_in_rate": {
        "value": 1653232,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "bits_out_rate": {
        "value": 6051976,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "frame_rate": {
        "value": 30,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "width": {
        "value": 1920,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "height": {
        "value": 1080,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "keyframe_interval": {
        "value": 30,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "video_codec": {
        "value": avc1,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "audio_codec": {
        "value": AAC,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "created_at": "2017-04-19T00:18:22.161Z"
      },
      {
      "bits_in_rate": {
        "value": 1651880,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "bits_out_rate": {
        "value": 6669056,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "frame_rate": {
        "value": 29.885829415715246,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "width": {
        "value": 1920,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "height": {
        "value": 1080,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "keyframe_interval": {
        "value": 30,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "video_codec": {
        "value": avc1,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "audio_codec": {
        "value": AAC,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "created_at": "2017-04-19T00:18:42.161Z"
    },
    ...
    {
      "bits_in_rate": {
        "value": 724880,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "bits_out_rate": {
        "value": 3865840,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "frame_rate": {
        "value": 30.060120240480963,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "width": {
        "value": 1920,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "height": {
        "value": 1080,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "keyframe_interval": {
        "value": 30,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "video_codec": {
        "value": avc1,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "audio_codec": {
        "value": aac,
        "status": "ok",
        "text": "",
        "units": ""
      },
      "created_at": "2017-04-19T00:23:22.161Z"
    }
  ],
  "limits": {
    "from": "2017-04-19T00:16:41.000Z",
    "to": "2017-04-19T02:32:50.000Z",
    "fields": [
      "bits_in_rate",
      "bits_out_rate",
      "frame_rate",
      "width",
      "height",
      "keyframe_interval",
      "video_codec",
      "audio_codec"
    ]
  }
}

Related API requests

GET /transcoders/ID/state — View an active transcoder’s uptime_id.

GET /transcoders/ID/uptimes — Get a list of uptime records for a transcoder.

GET /transcoders/ID/uptimes/ID — Get the details of a specific uptime for a transcoder.