How to change the EXT-X-VERSION for Apple HTTP Live Streaming

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 Media Server 3.1.2 and later 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>
As of Wowza Media Server 3.5.0, Wowza Media Server now will turn on/off playlist features 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 Media Server will represent chunk durations using more accurate floating point durations instead of whole integer durations.
  • CODECS Format: If the EXT-X-VERSION value is 4 or greater, Wowza Media Server will represent 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)

Originally Published: 02-29-2012.
 

If you're having problems or want to discuss this article, post in our forum.