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.
Configure MPEG-DASH packetization for live streams
- In Wowza Streaming Engine Manager, click the Applications tab at the top of the page.
- In the Applications contents panel, click the name of your live application.
- On the 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.
- Click Edit in the MPEG-DASH Streaming Packetizer properties area.
- 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.
- 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 (replaced mpegdashChunkDurationTarget in Wowza Streaming Engine 4.7.8 and later) – The duration, in milliseconds, of each MPEG-DASH segment. The default is 10000 (10 seconds).
- mpegdashMaxSegmentCount (replaced mpegdashMaxChunkCount in Wowza Streaming Engine 4.7.8 and later) – The maximum number of items stored in the available segment list.
- mpegdashPlaylistSegmentCount (replaced mpegdashPlaylistChunkCount in Wowza Streaming Engine 4.7.8 and later) – The number of items returned in the playlist. The default is 5.
- mpegdashRepeaterSegmentCount (replaced mpegdashRepeaterChunkCount in Wowza Streaming Engine 4.7.8 and later) – 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 a 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:
- Add the mpegdashMinBufferTime property to specify the minBufferTime value reported in the manifest by completing the following steps:
- On the application page Properties tab, click Custom in the Quick Links bar.
- In the Custom section, click Edit.
- 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.
- Click Save, and then restart the application when prompted to apply the changes.
Configure MPEG-DASH packetization for VOD streams
With Wowza Streaming Engine 4.8.5 and later, you can control the video-on-demand (VOD) segment size by adding the mpegdashSegmentDurationTarget property to your VOD application configuration. In earlier versions of Wowza Streaming Engine, use the mpegdashChunkDurationTarget property for VOD configuration instead.
- In Wowza Streaming Engine Manager, click the Applications tab at the top of the page.
- In the Applications contents panel, click the name of your live application.
- On the 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. - In the Custom area, click Edit.
- 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.
- Click Save, and then restart the application when prompted.