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
- Update a transcoder
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.
- Mock serverhttps://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi/transcoders/{id}
- https://api.video.wowza.com/api/v2.0/transcoders/{id}
- curl
- Java
- Python
- JavaScript
curl -i -X GET \
'https://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi/transcoders/{id}'Success
The application name from the pull stream source URL.
Only applies to the transcoder of a live stream created from re-streaming an asset in Asset Management. The id for the asset associated with the re-streamed live stream. You can manage this asset in Asset Management.
The billing mode for the transcoder. The default is pay_as_you_go.
pay_as_you_go — Billed as a single event. A single event is use-based and you incur charges for the time spent streaming.
twentyfour_seven — Billed as a 24x7 channel. A 24x7 channel is unlimited stream time for one channel. This billing mode doesn't incur overages, since it's unlimited.
The location where Wowza Video transcodes your stream. Choose a location as close as possible to your video source.
The size, in milliseconds, of the incoming buffer. 0 means no buffer. The default is 4000 (4 seconds).
The type of closed caption data being passed from the source. The default, none, indicates that no data is being provided. cea indicates that a CEA closed captioning data stream is being provided. on_text indicates that an onTextData closed captioning data stream is being provided. both indicates that both CEA and onTextData closed captioning data streams are being provided.
The date and time that the transcoder was created.
The type of connection between the source encoder and the transcoder. The default, pull, instructs the transcoder to pull the video from the source. push instructs the source to push the stream to the transcoder. cdn uses a stream source to deliver the stream to the transcoder.
An array of playback protocols enabled for this transcoder. By default, rtmp, rtsp, webrtc, and wowz are returned.
An optional description of the transcoder.
A list of direct playback URLs for the transcoder's delivery protocols. Each protocol has a URL for the source and a URL for each output rendition.
Authentication is required by default for RTMP and RTSP push connections from a video source to the transcoder. Specify true to disable authentication with the video source.
The domain name from the pull stream source URL.
The unique alphanumeric string that identifies the transcoder.
The amount of idle time, in seconds, before the transcoder automatically shuts down. Valid values are the integers 0 (never shuts down) to 172800 (48 hours). The default is 1200 (20 minutes).
If true, turns off the sort packet buffer and speeds the time it takes to decode and deliver video data to the player. The default is false.
A descriptive name for the transcoder. Maximum 200 characters.
Output renditions associated with the transcoder.
A password for authenticating an RTMP or RTSP push connection. Can contain only uppercase and lowercase letters; numbers; and the period (.), underscore (_), and hyphen (-) characters. No other special characters can be used.
The stream name used in the direct playback URL.
The number of users who are allowed to connect directly to the transcoder. The minimum and default value is 10. The maximum number of connections varies by the size of the transcoder, with the maximum value for the largest transcoder being 300 viewers.
The transport protocol for the source video. The default is rtmp.
A unique, alphanumeric ID returned in transcoder webhook payloads. Setting a reference_id is useful if you have an ID in your system or application you want to associate with transcoder 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.7.
The port used for RTMP pull connections to Wowza Video.
For the delivery_method pull or protocol file.
For pull, enter the source's web address without the preceding protocol or the trailing slash (/).
For file, enter the source file URL, including the protocol (http, https, gs, s3).
For the delivery_method push. Some encoders append an extension to their stream names. If the device you're using does this, enter the extension as a period (.) followed by alphanumeric characters.
For the delivery_method cdn. The alphanumeric string that identifies the stream source that you want to use to deliver the stream to the transcoder.
If true, disables stream targets when the transcoder starts. If false (the default), the targets start when the transcoder starts.
The type of transcoder, either transcoded for streams that are transcoded into adaptive bitrate renditions or passthrough for streams that aren't processed by the transcoder.
Note: passthrough isn't supported in the asia_pacific_singapore region.
Default: transcoded
The date and time that the transcoder was updated.
A username for authenticating an RTMP or RTSP push connection. Can contain only uppercase and lowercase letters; numbers; and the period (.), underscore (_), and hyphen (-) characters. No other special characters can be used.
Embeds an image into the transcoded stream for copyright protection. Specify true to embed a watermark image.
The height, in pixels, of the watermark image. If blank, Wowza Video uses the original image height.
The path to a GIF, JPEG, or PNG image that is embedded in all bitrate renditions of the stream. Watermark image files must be 2.5 MB or smaller.
The opacity, or percentage of transparency, of the watermark. 0 is fully transparent; 100 is fully opaque.
The corner of the video frame in which you want the watermark to appear. The default is top-left.
{ "transcoder": { "application_name": "app-B8P6K226", "billing_mode": "pay_as_you_go", "broadcast_location": "us_central_iowa", "buffer_size": 4000, "closed_caption_type": "cea", "created_at": "2020-01-28T17:16:22.098Z", "delivery_method": "push", "delivery_protocols": [ … ], "description": "My Transcoder Description", "direct_playback_urls": { … }, "disable_authentication": false, "domain_name": "f92334.entrypoint.video.wowza.com", "id": "2lsWj3F9", "idle_timeout": 1200, "low_latency": false, "name": "My PAYG Transcoder", "outputs": [ … ], "password": "82e0e971", "playback_stream_name": "wxyz6789", "play_maximum_connections": 20, "properties": [ … ], "protocol": "rtmp", "reference_id": "mySystemID_01", "source_port": 1935, "stream_extension": ".sdp", "stream_name": "10eb0ed8", "suppress_stream_target_start": false, "transcoder_type": "transcoded", "updated_at": "2020-01-31T15:46:50.098Z", "username": "client2", "watermark": true, "watermark_height": 80, "watermark_image_url": "https://prod.s3.amazonaws.com/uploads/transcoder/watermark_image/12345/4baa13.jpg", "watermark_opacity": 75, "watermark_position": "top-right", "watermark_width": 100 } }
Provide the details of the transcoder to update in the body of the request.
The type of connection between the source encoder and the transcoder. The default, pull, instructs the transcoder to pull the video from the source. push instructs the source to push the stream to the transcoder. cdn uses a stream source to deliver the stream to the transcoder.
Example: "delivery_method": "pull"
A descriptive name for the transcoder. Maximum 200 characters.
Example: "name": "My Updated Transcoder"
The transport protocol for the source video. The default is rtmp.
Example: "protocol": "webrtc"
The location where Wowza Video transcodes your stream. Choose a location as close as possible to your video source.
You cannot change the broadcast location after initial creation if you are using autostart functionality on your transcoder.
Example: "broadcast_location": "us_central_iowa"
The size, in milliseconds, of the incoming buffer. 0 means no buffer. The default is 4000 (4 seconds).
Example: "buffer_size": 4000
The type of closed caption data being passed from the source. The default, none, indicates that no data is being provided. cea indicates that a CEA closed captioning data stream is being provided. on_text indicates that an onTextData closed captioning data stream is being provided. both indicates that both CEA and onTextData closed captioning data streams are being provided.
Example: "closed_caption_type": "cea"
An array of playback protocols enabled for this transcoder. By default, rtmp, rtsp, webrtc, and wowz are returned.
Example: See response body sample
An optional description of the transcoder.
Example: "description": "This transcoder runs our 24/7 stream."
Authentication is required by default for RTMP and RTSP push connections from a video source to the transcoder. Specify true to disable authentication with the video source.
Example: "disable_authentication": false
The amount of idle time, in seconds, before the transcoder automatically shuts down. Valid values are the integers 0 (never shuts down) to 172800 (48 hours). The default is 1200 (20 minutes).
Example: "idle_timeout": 1600
If true, turns off the sort packet buffer and speeds the time it takes to decode and deliver video data to the player. The default is false.
Example: "low_latency": false
A password for authenticating an RTMP or RTSP push connection. Can contain only uppercase and lowercase letters; numbers; and the period (.), underscore (_), and hyphen (-) characters. No other special characters can be used.
Example: "password": 68332313
The number of users who are allowed to connect directly to the transcoder. The minimum and default value is 10. The maximum number of connections varies by the size of the transcoder, with the maximum value for the largest transcoder being 300 viewers.
Example: "play_maximum_connections": 30
An array of properties to configure. The property configuration consists of a key/value pair and the section of the transcoder configuration table the key/value pair is stored in.
Available from version 1.5.
Example: See response body sample
A unique, alphanumeric ID returned in transcoder webhook payloads. Setting a reference_id is useful if you have an ID in your system or application you want to associate with transcoder 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.7.
Example: "reference_id": "mySystemID_01"
If true, removes the watermark from the output. The default is false.
Example: "remove_watermark_image": true
For the delivery_method pull or protocol file.
For pull, enter the source's web address without the protocol or the trailing slash (/).
For file, enter the source file URL, including the protocol (http, https, gs, s3).
Example: "source_url": "xyz.streamlock.net/vod/mp4:Movie.mov"
For the delivery_method push. Some encoders append an extension to their stream names. If the device you're using does this, enter the extension as a period (.) followed by alphanumeric characters.
Example: "stream_extension": ".sdp"
For the delivery_method cdn. The alphanumeric string that identifies the stream source that you want to use to deliver the stream to the transcoder.
Example: "stream_source_id": "rxHQQpWw"
If true, disables stream targets when the transcoder starts. If false (the default), the targets start when the transcoder starts.
Example: "suppress_stream_target_start": false
A username for authenticating an RTMP or RTSP push connection. Can contain only uppercase and lowercase letters; numbers; and the period (.), underscore (_), and hyphen (-) characters. No other special characters can be used.
Example: "username": "client2"
Embeds an image into the transcoded stream for copyright protection. Specify true to embed a watermark image.
Example: "watermark": true
The height, in pixels, of the watermark image. If blank, Wowza Video uses the original image height.
Example: "watermark_height": 80
A Base64-encoded string representation of a GIF, JPEG, or PNG image that is embedded in all bitrate renditions of the stream. Watermark image files must be 2.5 MB or smaller.
Example: "watermark_image": "[Base64-encoded string representation of GIF, JPEG, or PNG file]"
The opacity, or percentage of transparency, of the watermark. 0 is fully transparent; 100 is fully opaque.
Example: "watermark_opacity": 75
The corner of the video frame in which you want the watermark to appear. The default is top-left.
Example: "watermark_position": "top-left"
- Mock serverhttps://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi/transcoders/{id}
- https://api.video.wowza.com/api/v2.0/transcoders/{id}
- curl
- Java
- Python
- JavaScript
curl -i -X PATCH \
'https://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi/transcoders/{id}' \
-H 'Content-Type: application/json' \
-d '{
"transcoder": {
"name": "My Updated Transcoder",
"description": "My Transcoder Description",
"watermark_position": "bottom-left"
}
}'Success
The application name from the pull stream source URL.
Only applies to the transcoder of a live stream created from re-streaming an asset in Asset Management. The id for the asset associated with the re-streamed live stream. You can manage this asset in Asset Management.
The billing mode for the transcoder. The default is pay_as_you_go.
pay_as_you_go — Billed as a single event. A single event is use-based and you incur charges for the time spent streaming.
twentyfour_seven — Billed as a 24x7 channel. A 24x7 channel is unlimited stream time for one channel. This billing mode doesn't incur overages, since it's unlimited.
The location where Wowza Video transcodes your stream. Choose a location as close as possible to your video source.
The size, in milliseconds, of the incoming buffer. 0 means no buffer. The default is 4000 (4 seconds).
The type of closed caption data being passed from the source. The default, none, indicates that no data is being provided. cea indicates that a CEA closed captioning data stream is being provided. on_text indicates that an onTextData closed captioning data stream is being provided. both indicates that both CEA and onTextData closed captioning data streams are being provided.
The date and time that the transcoder was created.
The type of connection between the source encoder and the transcoder. The default, pull, instructs the transcoder to pull the video from the source. push instructs the source to push the stream to the transcoder. cdn uses a stream source to deliver the stream to the transcoder.
An array of playback protocols enabled for this transcoder. By default, rtmp, rtsp, webrtc, and wowz are returned.
An optional description of the transcoder.
A list of direct playback URLs for the transcoder's delivery protocols. Each protocol has a URL for the source and a URL for each output rendition.
Authentication is required by default for RTMP and RTSP push connections from a video source to the transcoder. Specify true to disable authentication with the video source.
The domain name from the pull stream source URL.
The unique alphanumeric string that identifies the transcoder.
The amount of idle time, in seconds, before the transcoder automatically shuts down. Valid values are the integers 0 (never shuts down) to 172800 (48 hours). The default is 1200 (20 minutes).
If true, turns off the sort packet buffer and speeds the time it takes to decode and deliver video data to the player. The default is false.
A descriptive name for the transcoder. Maximum 200 characters.
Output renditions associated with the transcoder.
A password for authenticating an RTMP or RTSP push connection. Can contain only uppercase and lowercase letters; numbers; and the period (.), underscore (_), and hyphen (-) characters. No other special characters can be used.
The stream name used in the direct playback URL.
The number of users who are allowed to connect directly to the transcoder. The minimum and default value is 10. The maximum number of connections varies by the size of the transcoder, with the maximum value for the largest transcoder being 300 viewers.
The transport protocol for the source video. The default is rtmp.
A unique, alphanumeric ID returned in transcoder webhook payloads. Setting a reference_id is useful if you have an ID in your system or application you want to associate with transcoder 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.7.
The port used for RTMP pull connections to Wowza Video.
For the delivery_method pull or protocol file.
For pull, enter the source's web address without the preceding protocol or the trailing slash (/).
For file, enter the source file URL, including the protocol (http, https, gs, s3).
For the delivery_method push. Some encoders append an extension to their stream names. If the device you're using does this, enter the extension as a period (.) followed by alphanumeric characters.
For the delivery_method cdn. The alphanumeric string that identifies the stream source that you want to use to deliver the stream to the transcoder.
If true, disables stream targets when the transcoder starts. If false (the default), the targets start when the transcoder starts.
The type of transcoder, either transcoded for streams that are transcoded into adaptive bitrate renditions or passthrough for streams that aren't processed by the transcoder.
Note: passthrough isn't supported in the asia_pacific_singapore region.
Default: transcoded
The date and time that the transcoder was updated.
A username for authenticating an RTMP or RTSP push connection. Can contain only uppercase and lowercase letters; numbers; and the period (.), underscore (_), and hyphen (-) characters. No other special characters can be used.
Embeds an image into the transcoded stream for copyright protection. Specify true to embed a watermark image.
The height, in pixels, of the watermark image. If blank, Wowza Video uses the original image height.
The path to a GIF, JPEG, or PNG image that is embedded in all bitrate renditions of the stream. Watermark image files must be 2.5 MB or smaller.
The opacity, or percentage of transparency, of the watermark. 0 is fully transparent; 100 is fully opaque.
The corner of the video frame in which you want the watermark to appear. The default is top-left.
{ "transcoder": { "application_name": "app-B8P6K226", "billing_mode": "pay_as_you_go", "broadcast_location": "us_central_iowa", "buffer_size": 4000, "closed_caption_type": "cea", "created_at": "2020-01-28T17:16:22.098Z", "delivery_method": "push", "delivery_protocols": [ … ], "description": "My Transcoder Description", "direct_playback_urls": { … }, "disable_authentication": false, "domain_name": "f92334.entrypoint.video.wowza.com", "id": "2lsWj3F9", "idle_timeout": 1200, "low_latency": false, "name": "My PAYG Transcoder", "outputs": [ … ], "password": "82e0e971", "playback_stream_name": "wxyz6789", "play_maximum_connections": 20, "properties": [ … ], "protocol": "rtmp", "reference_id": "mySystemID_01", "source_port": 1935, "stream_extension": ".sdp", "stream_name": "10eb0ed8", "suppress_stream_target_start": false, "transcoder_type": "transcoded", "updated_at": "2020-01-31T15:46:50.098Z", "username": "client2", "watermark": true, "watermark_height": 80, "watermark_image_url": "https://prod.s3.amazonaws.com/uploads/transcoder/watermark_image/12345/4baa13.jpg", "watermark_opacity": 75, "watermark_position": "top-right", "watermark_width": 100 } }
- Mock serverhttps://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi/transcoders/{id}
- https://api.video.wowza.com/api/v2.0/transcoders/{id}
- curl
- Java
- Python
- JavaScript
curl -i -X DELETE \
'https://developer-m.wowza.com/_mock/docs/wowza-video/api/video/openapi/transcoders/{id}'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.
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.