With Wowza Streaming Engine stream targets, you can send a live stream to distributed destinations. For example, you can send a live stream from a Wowza Streaming Engine (WSE) server to a content delivery network and use its edge network to deliver the stream to viewers. If your source stream has multiple bitrates or will be transcoded in WSE you may group the streams for delivery to Akamai. This article walks you through configuring WSE to send a single live stream and a stream group to Akamai's HD network. WSE's Akamai HD integration supports HLS, MPEG-DASH and CMAF.
Akamai MSL4 will be discontinued on Dec 31, 2026. Customers using Akamai should upgrade to WSE 4.12 and implement an MSL5 integration to avoid facing a hard cutoff on Jan 1, 2027.
(For help integrating with MSL4, see the Akamai MSL4 guide.)
Prerequisites
- A live WSE app with stream targets enabled
- An Akamai Media Services Live (MSL) account, provisioned and configured for your live-streaming format
- MSL5 enabled on your Akamai account
- Akamai credentials
Create a stream target
Before streaming to Akamai, you must create a stream target. This section walks you through creating a new stream target using WSE Manager. (If preferred, you can also create a stream target using the WSE REST API or by adding an entry to the PushPublishMap.txt file.)
To configure a live WSE app to stream to Akamai, follow the steps below.
- Open WSE Manager.
- Select the Applications tab.
- Select your live app.
- Click Stream Targets.
- Click Add Stream Target.
- Under Third-Party Target Destinations, select the Akamai (MSL5) setup wizard.
- Select your Destination Protocol.
- Provide the following information:
- Stream Target Name: A descriptive name for this target setup in WSE. The name must be unique and cannot contain any of the following characters:
<,>,:,',",/,\,|,?,*,..,~. - Source Stream Name: The name of the incoming source stream that will be sent to the destination.
- Destination Stream Name:
The name of the stream that you provisioned at this stream target's destination. The stream target will send the stream with this stream name. - Akamai Stream ID: The MSL5 stream identifier (a UUID) assigned to the provisioned live stream in Akamai Control Center.
- Destination Server: The destination server(s) the source stream will be sent to.
- Stream Target Name: A descriptive name for this target setup in WSE. The name must be unique and cannot contain any of the following characters:
- Configure the remaining parameters as needed, based on your selected protocol.
- Click Add this target.
Stream to Akamai
Publish a single stream
Follow the steps below to send a single stream to Akamai.
- Create a stream target.
- In the Stream matcher dropdown, select Single stream name.
- Enter the stream name in the Single stream name field.
- Start the stream's camera or encoder.
- Copy the stream's playback URL. (You can find the playback URL on the "View" stream target details page of WSE Manager.)
- Test the playback URL with a test player.
- Stop the stream's source camera or encoder.
Publish a stream group
Many use cases require sending a stream group, including adaptive bitrate streams, streams with multiple audio formats, and streams with multiple audio tracks. To send a stream group to Akamai, follow the steps below.
- Determine how your streams will be grouped together. WSE can group streams with any of the following methods:
- A static list of stream names, provided when the stream target is created
- Stream names with a shared prefix
- Stream names with a shared reg-ex pattern
- Streams in a predefined stream group.
- Streams in a predefined transcoder stream name group
- A programmatically generated SMIL file
- A static, manually created SMIL file on a disk
- Streams defined in an adaptive media list
- Set up any necessary stream group definitions. (For example, create a SMIL file.)
- Create a stream target.
- In the Stream matcher dropdown, select the appropriate stream group matcher.
- Provide the stream matcher value. (For example, the SMIL file from step 2.)
- Start the stream's camera or encoder.
- Copy the stream's playback URL. (You can find the playback URL on the "View" stream target details page of WSE Manager.)
- Test the playback URL with a test player.
- Stop the stream's source camera or encoder.
Stream target parameters
General settings
The following settings are available in the Akamai MSL5 setup wizard, regardless of the destination protocol. Once you have selected a destination protocol, you will see additional HLS-specific values or MPEG-DASH/CMAF-specific values.
- Destination Protocol: The stream protocol you provisioned in Akamai. Available values:
- Apple HLS
- CMAF
- MPEG-DASH
- Stream Target Name: The name of the stream target. To ensure uniqueness, we recommend including the stream target's destination, protocol, and rendition. For example,
akamai-HLS-720p. Note: the stream target name cannot contain any of the following characters:<,>,:,',",/,\,|,?,*,..,~. - Stream Matcher: The format used to determine which stream(s) will be sent to the destination. The selection for stream matcher will determine the required value for the subsequent field. (For example, if "Single stream name" is selected, the user must provide the name of the single stream. If "Stream name group" is selected, the user must provide a stream group name.) The list below includes the values available in the Stream matcher dropdown and a description of their expected value.
- Single stream name: The name of the stream to be sent to Akamai. (Unlike the other values in this list, sending a single stream does not use the
group-managerprofile.) - Stream name prefix: Streams matching the prefix provided will be sent to Akamai.
- Stream name list: A list of stream names to be sent to Akamai.
- Stream name regular expression: Streams matching the regex provided will be sent to Akamai.
- Stream name group: The name of the stream group to be sent to Akamai.
- Transcoder name group (ngrp): Streams in the transcoder stream name group provided will be sent to Akamai.
- SMIL file: A static, manually authored SMIL file on a disk.
- SMIL stream: A programmatically generated SMIL file.
- Adaptive media list (amlst): Streams matching the app's predefined, custom AMLST file (provided by an
IMediaListProvidermodule) will be sent to Akamai. This option allows you to determine the stream group with custom code, for added flexibility.
- Single stream name: The name of the stream to be sent to Akamai. (Unlike the other values in this list, sending a single stream does not use the
- Destination Stream Name: The stream name to be provided to the stream target destination.
- When sending a single ABR stream, WSE will automatically append the bitrate to the destination stream name.
- When sending a stream using the
group-managerprofile, this value fans out across multiple source streams, so we recommend including the{bitrate}to ensure uniqueness per rendition. For example,akamai-HLS-{bitrate}. If the{bitrate}variable is not provided, each child stream will be published under its source stream name instead.
- Adaptive Group: The ABR group the renditions are published under at the destination. When the Stream Matcher field is not set to Single stream name, this value is the adaptive group of every spawned child target.
- Playlist Count: The number of time-based HLS chunks to maintain in the destination stream's playlist. If set to 0, the playlist count will be determined by the live stream's
cupertinoPlaylistChunkCountpacketizer property. (Default: 0) - Send to Akamai over SSL: Check this box to publish to Akamai over HTTPS.
- Playback over SSL: Check this box to use HTTPS for playback URLs.
- Derive ingest host automatically from Stream ID: Check this box to automatically derive the Akamai ingest host using the stream ID provided.
- Akamai Ingest Host: If the Derive ingest host automatically from Stream ID box is unchecked, you will be prompted to provide the Akamai ingest host in this field.
- Playback Host: The hostname or IP address of the stream's resource origin.
- Akamai Stream ID: The MSL5 stream identifier (a UUID) assigned to the provisioned live stream in Akamai Control Center.
- Akamai Event Name: The Akamai event name to be associated with this stream target.
- Ingest authentication: The HTTP ingest authentication to be used at the Akamai ingest endpoint. Available values:
- None: No authentication
- Custom Header: Authenticate using a custom header
- Digest (Username/Password): Authenticate using username/password digest authentication
- Destination Server: The destination server(s) the source stream will be sent to. (Default:
Primary) Available values:- Primary: Send the stream to the primary Akamai hostname.
- Backup: Send the stream to a backup Akamai hostname.
- Redundant: Send the stream to both the primary and backup hostnames. In this case, a manifest or playlist with playback URLs for the primary and backup streams will be generated.
HLS settings
- Apple HLS Stream Renditions:
- Audio and Video: Check this box to stream both audio and video. (Default)
- Audio Only: Check this box to stream audio only.
MPEG-DASH & CMAF settings
- MPEG-DASH Video Representation ID: A unique alphanumeric ID for the stream's video component. Used to modify the ID of the MPEG-DASH MPD manifest's
Representationelement. If omitted, the video's bitrate will be used. For example,video_752kbps. - MPEG-DASH Audio Representation ID: A unique alphanumeric ID for the stream's audio component. Used to modify the ID of the MPEG-DASH MPD manifest's
Representationelement. If omitted, the audio's bitrate will be used. For example,audio_752kbps.
Stream target status
The list below describes the available stream target statuses and their meanings.
- Waiting: The target is enabled but the stream is not yet being pushed to the destination. This may be because the source stream is not yet connected to WSE or because WSE's connection to the target is not fully initialized.
- Active: WSE is successfully connected to the destination and is actively pushing the stream.
- Error: WSE was unable to connect to the destination. This may be due to an inaccessible source stream, incorrect target configuration, an issue with the destination server, or an invalid Wowza Video API token.
Test the connection
The steps below will help you test your WSE-powered Akamai stream from end-to-end.
- Start the stream in the camera or encoder streaming to your WSE app. The app will ingest the live stream and send it to Akamai.
- Open WSE Manager.
- In the contents panel, click Incoming Streams.
- Click the stream name.
- You will see the stream details page, which includes stream's status, connections, uptime, and throughput.
- The stream status will be Active.
- In the contents panel, click Stream Targets.
- The target status will be Active.
- Click the button at the top of the "View" stream target details page to copy the playback URL.
- Test the playback URL with a test player.
- Stop the stream's source camera or encoder.




