Control CMAF HLS media playlist attributes for Wowza Streaming Engine live streams

With Wowza Streaming Engine™ media server software, you can control whether specific tags and attributes are included in media playlists for CMAF HLS live streams.

This article explains which property controls the program date and time tag and which controls the server hold-back time attribute. You can also get information about how to enable these properties.

CMAF HLS HTTPStreamer property reference


You can configure either of these optional properties for media segments in CMAF-packetized HLS streams.

Name Type Description
cupertinoEnableProgramDateTime Boolean

(Available from version 4.7.8) Specifies whether EXT-X-PROGRAM-DATE-TIME tags are added to media playlists.

The EXT-X-PROGRAM-DATE-TIME tag associates an absolute date and time with the first sample of the media segment. This date and time can be used as a basis for seeking, for display, or for other purposes, such as enabling a client to compute latency to the encoder or synchronizing media playlist refresh times with an encoder. The default is false.
 

Note: When enabled for an edge application in a CMAF live stream repeater application, the EXT-X-PROGRAM-DATE-TIME tag represents the time the edge server's packetizer received the media (or data) sent over the repeater connection.
cupertinoSegmentHoldBack Double

(Available from version 4.8.0) Specifies, in seconds, the server-recommended minimum distance from the live edge at which clients should begin to play or to which they should seek.

This optional property modifies the HOLD-BACK attribute value of the EXT-X-SERVER-CONTROL tag that appears in manifests for CMAF streams without low latency. If set, the value must be at least three times the cmafSegmentDurationTarget value.

This property is only compatible with players that support the EXT-X-SERVER-CONTROL tag. There's no default value.

Configure properties


By default, Wowza Streaming Engine doesn't add the tags or attributes above automatically for CMAF HLS live streams. To enable one or both of them, you need to edit the HTTPStreamer element of the Application.xml file.

  1. Open the Application.xml file for your CMAF HLS live application ([install-dir]/conf/[application-name]).
  2. In the HTTPStreamer element, add the desired property or properties, making sure to specify a name, value, and type for each one. The XML looks like this:
<HTTPStreamer>
    <Properties>
        <Property>
            <Name>cupertinoEnableProgramDateTime</Name>
            <Value>true</Value>
            <Type>Boolean</Type>
        </Property>
        <Property>
            <Name>cupertinoSegmentHoldBack</Name>
            <Value>1.0</Value>
            <Type>Double</Type>
        </Property>
    </Properties>
</HTTPStreamer>
 
  1. Save your changes and restart Wowza Streaming Engine.

More resources