Filter audio-only rendition in Apple HLS auto-generated multi-bitrate playlist with a Wowza Streaming Engine Java module

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 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