Query a live stream using the Wowza Video REST API

Learn how to use the Wowza Video™ service's REST API to gather information about an existing live stream and its associated player, to update the live stream and player, and to delete the live stream.

Info

For information on the Wowza Video free trial and its feature limitations, see Wowza Video free trial.

Start the live stream

Before using the Wowza Video REST API to query and update a live stream, create and start a live stream with the user interface.

  1. If you haven't already added a live stream, see Get started with Wowza Video to learn how to add one. You'll need the JWT for API authentication that you created in that tutorial to complete this tutorial. See Authentication for more information.
  2. To start the live stream in Wowza Video, select Available Streams , select the stream on the Live Streams page, and then click Start Live Stream at the top of the Live Stream Detail page.

Query for information about the live stream

Now that you have a live stream that's started, use the following example requests to find information about the live stream. Example requests are presented in curl using environment variables, but you can also use a GUI REST client for API testing such as Postman or Paw.

If you have basic questions about using a REST API, start with About the Wowza Video REST API.

Info

The curl examples below use environment variables, ${WSC_API_KEY}, ${WSC_ACCESS_KEY}, ${WSC_VERSION}, and ${WSC_HOST} for the Wowza Video API key, access key, version number, and your host. See Using cURL for more information on how to set these up.

  • Query for all live streams in your account to find the details of your existing live stream. You'll need the ID of your live stream and the ID of the player to do additional requests.

    Fetch all live streams:

    Copy
    Copied
    curl -X GET \
    -H "Authorization: Bearer ${WV_JWT}" \
    "${WV_HOST}/api/${WV_VERSION}/live_streams"
  • View a live stream's state:
    Copy
    Copied
    curl -X GET \
    -H "Authorization: Bearer ${WV_JWT}" \
    "${WV_HOST}/api/${WV_VERSION}/live_streams/[live_stream_id]/state"

    Possible live stream states are starting, stopping, started, stopped, and resetting.

  • View the details of a running live stream:
    Copy
    Copied
    curl -X GET \
    -H "Authorization: Bearer ${WV_JWT}" \
    "${WV_HOST}/api/${WV_VERSION}/live_streams/[live_stream_id]/stats"
  • View a live stream's preview image:
    Copy
    Copied
    curl -X GET \
    -H "Authorization: Bearer ${WV_JWT}" \
    "${WV_HOST}/api/${WV_VERSION}/live_streams/[live_stream_id]/thumbnail_url"

Update the live stream

Use the following example request to update the name of the live stream. You don't have to stop the live stream to update its configuration.

  • Update a live stream's configuration:
    Copy
    Copied
    curl -X PATCH \
    -H "Authorization: Bearer ${WV_JWT}" \
    -d '{
       "live_stream": {
         "name": "MyDifferentLiveStreamName"
       }
    }' "${WV_HOST}/api/${WV_VERSION}/live_streams/[live_stream_id]"

Query for information about the player

Use the following example requests to find information about the player associated with the live stream.

  • Get the details of a player:
    Copy
    Copied
    curl -X GET \
    -H "Authorization: Bearer ${WV_JWT}" \
    "${WV_HOST}/api/${WV_VERSION}/players/[player_id]"
  • View a player's state:
    Copy
    Copied
    curl -X GET \
    -H "Authorization: Bearer ${WV_JWT}" \
    "${WV_HOST}/api/${WV_VERSION}/players/[player_id]/state"

    Possible player states are requested and activated.

Update the player

Use the following example request to update the player associated with the live stream by giving it a specific width instead of being responsive. You don't have to stop the live stream to update the player configuration.

  • Update a player:
    Copy
    Copied
    curl -X PATCH \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer ${WV_JWT}" \
    -d '{
       "player": {
         "width": "800",
         "responsive": false
       }
    }' "${WV_HOST}/api/${WSV_VERSION}/players/[player_id]"

View data and health metrics for a live stream

You can use the Wowza Video REST API to view stream health metrics, usage, and viewer data for a live stream. See these articles for more information:

Delete the live stream

When you are done viewing information about a live stream, you can stop it and delete it.

  • Stop the live stream:
    Copy
    Copied
    curl -X PUT \
    -H "Authorization: Bearer ${WV_JWT}" \
    "${WV_HOST}/api/${WV_VERSION}/live_streams/[live_stream_id]/stop"
  • Delete the live stream:
    Copy
    Copied
    curl -X DELETE \
    -H "Authorization: Bearer ${WV_JWT}" \
    "${WV_HOST}/api/${WV_VERSION}/live_streams/[live_stream_id]"

More resources