How to filter audio-only rendition in Apple HLS auto-generated multi-bitrate playlist (CupertinoAutoMultibitrateFilter)

The ModuleCupertinoAutoMultibitrateFilter module for Wowza Streaming Engine™ media server software allows you to filter the audio-only bitrate rendition of the playlist of a live application prepared for the Apple App Store.

Apple requires that streams that for the App Store include an audio-only rendition for delivery to Apple iOS devices. However, the multi-bitrate playlist that includes the audio-only rendition may cause problems with other players that support Apple HLS playback. This module can filter player connections based on a player's User-Agent string to turn off the audio-only rendition for players that have trouble playing the stream correctly.

Contents


Prerequisites
Installation
Configuration
Properties
Usage
For developers

Prerequisites


Wowza Streaming Engine 4.2.0 or later is required.

Installation


  1. Download wse-plugin-cupertinoautomultibitratefilter.zip.
     
  2. Extract the contents from the downloaded (zipped) package, and then copy the lib/wse-plugin-cupertinoautomultibitratefilter.jar file from the package to the lib folder in your Wowza Streaming Engine installation ([install-dir]/lib).
     
  3. Restart Wowza Streaming Engine.

Configuration


To enable this module, add the following module definition to your application configuration. See Configure modules for details.

Name
Description
Fully Qualified Class Name
ModuleCupertinoAutoMultibitrateFilter Filter player connections for Apple App Store-compliant streams. com.wowza.wms.plugin.CupertinoAutoMultibitrateFilter

Properties


After enabling the module, you can adjust the default settings by adding the following properties to your application. See Configure properties for details.

Path
Name
Type
Value
Notes
/Root/Application cupertinoAutoMultibitrateFilterUserAgents String Macintosh;|iPhone;|iPad;|iPod;|AppleTV A pipe-delineated list of User-Agent strings. Set this property only if you need to change the default values. (default: Macintosh;|iPhone;|iPad;|iPod;|AppleTV)
/Root/Application cupertinoAutoMultibitrateFilterDebugLog Boolean true Enables logging of the filter setting and User-Agent string for each connection. (default: false)

Usage


Use this module to filter connections based on a player's User-Agent string to turn off the audio-only rendition for players that have trouble playing the stream correctly.

For Developers


Source code is available on GitHub.

Wowza Media Systems™ provides developers with a platform to create streaming applications and solutions. See Wowza Developer Tools to learn more about our APIs and SDK.
Wowza media server software and all components, including modules, source code, and other related items offered on this page, are copyrighted (c) 2006-2016 by Wowza Media Systems, LLC, all rights reserved, and are licensed pursuant to the Wowza Media Software End User License Agreement.
Originally Published: 02-26-2014.
Updated: 09-28-2016.
 

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