Configure MPEG-DASH packetization in Wowza Streaming Engine

This article describes how to 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. To enable a property, select the Enabled check box for the property. You can also change the value for an enabled property from its default setting. All time values are in milliseconds and the values are set on a per-application basis. Refer to the MPEG-DASH segmenter property reference below for more information about the individual properties you can use to manage the MPEG-DASH segmenter for live streams.

  5. Click Save, and then restart the application when prompted to apply the changes.
Note: For more information about how to configure properties, see Configure properties.

MPEG-DASH segmenter property reference


  • mpegdashChunkDurationTarget - Sets the duration of each chunk in milliseconds.
  • mpegdashMaxChunkCount - Sets the maximum number of chunks stored in the available chunk list.
  • mpegdashPlaylistChunkCount - Sets the number of items returned in the playlist.
  • mpegdashRepeaterChunkCount - Sets the number of chunks that are immediately sent from the origin to the edge after initial connection. This property is only required for Live Edge application types. A live edge application will have a StreamType of liverepeater-edge in the Application.xml file.

Property details

The audio and video packets from a live encoder enter Wowza Streaming Engine and are segmented into chunks based on time. The duration (in milliseconds) of each chunk is controlled by the mpegdashChunkDurationTarget property setting. The chunks are added to the available chunk list as they are created. The maximum number of chunks stored in the available chunk list is controlled by the mpegdashMaxChunkCount property setting. When a stream is requested by a DASH client, a manifest is returned that contains the [n] most recently added chunks. The number of items [n] returned in the manifest is controlled by the mpegdashPlaylistChunkCount setting.

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 previously segmented chunks from the origin to the edge for delivery to the client. The mpegdashRepeaterChunkCount property setting controls the number of chunks that are immediately sent from the origin to the edge after the initial connection. It's best if this setting is equal to or greater than mpegdashPlaylistChunkCount but less then mpegdashMaxChunkCount. With Wowza Streaming Engine 4.5.0.02 and later, if you set the mpegdashRepeaterChunkCount to a value that is equal to or less than 0, the mpegdashPlaylistChunkCount value is used.
 
Notes:
  • Chunks must start on a keyframe, so use a keyframe interval that is factor of the mpegdashChunkDurationTarget setting. For example, if mpegdashChunkDurationTarget is set to 10 seconds, use a keyframe interval of 2, 2.5, 5, or 10 seconds.
  • To estimate how much memory is used 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 kilobit per second (Kbps) stream will consume the following amount of memory given the default settings above:
    (500/(1024*8)) * 10 * 10 = 6 MB of memory
  • You can add the mpegdashMinBufferTime property to specify the minBufferTime value reported in the manifest. To do this, do the following:
     
    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 mpegdashChunkDurationTarget 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.
     
    1. In Path, select /Root/Application/HTTPStreamer.
       
    2. In Name, enter mpegdashChunkDurationTarget.
       
    3. In Type, select Integer.
       
    4. In Value, enter a value (in milliseconds) to specify the default VOD chunk size.
  6. 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