Migrate to Wowza CDN on Fastly

Migrate to Wowza CDN on Fastly from Wowza CDN on Akamai with Wowza Video or Wowza Streaming Engine.

This tutorial walks you through adding a stream target and updating your player configuration to use the Wowza CDN on Fastly.

Important: If you are using the provided Wowza Video player, you'll need to create a new livestream and update the player embed code on your website.

Migrate with Wowza Video


Wowza Video user interace

1. Create a Wowza CDN on Fastly stream target

  1. Under Advanced on the left navigation bar, click Stream Targets.
  2. Click Add Target, select Wowza CDN on Fastly, and then click Add.
  3. Specify the Target Name. The Target Name is required but doesn't have to be unique, and it can't be longer than 255 characters.
  4. (Optional) Select DASH under Delivery Protocols if you want to send an MPEG-DASH stream to the target for DRM. HLS is already select by default.
    Notes:

Wowza Video generates a target and displays the target detail page. You can find the target's playback URLs on the Playback URLs tab. Viewer data for Wowza CDN on Fastly stream targets is available in near-real time. See Get viewer data in Wowza Video for more information.

2. Add the stream target to an existing live stream or transcoder

  1. Under Advanced, click Transcoders.
  2. Select your live stream or transcoder on the Transcoders page.

    Live streams appear as [Live stream name] / Transcoder.

  3. Click the Outputs & Targets tab of the transcoder detail page.

    The Outputs & Targets tab displays the output renditions for your live stream or transcoder.

  4. For the output rendition you want to add the stream target to, click Add a Stream Target and then select Existing stream target.
  5. Select the stream target you created and then click OK.
  6. (Optional) Repeat these steps to add the stream target to additional output renditions.

The stream target is now added to an output rendition associated with your live stream or transcoder.

After adding the stream target to the live stream or transcoder, update your player configuration to use the Wowza CDN on Fastly playback URL instead of the Wowza CDN on Akamai playback URL. Then, you can remove any remaining Wowza CDN on Akamai stream targets from output renditions and, optionally, delete the Akamai stream target.

Wowza Video REST API

1. Create a Wowza CDN on Fastly stream target

A Wowza CDN on Fastly stream target is a destination that uses Wowza CDN to deliver the stream to players. We recommend using Wowza CDN on Fastly stream targets for new stream configurations. Advanced properties are available for Wowza CDN on Fastly stream targets.

You can use the following sample request, making sure to:

  • Change any values unique to your broadcast, using the API reference documentation as a resource. See the Endpoint Reference button below.

Sample request

Endpoint Reference

curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${WV_JWT}" \
-d '{
   "stream_target_fastly": {
     "name": "My first Wowza CDN on Fastly target"
   } 
}' "${WV_HOST}/api/${WV_VERSION}/stream_targets/fastly"

Sample response

The response includes:

  • An ID for the stream target that you'll use in step 3 to assign the stream target to the transcoder.
{
    "stream_target_fastly": {
        "id": "lwzgrj9r",
        "name": "My first Wowza CDN on Fastly target",
        "state": "activated",
        "stream_name": "ZmYxSXRrTERrUlk9",          
        "playback_urls": {
          "hls": [
            {
	      "name": "default",
              "url": "https://[subdomain].wowza.com/1/[stream_id]/[stream_name]/hls/live/playlist.m3u8"
            }
          ]
        },
        "token_auth_enabled": false,
        "token_auth_playlist_only": false,
        "geoblock_enabled": false,
        "geoblock_by_location": "disabled",
        "geoblock_ip_override": "disabled",
        "force_ssl_playback": false,
        "created_at": "2021-07-22T16:38:21.000Z",
        "updated_at": "2021-07-22T16:38:21.000Z"
    }
}
2. Add the stream target to an existing live stream or transcoder

You can use the following sample request, making sure to:

  • Set the [transcoder_id]
  • Set the [output_id]
  • Change any values unique to your broadcast, using the API reference documentation as a resource. See the Endpoint Reference button below.

Sample request

Endpoint Reference

curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${WV_JWT}" \
-d '{
   "output_stream_target": {
     "stream_target_id": "9123wxyz",
     "use_stream_target_backup_url": false
   } 
}' "${WV_HOST}/api/${WV_VERSION}/transcoders/[transcoder_id]/outputs/[output_id]/output_stream_targets"

Sample response

{
   "output_stream_target": {
    "stream_target_id": "9123wxyz"
    "use_stream_target_backup_url": false
   }
}

Migrate with Wowza Streaming Engine


Stream directly from Wowza Streaming Engine to Wowza CDN on Fastly

The Stream Targets feature in Wowza Streaming Engine™ media server software allows you to send live streams to widely distributed destinations. This is a push-based workflow where the server pushes the stream data to the destination.

The alternative is a pull-based workflow where the destination pulls the stream data from the server. Each workflow has its own advantages and disadvantages.

Unless there is a specific need for a push-based workflow, it's strongly recommended to use a pull-based workflow instead.

Pull

Push

Is simple to set up.  Once the application is configured, there is no special configuration for each stream.

Is difficult to set up.  Each stream needs a separate Stream Target.  For pushing to most CDNs (including Wowza CDN), an intermediate location, such as an S3 bucket, will be required.

Any HTTP streams that can be directly played back from Wowza Streaming Engine can be used in a pull workflow (including streams with alternative tracks or custom playlist tags).

Only basic HLS streams are currently supported (single or adaptive bitrate with). HLS with alternative tracks, CMAF, or Mpeg-DASH streams are not supported.

Any time the source stream is running, it will be available via the CDN.

The stream target can be controlled independently from the source stream so access can be controlled.

Some TCP ports for streaming may need to be opened in the firewall.

No ports need to be opened in the server firewall.

Configure using a pull-based workflow:

Configure using a push-based workflow:

After setting up streaming to Wowza CDN on Fastly, you can delete any Wowza CDN stream targets, which streamed to Akamai, from your Wowza Streaming Engine application.

Stream to Wowza Video for transcoding and delivery over the Wowza CDN edge network

If you have an existing configuration to stream to Wowza Video for transcoding and delivery over the Wowza CDN edge network, your live stream in Wowza Video may already be using Wowza CDN on Fastly.

Confirm this by checking the stream targets associated with any output renditions for your live stream. If any output renditions use Wowza CDN on Akamai targets but not Fastly targets, follow the migration steps for Wowza Video to create a Wowza CDN on Fastly stream target and add it to your live stream's output renditions.

More resources