Akamai MSL4 Live Outputs

Overview

Bitmovin can not only run in Akamai Connected Cloud, deploying the Live Encoder to a range of regions, but it can also output to Akamai Media Services Live (MSL) as an ingest point for distribution over the Akamai CDN.

Configuring Akamai MSL4

You will need to have an account with Akamai and be able to access the Akamai Control Center.

Prerequisites

When creating a new stream in MSL4 you'll want to consider what type of streaming formats and containers you wish to distribute to your users via the CDN.

Akamai MSL4 can support a range of input formats however they are not all compatible with Bitmovin, and where they are may require a particular muxing type.

Stream FormatSupported by BitmovinMuxing Required
HLS for Apple HTTP Live StreamingTS
HDS for Adobe HTTP Dynamic Streaming-
DASH for Dynamic Adaptive Streaming over HTTPfmp4
CMAF for Common Media Application Format*fmp4

*CMAF MSL4 streams can receive HLS and DASH outputs from Bitmovin and must use fmp4 muxing.

Create you MSL Stream in Akamai

You will need to use an existing MSL4 stream or create a new one. Akamai provides instructions on how to do this in their MSL4 documentation.

Collect the Stream ID

Once created take note of the Stream ID which is required when configuring the live output in Bitmovin. This can be found in the Stream Name (Stream ID) column, the stream ID of your stream is the number in parenthesis, e.g. 9021090.



Configuring Bitmovin Live Encoding Outputs

Using the Bitmovin Dashboard

In the Dashboard navigate to Live Encoding in the left side panel, and then select Outputs.

📘

Remember you will need to know the Stream ID and Stream Format for the MSL4 stream, from your Akamai Control Center or Administrator.

Press + Create and select Akamai MSL4 to see the correct form.

Provide a Name this is a free form name that will be used as a label in the Bitmovin Dashboard, and a useful description to help other Bitmovin users and administrators.

  • The Stream ID that you have taken from your MSL4 stream in the Akamai Control Center
  • Set the Stream Format that correlates with the MSL4 settings.

Users can choose an arbitrary name for your Event Name, the requirements are that it should be one word with letters and numbers but without special characters. E.g. "bitmovin123".

When you are finished press Create and the output will be saved.

Using the Bitmovin API

We provide the following API endpoints to configure MSL4 Live Outputs

Create Akamai MSL Output to create new outputs.

List Akamai MSL Outputs to get a list of configured outputs including their output_id (UUID returned as id)

Akamai MSL Output Details to get information about a specific MSL4 Live Output using the output_id

Delete Akamai MSL Output to delete specific MSL4 Live Outputs using the output_id


Using the Live Output

The output will appear in the Outputs list, and in the Wizard under Akamai MSL.

You can confirm the output is created in the API by using List Akamai MSL Outputs

Remember to select the correct muxing format, that is compatible with your MSL4 stream format.

Manifest and Segment Names

Be aware of the following naming conditions:

  • The template for the segments must not contain underscores ( ). E.g, if your template is segment%number%.m4s , change it to segment-%number%.m4s
  • The output path for the manifest, if not empty, must contain leading and trailing slashes (/).
  • The segment name must be in the format '[prefix]-{randchars[:number]}-%number%.[extension]'
    _e.g. : segment-{rand_chars:10}-%number%.m4s

📘

This naming pattern will be set automatically when using the Live Dashboard but must be set correctly if using the API.


Previewing Outputs

It is not possible to automatically preview the outputs in the Live Encodings status in the Bitmovin Dashboard. However, it is possible to use the Test your stream page under the Player menu in the Dashboard to view the output and validate the stream if the CDN path is known.

To construct the preview URL you must retrieve your amd-property-hostname which is the published and playable DNS name for your CDN endpoint. This can be found in the Akamai Control Center, as explain in the Akamai documentation.

Once this is known you can apply it to the following naming pattern:

https://<amd-property-hostname>/<stream-format>/live/<stream-id>/<event-name>/<manifest>

Example MSL4 Manifest URLs

If you are using the Dashboard wizard to create the outputs, default manifest names would be applied. If using the API the manifest name would need to be set and may differ.

Below there are examples with the default manifest names for different formats, where:

  • stream-id = 9021090
  • event-name = bitmovin123
  • amd-property-hostname = streamtime.bitmovin.net
MSL4 Stream FormatBitmovin OutputBitmovin Preview
HLSHLShttp://streamtime.bitmovin.net/hls/live/9021090/bitmovin123/manifest.m3u8
DASHDASHhttp://streamtime.bitmovin.net/dash/live/9021090/bitmovin123/manifest.mpd
CMAFHLShttp://streamtime.bitmovin.net/cmaf/live/9021090/bitmovin123/manifest.m3u8
CMAFDASHhttp://streamtime.bitmovin.net/cmaf/live/9021090/bitmovin123/manifest.mpd