Configure MPEG-DASH packetization in Wowza Streaming Engine

Configure properties in Wowza Streaming Engine™ media server software to control how the MPEG-DASH packetizer (mpegdashstreaming) splits streams into segments suitable for playback on DASH players.

Note: Wowza Streaming Engine 4.0.0 or later is required.

Configure MPEG-DASH packetization for live streams


  1. In Wowza Streaming Engine Manager, click the Applications tab at the top of the page.
  2. In the Applications contents panel, click the name of your live application (such as live).
  3. On the live application page Properties tab, click MPEG-DASH Streaming Packetizer in the Quick Links bar.  
    Note: Access to the Properties tab is limited to administrators with advanced permissions. For more information, see Manage credentials.
  4. Click Edit in the MPEG-DASH Streaming Packetizer properties area.
  5. To enable a property for the application, select the Enabled check box for the property. You can also change the value for an enabled property from its default setting. For information on each of the properties, see the MPEG-DASH segmenter property reference.
     
  6. Click Save, and then restart the application when prompted to apply the changes.

MPEG-DASH segmenter property reference


Some MPEG-DASH live segmenter and logging properties were renamed in Wowza Streaming Engine 4.7.8 to conform to MPEG-DASH standard terminology. The old names appear in parentheses alongside the new names in Wowza Streaming Engine Manager. Both names are supported in the Wowza Streaming Engine REST API, however, we recommend that you use the new names, as the old names may eventually be deprecated.

  • mpegdashSegmentDurationTarget (formerly mpegdashChunkDurationTarget) – The duration, in milliseconds, of each MPEG-DASH segment. The default is 10000 (10 seconds).
  • mpegdashMaxSegmentCount (formerly mpegdashMaxChunkCount) – The maximum number of items stored in the available segment list.
  • mpegdashPlaylistSegmentCount (formerly mpegdashPlaylistChunkCount) – The number of items returned in the playlist. The default is 5.
  • mpegdashRepeaterSegmentCount (formerly mpegdashRepeaterChunkCount) – The number of MPEG-DASH segments that are immediately sent from the origin server to the edge after initial connection. The value must be greater than 0 or Wowza Streaming Engine will use the mpegdashPlaylistSegmentCount instead. Required for Live Edge application types. A live edge application has a StreamType of liverepeater-edge in the Application.xml file.

How the MPEG-DASH segmenter properties work

The audio and video packets from a live encoder enter Wowza Streaming Engine and are segmented into chunks based on time. The duration of each segment is controlled by the mpegdashSegmentDurationTarget property. Segments are added to the available segment list as they're created. The maximum number of items stored in the list is controlled by the mpegdashMaxSegmentCount property. When an MPEG-DASH client requests a stream, Wowza Streaming Engine provides a manifest that contains the n most recently added segments. The number of items returned in the manifest, n, is controlled by the mpegdashPlaylistSegmentCount property.

The live stream repeater system is used to deliver a single live stream in an origin/edge configuration to multiple edge servers. The first time an edge server requests a stream, it pulls the segmented stream from the origin to the edge for delivery to the client. The mpegdashRepeaterSegmentCount property controls the number of segments that are immediately sent from the origin to the edge after the initial connection. It's best if the mpegdashRepeaterSegmentCount is equal to or greater than mpegdashPlaylistSegmentCount but less than mpegdashMaxSegmentCount.

Tips for configuring MPEG-DASH segmenter properties

  • Chunks must start on a keyframe, so use a keyframe interval that is factor of the mpegdashSegmentDurationTarget value. For example, if mpegdashSegmentDurationTarget is 10 seconds, use a keyframe interval of 2, 2.5, 5, or 10 seconds.
  • To estimate the amount of memory needed to store the chunks for a single live stream, use the formula:

[total-memory-mb] = ([stream-bitrate-kbps]/([1024-kb-per-mb]*[8-bits-per-byte])) * [mpegdashChunkDurationTarget-seconds] * [mpegdashMaxChunkCount]

For example, a 500 Kbps stream needs 6 MB memory given the default settings above:

(500/(1024*8)) * 10 * 10 = 6 MB
 
  • Add the mpegdashMinBufferTime property to specify the minBufferTime value reported in the manifest by completing the following steps:
  1. On the live application page Properties tab, click Custom in the Quick Links bar.
  2. In the Custom section, click Edit.
  3. Click Add Custom Property, specify the following settings in the Add Custom Property dialog box, and then click Add:
     
    • Path - Select /Root/Application.
    • Name - Enter mpegdashMinBufferTime.
    • Type - Select Integer.
    • Value - Enter a value (in milliseconds) to specify the minBufferTime value reported in the manifest. The default value is 6000.
  4. Click Save, and then restart the application when prompted to apply the changes.

Configure MPEG-DASH packetization for VOD streams


You can control the video-on-demand (VOD) chunk size by adding the mpegdashSegmentDurationTarget property to your VOD application configuration.
 
  1. In Wowza Streaming Engine Manager, click the Applications tab at the top of the page.
     
  2. In the Applications contents panel, click the name of your live application (such as vod).
     
  3. On the VOD application page Properties tab, click Custom in the Quick Links bar.
     
    Note: Access to the Properties tab in Streaming Engine Manager is limited to administrators with advanced permissions. For more information, see Manage credentials.
  4. In the Custom area, click Edit.
  5. Click Add Custom Property, specify the following custom property settings in the Add Custom Property dialog box, and then click Add.
  • In Path, select /Root/Application/HTTPStreamer.
     
  • In Name, enter mpegdashSegmentDurationTarget.
     
  • In Type, select Integer.
     
  • In Value, enter a value (in milliseconds) to specify the default VOD chunk size.
  1. Click Save, and then restart the application when prompted.
Note: You can add the mpegdashMinBufferTime property to specify the minBufferTime value reported in the manifest for VOD streams. To do this, follow the directions above for adding the mpegdashMinBufferTime property to a live stream.

More resources