With Wowza Streaming Engine™ media server software version 4.2 and later and a Wowza Streaming Cloud™ with Ultra Low Latency subscription, you can use the Stream Targets feature in Wowza Streaming Engine to send a single stream to an ultra low latency target in Wowza Streaming Cloud. This allows you to use an existing Wowza Streaming Engine configuration to deliver an ultra low latency stream to viewers through Wowza Streaming Cloud.
This article explains how to use the Wowza Streaming Engine Manager and the Wowza Streaming Cloud user interface to send a live stream from Wowza Streaming Engine to a Wowza Streaming Cloud ultra low latency stream target for delivery to viewers. It also points to information about configuring playback with Wowza Player for Ultra Low Latency and information on playback with a mobile app created with Wowza GoCoder SDK.
Note: To perform this workflow using the Wowza Streaming Engine REST API and the Wowza Streaming Cloud REST API intead of the Wowza Streaming Engine Manager and the Wowza Streaming Cloud user interface, see Send a stream from Wowza Streaming Engine to an ultra low latency stream target in Wowza Streaming Cloud using Wowza APIs.
Create an ultra low latency stream target in Wowza Streaming Cloud
If you don't have an ultra low latency stream target already created, start by creating one using the Wowza Streaming Cloud user interface.
- Click Advanced on the menu bar, and then click Stream Targets.
- Click Add Target, select Wowza CDN - Ultra Low Latency, and then click Add.
- On the Add a Wowza CDN - ULL target page, specify the following:
- Target Name – A short, descriptive identifier for the target that differentiates it from other targets in Wowza Streaming Cloud. A Target Name is required, doesn't have to be unique, and can't exceed 255 characters.
- Source Delivery Method – Select Push for the source to push the stream to the target. Select Pull for the target to pull the stream from the source.
- Source URL – Only for ultra low latency stream targets whose Source Delivery Method is Pull. The URL of the source IP camera or encoder connecting to the stream target. The hostname or IP address used in the Source URL must be publicly accessible, and the Source URL must include a valid protocol prefix: rtmp://, rtmps://, rtsp://, wowz://, or wowzs://. For help determining the correct Source URL, see the encoder or IP camera's documentation.
- HLS Playback Stream – (Optional) Select Enable HLS Fallback Stream to create an HLS playback URL that can be used to view the stream on mobile devices or to provide redundancy in the event that WebSocket connection attempts fail.
- Enabled? – Select Enable this target to allow the source stream to be immediately ingested by the target's origin server. Select Do NOT enable if you prefer to set up the target and encoder first, then enable ingest at a later time.
- Click Add.
Create a live application in Wowza Streaming Engine
Next, create a live application in Wowza Streaming Engine that will receive the live stream from an H.264 encoder or camera and send it to Wowza Streaming Cloud for distributed delivery.
- Sign in to the Wowza Streaming Engine Manager, click the Applications tab at the top of the page, and then click live in the contents panel.
Note: This article uses the live application that installs with Wowza Streaming Engine. If you want to use a different live application, select it instead from the contents panel.
- In the contents panel, click Sources (Live).
- Select the camera or encoder that you want to use as your video source, and complete the process of connecting the source to Wowza Streaming Engine. For more information, see Managing live source authentication settings.
Note: By default, Wowza Streaming Engine requires RTMP and RTSP sources to provide a user name and password to connect to a live application. For information on how to turn off authentication, see Managing live source authentication settings.
Create a stream target in Wowza Streaming Engine
Next, create a stream target in Wowza Streaming Engine that will deliver the stream from Wowza Streaming Engine to the Wowza Streaming Cloud ultra low latency stream target over RTMP. You will need details from the ultra low latency stream target in Wowza Streaming Cloud to configure the stream target in Wowza Streaming Engine.
- In the Wowza Streaming Cloud user interface, click Advanced on the menu bar, and then click Stream Targets.
- Click the name of your ultra low latency stream target to open the Setup tab of the target details page.
- Refer to the Primary URL value for the ultra low latency stream target in Wowza Streaming Cloud to determine configuration values for the Wowza Streaming Engine stream target configuration. The primary URL is the ingest location for the stream. For example:
Where [stream_name] is the alphanumeric stream name generated by Wowza Streaming Cloud to identify the specific stream.
- In the contents panel of Wowza Streaming Engine Manager, click Stream Targets and then click Add Stream Target.
- On the Add Stream Target page under Generic Target Destinations, select RTMP.
Note: The Wowza Streaming Cloud Stream Target under Wowza Target Destinations does not support ultra low latency streams. Use an RTMP stream target instead.
- On the RTMP Configuration page, provide the following information:
- Stream Target Name – A descriptive name for this target setup in Wowza Streaming Engine. The name must be unique and can't contain less-than (<), greater-than (>), colon (:), quotation (' and "), forward slash (/), backslash (), pipe (|), question mark (?), asterisk (*), double-dot (..), or tilde (~) characters.
- Source Stream Name – Enter the name of the incoming stream that you specified in Wowza Streaming Engine when you set up the video source (the Stream Name from the Sources (Live) setup).
- Destination Application Name – The application name from the ultra low latency target's primary URL.
For example: live
- Destination Application Instance – Leave this blank.
- Destination Host – The host URL of the origin ingest location for the ultra low latency stream. This is the destination entry point that the stream is sent to. It's part of the primary URL.
For example, origin.cdn.wowza.com.
Note: If you want to ingest the stream into a different origin location than the one Wowza Streaming Cloud assigns to you automatically, see Override the origin or edge server location used by an ultra low latency stream target with the Wowza Streaming Cloud REST API to determine the Destination Host value.
- Destination Port – The port number from the primary URL.
For example: 1935
- Destination Stream Name – The Stream Name value from the ultra low latency target details page. It's also the final part of the primary URL.
For example: 0I0p2SU9SanfhCaxBz3MWKdZUbmq592a
- User Name – Leave this blank.
- Password – Leave this blank.
- Click Add this target.
Enable the Wowza Streaming Engine stream targets feature
Next, follow these steps to enable the stream targets feature in the Wowza Streaming Engine Manager.
Before you stream, you must enable the Stream Targets feature for the Wowza Streaming Engine application or the individual stream target you created.
If you don't see a checkmark next to Stream Targets in the contents panel of the application, click Stream Targets in the contents panel and then click Enable Stream Targets. When prompted, click Restart Now so your change takes effect. When Stream Targets is enabled, a checkmark appears next to Stream Targets in the contents panel and the Stream Targets page shows Status is Enabled.
If the Status of an individual stream target is Disabled, click the Enable icon for the stream in the Actions column.
When a stream target is enabled, its status on the Stream Targets page is one of the following:
- Waiting. The target is enabled but is not yet pushing the stream to the target destination because either the target's configured source stream is not connected to the Wowza Streaming Engine input or Wowza Streaming Engine has not completed initializing the connection to the target destination.
- Active. The Wowza Streaming Engine instance successfully connected to the target destination and is actively pushing the stream.
- Error. The Wowza Streaming Engine instance unsuccessfully tried to connect to the target destination. Make sure the target's configured source stream is connected to the Wowza Streaming Engine input. Errors might be due to an invalid target configuration or issue with the destination server.
The status of each stream target updates automatically if your Wowza Streaming Engine application has fewer than 100 stream targets. If your application has more than 100 stream targets, you can click Refresh to update the status.
Test the ultra low latency stream
- Start the stream in the H.264 camera or encoder that's sending the stream to the live application in Wowza Streaming Engine.
The live application ingests the live stream and sends it to the Wowza Streaming Cloud ultra low latency stream target.
- In Wowza Streaming Engine Manager, verify that the stream is published by clicking Incoming Streams for the live application, and then clicking the stream name.
The stream detail page displays the Status of the stream (Active) as well as details about connections, uptime, and throughput for the published stream.
- Configure playback:
- Video thumbnails for ultra low latency streams aren't available in Wowza Streaming Cloud, but you can test the stream using Wowza Player for Ultra Low Latency. See Configure Wowza Player for Wowza Streaming Cloud ultra low latency streams for more information.
- You can also create a mobile app using the GoCoder SDK to play ultra low latency streams on Android or iOS devices. See Play a Wowza Streaming Cloud ultra low latency stream with Wowza GoCoder SDK for iOS or Play a Wowza Streaming Cloud ultra low latency stream with Wowza GoCoder SDK for Android for more information.
- Stop the stream in the source camera or encoder to end your test stream.