Configure CMAF live streaming packetization in Wowza Streaming Engine

Wowza Streaming Engine™ media server software version 4.7.8 and later provides several optional properties that you can use to customize how live streams are packetized for delivery using CMAF, the open, extensible standard that allows streams to be played over both the Apple HLS and MPEG-DASH protocols.

CMAF live packetization property reference

Wowza Streaming Engine supports the following optional packetization properties for CMAF streams.

Note: Similar properties are available for the standalone HLS (Cupertino) and MPEG-DASH packetizers. For more information, see Configure Apple HLS packetization in Wowza Streaming Engine and Configure MPEG-DASH packetization in Wowza Streaming Engine.

Name Type Description
cmafEnableAudio Boolean Enables audio for CMAF streams. The default is True.
cmafEnableVideo Boolean Enables video for CMAF streams. The default is True.
cmafMaxSegmentCount Integer

The maximum number of fMP4 segments stored in the list of segments, available for playback. The default is 10.

cmafPlaylistSegmentCount Integer

The number of fMP4 segments returned in the MPEG-DASH manifest, or HLS media playlist, when a player requests the stream. The default is 5.

Note: If you use a value greater than cmafMaxSegmentCount, Wowza Streaming Engine uses the  cmafMaxSegmentCount value and sends a warning.

cmafRepeaterSegmentCount Integer

The number of fMP4 segments that are immediately sent from the origin server to the edge server after initial connection. You can use any integer equal to or greater than 1. The default is 5.

Note: Typically only for live origin applications in an origin/edge configuration. Configure cmafRepeaterSegmentCount on the origin server only.

cmafSegmentBreakOnPTS Boolean If true, the default, CMAF segments align on a keyframe's presentation time stamp (PTS) metadata. If false, segments align on a keyframe's decoding time stamp (DTS).
cmafSegmentDurationTarget Integer

Specifies, in milliseconds, the duration of the fMP4 segments in the stream. The value must be greater than 0. The default is 6000 (6 seconds).

Note: If used in a repeater configuration, cmafSegmentDurationTarget must be specified identically on the origin server and each edge server.

(4.8.0 and later)
Double Specifies, in floating-point seconds, the server-recommended minimum distance from the live edge at which clients should begin to play or to which they should seek. 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 CMAF packetization properties

  1. Go to the Application.xml file for your CMAF live stream application. If you're using the default live application that installs with Wowza Streaming Engine, go to [install-dir]/conf/live.

    Note: Some CMAF packetization properties can be configured in Wowza Streaming Engine Manager, in the CMAF Streaming Packetizer section of the application's Properties tab.

  2. Open Application.xml in a text editor.
  3. In the <LiveStreamPacketizer> container element, add the desired properties. Specify the name, type, and value for each property. The XML looks like this:
  1. Save your changes and restart Wowza Streaming Engine.

More resources