Operations related to live streams. A live stream is a single, linear video broadcast. You broadcast a live stream by receiving encoded source video into the Wowza Video service and letting Wowza Video transcode the stream and deliver it to viewers. A live stream is essentially a one-stop method for creating a transcoder, output renditions, stream targets, and associated players.
- Reference
- REST API
Wowza Video REST API Reference Documentation (v2.0)
API lifecycle phase: Current
| Want to take the API for a test run? All you'll need is a Wowza Video subscription, or free trial, for the API access token. Then, fork our collection in Postman and you'll be making calls to our REST API in minutes! See Trial the Wowza Video REST API using Postman for more information. |
This reference documentation provides details about the operations, parameters, and request and response schemas for every resource and endpoint in the Wowza Video REST API. Samples appear in the right column. Sample requests are presented in cURL (Shell) and JavaScript; some samples also include just the JSON object. Response samples are all JSON. Examples in cURL use environment variables so you can easily copy and paste them. To learn more, see Using cURL.
Reference documentation is available for every version of the API. Use the Version menu at the top of the page to access the reference doc for a different version of the API.
Note: If you haven't moved over to the new Wowza Video UI experience, you won't be able to access v2.0 of the API. We're migrating customers iteratively. See Upgrade to the Wowza Video 2.0 REST API for more information.
Operations related to schedules. Schedules allow you to automatically start or stop a live stream or transcoder at a predetermined date and time. You can configure a schedule to start and/or stop a live stream or transcoder just once, or you can configure it to repeat the behavior on a regular basis. See About schedules to learn more.
Operations related to Real-Time Streaming at Scale. If your audience is fewer than 300 viewers or you want to deliver a stream in near real time alongside other delivery protocols, use our WebRTC solution.
To enable and purchase capacity for Real-Time Streaming at Scale for your account and access the /real_time operations, contact 720.279.8163 or schedule a call.
Provide the details of the real-time stream to update in the body of the request.
- Mock serverhttps://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi/real_time/{id}
- https://api.video.wowza.com/api/v2.0/real_time/{id}
- curl
- Java
- Python
- JavaScript
curl -i -X PATCH \
'https://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi/real_time/{id}' \
-H 'Content-Type: application/json' \
-d '{
"real_time_stream": {
"name": "MyUpdatedRealTimeStream",
"description": "This is my first real-time stream."
}
}'Success
The date and time that the real-time stream was created.
The unique identifier of the real-time stream. Use this ID to perform other operations on the stream, like getting the details of the stream or deleting it.
A descriptive name for the real-time stream.
The generated alphanumeric stream name you pass to the SDK.
The authentication token you pass to the SDK.
A secure token that must be passed by viewers for playback. Generated after you set enable_secure_viewer to true.
The URL you can use to configure an RTMP encoder as the source.
The date and time the security token expires. Specify YYYY-MM-DD HH:MM:SS, where HH is a 24-hour clock in UTC. If you don't specify HH:MM:SS, the token expires at 12AM UTC on the specified day. Required when enable_secure_viewer is true.
The state of the stream.
An option to set the regional server the stream is distributed through. Select the region closest to your broadcast location for the most reliable stream. If you select the auto option, Wowza Video selects the region based on the publisher's location.
Default: phoenix
Example: "region": amsterdam
If true, records the real-time stream so you can download an MP4 later. The recording starts when the stream starts and stops automatically when the stream stops.
Recordings for real-time streams capture up to twelve hours of content in a single MP4 file. If the real-time stream recording is longer twelve hours, you'll have multiple files for the recording.
Default: false
Note: You can't update this value after you create the stream.
Example: "recording": true
A unique, alphanumeric ID returned in real-time stream webhook payloads. Setting a reference_id is useful if you have an ID in your system or application you want to associate with real-time stream events that trigger webhooks. Maximum 70 characters. Can only contain: a-z A-Z 0-9 !@#$%^&*()-_+=:;,.?~|
You can't use brackets or quotation marks.
See Wowza Video Webhook Event Reference Documentation to learn about webhooks.
Available from version 1.12.
Example: "reference_id": "mySystemID_01"
Skips VOD encoding and only creates an MP4 file for download. No VOD stream is created from the real-time stream.
Can only be set when recording is true and you can't change this value after you create the stream.
Default: false
Example: "disable_vod_encoder": true
An optional description of the real-time stream.
If true, enables a player and hosted page for the real-time stream.
Default: true
Note: You can't update this value after you create the stream.
Example: "enable_player_and_hosted_page": true
The player object is deprecated in 2.0. Create and update player configurations in the user interface.
Any values you send using the player object will be ignored.
The following fields have been moved outside of the player object and reside within the real_time_stream object where you can still access them through the API:
- embed_code
- logo_image_url
- logo_position
- video_poster_image_url
- width
(Available from version 2.0) The unique alphanumeric string that identifies the player configuration to use for this stream.
When you pass a player configuration ID, Wowza Video uses that player configuration to customize and style the player. If you don't pass a value, the default player configuration for the account is used.
Create and edit player configurations in the user interface. The ID is on the General tab for the player configuration.
Default: Default player configuration
Note: player_id is not returned in the response if it's not explicitly sent and the default player configuration is used instead.
Example: 2205b4e8-b160-43c2-868d-d88698a4e850
(Available from version 2.0) The type of player associated with the stream. Streams created in legacy Wowza Video have a player type of wowza_flowplayer_v1. Streams created in later versions of Wowza Video have a player type of wowza_flowplayer_v2.
Knowing the player type is useful if you've migrated streams from legacy Wowza Video. The player for a stream created in the legacy version of Wowza Video isn't editable in the new platform.
Example: wowza_flowplayer_v1
Indicates whether or not the player for the live stream is a Wowza Flowplayer player. True indicates the player is a Wowza Flowplayer player. Our new Wowza Video experience uses Wowza Flowplayer. If you are a Wowza Video legacy subscriber, Wowza Flowplayer is also the player used.
False indicates the player is either an original_html5 player or wowza_player. The original HTML and Wowza players are the players available for Wowza Streaming Cloud subscribers.
The HTML code that can be used in an external webpage to host the Wowza Flowplayer.
The path to a GIF, JPEG, or PNG logo file that appears partially transparent in a corner of the player throughout playback. Logo file must be 2.5 MB or smaller.
The corner of the player in which you want the player logo to appear. The default is top-left.
Example: "logo_position": "top-right"
The path to a GIF, JPEG, or PNG poster image that appears in the player before the stream begins. Poster image files must be 2.5 MB or smaller.
The width, in pixels, of a fixed-size player. The default is 640.
Example: "width": 640
Configuration of the hosted page.
{ "real_time_stream": { "id": "2adffc17", "name": "MyRealTimeStream", "stream_name": "8d304b93f1684320a54f2798666eeca7", "token": "97e52731bc21ef66e4c05a8ee1e28b64bf5f9db728573d94e690277cea9215bc", "rtmp_url": "rtmp://rtmp-realtime1.wowza.com:1935/v2/pub/8d304b93f1684320a54f2798666eeca7?token=97e52731bc21ef66e4c05a8ee1e28b64bf5f9db728573d94e690277cea9215bc", "enable_secure_viewer": false, "state": "started", "region": "amsterdam", "recording": true, "reference_id": "mySystemID_01", "disable_vod_encoder": true, "description": "This is my first real-time stream.", "enable_player_and_hosted_page": true, "player_id": "2205b4e8-b160-43c2-868d-d88698a4e850", "player_type": "wowza_flowplayer_v2", "flowplayer": true, "embed_code": null, "logo_image_url": "https://prod.s3.amazonaws.com/uploads/player/logo_image/23424/5bad28.jpg", "logo_position": "top-right", "video_poster_image_url": "https://prod.s3.amazonaws.com/uploads/player/video_poster_image/23424/5bad28.jpg", "width": 640, "hosted_page": { … }, "created_at": "2021-06-30T18:02:20.000Z", "updated_at": "2021-06-30T20:03:16.000Z" } }
- Mock serverhttps://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi/real_time/{id}
- https://api.video.wowza.com/api/v2.0/real_time/{id}
- curl
- Java
- Python
- JavaScript
curl -i -X DELETE \
'https://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi/real_time/{id}'- Mock serverhttps://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi/real_time/{id}/state
- https://api.video.wowza.com/api/v2.0/real_time/{id}/state
- curl
- Java
- Python
- JavaScript
curl -i -X GET \
'https://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi/real_time/{id}/state'{ "real_time": { "state": "stopped" } }
Operations related to using advanced token authentication, known in Wowza Video as a default playback token behavior option, with videos.
Use token authentication when distributing valuable or sensitive video content to audiences to ensure that only authorized users can access the content within the intended application. This allows for protection of intellectual property, compliance with regulations, and the ability to maintain control over content distribution. The token is embedded in the videos' embed URLs.
Through the UI or Wowza Video API, you can choose one of the following options for token authentication of a video:
NO_TOKEN - Video files are accessible and can be downloaded and played by anyone at any time. This is the default.
BASIC_TOKEN - The platform automatically creates tokenized video URLs. This setting makes it hard for a viewer to extract the video URL and store it for usage in unintended applications over time since the embed URL, which has the token as part of the URL, will only be playable for 48 hours. The token auto renews after 48 hours when used in the intended application.
ADVANCED_TOKEN - You add the stream's JS embed code (Share Stream) and a token to your site to provide tokenization. The protections are similar to those for the Basic Token option except you customize the time limit, geographical limits, etc. during token creation.
FOLLOW_DEFAULT: - The token behavior is based on the Default Playback Token Behavior setting you selected for your Wowza account. See the Org Settings page in Wowza Video article for where to set this configuration.
Note: You'll use the /videos endpoints to update and review the token authentication enums bulleted above.
Before selecting to use the ADVANCED_TOKEN, you must, first, either:
- Generate a key id via the Wowza Video API, then customize and generate a token via the Wowza Video 2.0 API to add to your site. You'll need the key id to create and sign the token.
- Generate a key id and key via the Wowza Video 2.0 API, then customize and generate a standard common access token (CAT) through the means you usually use to create tokens to add to your site. You'll need the key id and key to create and sign the token.
After you have your playback token, you add the video JS-embed and the playback token to your site if you're going to use the ADVANCED_TOKEN option. The JS-embed code automatically adds the player and related video to your site. See the section on <a href="how to embed the player and video".
The player operations are deprecated in 2.0. Create and update player configurations in the user interface. Any values you send using the player operations will be ignored.
Operations related to players, which are created through the /live_streams resource. Players created through Wowza Video live streams can be embedded into your own web page or played through a web page hosted by Wowza Video.
The recordings operations are deprecated in 2.0. Use the /videos endpoints instead.
Operations related to recordings, which are created through the /live_streams or /transcoders resources. The Wowza Video service can create MP4 recordings of your live streams and transcoded output. Recordings can be downloaded and saved locally. They're based on the highest-bitrate output rendition that Wowza Video generates from your video source. See About recordings to learn more.
The VOD stream operations are deprecated in 2.0. Use the /videos endpoints instead.
Operations related to video on demand (VOD) streams, which are created through the /live_streams or /transcoders resources. A VOD stream is a recording of a live stream that viewers can replay at a later date. After the broadcast is over and the live stream or transcoder is stopped, Wowza Video creates the VOD stream and generates a playback URL. See About VOD Streams to learn more.