5 Workflows in Wowza Streaming Cloud That You Should Be Using

May 24, 2021 by
Icons depicting a video stream and a transcoded packet being routed through Wowza Streaming Cloud via the Wowza Streaming Cloud logo.
 

The Wowza Streaming Cloud service offers a variety of features to simplify your streaming architecture, enabling you to stream high-quality video to audiences of any size, on any device, anywhere. Because Wowza Streaming Cloud is built on the Wowza Streaming Engine software, you can benefit from many of the same features, but with minimal configuration.

With new advanced features and functionality being updated regularly in Wowza Streaming Cloud, we’d like to share five workflows that you may have thought were only available in Streaming Engine, but you could be using now in Streaming Cloud.

 

1. WebRTC Ingest and Playback

With Wowza Streaming Cloud, you can capture video from your browser and deliver a WebRTC stream with all major browsers that support the WebRTC APIs. Once you connect and start the stream, you can use the hosted pages provided by Streaming Cloud to both publish and play back WebRTC streams with minimal configuration. The default buffer size in the settings for a live WebRTC stream is four seconds, but should your use case require a latency closer to real time, you can change the buffer setting to zero. Once you make that adjustment, you can then expect Streaming Cloud to deliver your WebRTC stream in less than two seconds.

 
 

It’s important to keep in mind that an end-to end WebRTC workflow means that Wowza Streaming Cloud will ingest a single-bitrate WebRTC source stream and deliver it directly from the transcoder for WebRTC playback. That makes it a passthrough stream where no transcoding is performed. This workflow is best suited for live stream broadcasts with fewer than 300 viewers. For audiences larger than 300, we suggest you instead use Streaming Cloud’s WebRTC to HLS workflow, which will ingest a WebRTC video from a browser, process the stream in its adaptive bitrate transcoder and use the CDN to scale and deliver your stream over HLS.

 
 

2. Stream Scheduler

Scheduling your streams can simplify your workflow, save you a significant amount time, and keep your viewers informed of upcoming events. If you or your organization stream on a regular basis, configuring each individual stream can quickly add up to several hours of precious time each week. Configuring a stream schedule is beneficial if you have a daily streaming event and also prevents any streams and transcoders from being left running when an event has ended. Wowza Streaming Cloud allows you to schedule the start and stop of a stream at a predetermined date and time with the option to configure a repeating schedule.

Additional scheduling options include streaming to stream targets like Facebook Live, YouTube Live, or other social media sites; configuring your schedule using the Streaming Cloud REST API; and viewing the high-level details of all your schedules on the Schedules page.

 
A screenshot of the Wowza Streaming Cloud Scheduled Event page.
 

3. Metadata for Interactive Streams

Timed metadata is customized data used to provide information at a very specific point in time during a stream. The timed metadata flows through a server to the client where, during playback, the timecode serves as a cue point to invoke some action on the data. Metadata consists of data about a stream that’s synchronized to video frames by a timestamp and allows you to add cued interactivity such as text overlays, bidding, betting, GPS data, or question-and-answer games to a live stream. The Wowza Streaming Cloud REST API allows you to ingest AMF data that’s embedded into an RTMP stream from source encoders, cameras, or Wowza Streaming Engine. That said, the AMF data must be converted to ID3 tags in order for the metadata to work in HLS playback. When a player that supports ID3 tags receives an HLS stream, it can listen for and process the metadata.

Here are the steps:

Wowza WSC live metadata injection

  1. Create Wowza Streaming Cloud live Stream via the Rest API
  2. Enable metadata processing
  3. Change default transcoder chunk size
  4. Remove the stream smoother and reduce some internal buffers
  5. Start live stream (optional — stream will auto start if you don’t do this)
  6. Start inbound stream
  7. Call metadata API
  8. Verify in output HLS

For complete step-by-step instructions and code samples for injecting metadata into a stream, visit Wowza’s GitHub page.

 

4. Stream a File

You may be surprised to learn that Wowza Streaming Cloud allows you to stream .mp3 and H.264-encoded .mp4 and .flv files, but the files must be hosted on a web server, Google Storage, or Amazon S3 bucket. You can easily configure this in either the Streaming Cloud Manager or Streaming Cloud Rest API.

To stream a file using the Cloud UI, sign into the Cloud Manager, create a new stream, then select Stream from File as the source on the Video Source and Transcoder Settings page.

 
 

Once you start the live stream or transcoder, Wowza Streaming Cloud will download the file from the specified URL and then start the stream. We do suggest adding a buffer of 10–15 seconds to the end of the file to ensure that the stream doesn’t cut off prematurely.

You can also stream a file using the Streaming Cloud REST API, but note that this feature is only available in version 1.5 of the REST API and later. In both the Cloud UI and Streaming Cloud REST API workflow, Wowza offers advanced transcoder properties when streaming a file such as playing a file on a loop or creating a stream schedule to instruct Streaming Cloud to begin streaming the file at a certain date and time.

 

5.  Webhooks Notification

In January 2021, the Wowza Streaming Cloud team announced a new functionality allowing you to use webhooks to integrate with other applications to streamline or automate your workflows. If you’re not familiar, webhooks are notifications that Streaming Cloud sends when specific events happen in your Wowza Streaming Cloud account.

Typically, in order to determine when an event has occurred, you would use the REST API to poll your account. For example, you may want to know when a recording is uploaded and available, when a transcoder has started, or when your stream is live. Sometimes, it would require several polling attempts to determine the event status. But with webhooks, Wowza pushes notifications to you, eliminating the need to dedicate code and bandwidth to sending repeated REST API requests. Instead, you’re able to create a webhook endpoint that listens for the event notification and then your application can respond to the notification when it’s received.

To receive event notifications, you must enable webhooks for your Streaming Cloud account and create a webhook endpoint. Wowza Streaming Cloud sends webhook events for transcoder and recording actions in JSON format through a POST request.

Here is an example of a webhook notification when a transcoder has stopped.

{
  "version": 1.0,
  "event": "stop.complete",
  "event_id": "9be47e2a-b5ff-492a-a291-c7be79c060ba",
  "event_time": 1588864470.813283,
  "object_type": "transcoder",
  "object_id": "pl3fff7q",
  "object_data": {
    "uptime_id": 7cb5yfnx
  }
 

Please see our documentation on receiving event notifications with webhooks to learn how to enable webhooks for your Wowza Streaming Cloud account and receive event notifications.

 

Conclusion

That concludes our list of the Wowza Streaming Cloud workflows you should be using. We encourage you to experiment with some or all as an easy way to simplify your streaming architecture. Updates to the Wowza Streaming Cloud UI and API are posted in the What’s New panel of the Wowza Streaming Cloud UI. You can also review the running list of newly added features in Wowza Streaming Cloud here in our release notes.

If you’d like to configure a test stream with Wowza Streaming Cloud, but don’t currently have a license, a free 30-day Streaming Cloud trial is available for download. For those of you who are currently Wowza Streaming Engine customers and are curious if migrating to Streaming Cloud may be right for you, we’re offering a free one-hour technical consultation with a Wowza solutions engineer to evaluate your workflows.

 

About Rose Power

Rose Power is the developer community manager for Wowza Media Systems. Passionate about building relationships with the dev community, Rose strives to deliver quality resources for a positive user experience built on trust. When not working, she can be found… View more