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. Learn which property controls the program date and time tag, which property controls the server hold-back time attribute, and how to enable them.

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 media segment. This date and time can be used as a basis for seeking, for display, or for other purposes, such as for enabling a client to compute latency to the encoder or for 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 corresponds to the HOLD-BACK attribute value of the EXT-X-SERVER-CONTROL tag. If set, the value must be at least three times the cmafSegmentDurationTarget value. This property is valid for non-low latency HLS only, however, it's only compatible with players that support the EXT-X-SERVER-CONTROL tag. There is 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. Navigate to [install-dir]/conf/live or [install-dir]/conf/[custom live application] and open the Application.xml file in a text editor.
  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