Change the EXT-X-VERSION for HLS streaming from Wowza Streaming Engine

This article provides instructions for changing the EXT-X-VERSION information used by Wowza Streaming Engine™ media server software.

EXT-X-VERSION information indicates the playlist compatibility version for Apple HTTP Live Streaming (HLS). See the draft-pantos-http-live-streaming-09 specification for more information about the protocol.

By default, Wowza Streaming Engine reports an Apple HLS compatibility version of 3:

EXT-X-VERSION:3

To update the EXT-X-VERSION number that is reported, add the following property to HTTPStreamer/Properties in [install-dir]/conf/[application]/Application.xml:

<Property>
     <Name>cupertinoExtXVersion</Name>
     <Value>3</Value>
     <Type>Integer</Type>
</Property>

Wowza Streaming Engine can turn playlist features on and off based on the EXT-X-VERSION value that is set. The following features are controlled through this value:

  • Floating Point Duration – If the EXT-X-VERSION value is 3 or greater, Wowza Streaming Engine represents chunk durations using floating point durations instead of whole integer durations.
  • CODECS Format – If the EXT-X-VERSION value is 4 or greater, Wowza Streaming Engine represents the CODECS values in the playlist.m3u8 responses using the post-iOS 4.0 format (ex. avc1.42001e). If the value is less than 4, the pre-iOS 4.0 format (ex. avc1.66.30) is used.

Each of these features can be controlled indepently from the EXT-X-VERSION version using the following HTTPStreamer/Properties properties:

Floating Point Duration

<Property>
     <Name>cupertinoFloatingPointDurations</Name>
     <Value>true</Value>
     <Type>Boolean</Type>
</Property>

CODECS Format

<Property>
     <Name>cupertinoCodecStringFormatId</Name>
     <Value>2</Value>
     <Type>Integer</Type>
</Property>
Where the following values are supported:
 
  • 1 – Pre iOS 4.0 (ex. avc1.66.30)
  • 2 – Post iOS 4.0 (ex. avc1.42001e)