Publish and play an Apple HLS live stream with Wowza Streaming Engine

Configure Wowza Streaming Engine™ media server software to receive an encoded live stream from an Apple HLS-based source and play the live stream over all supported streaming protocols.

Note: Wowza Streaming Engine 4.5.0.01 or later is required.

Configure the live streaming application in Wowza Streaming Engine Manager


Live streams are configured and managed in live applications in Wowza Streaming Engine. This example uses the default live application that installs with Wowza Streaming Engine.

You can use Wowza Streaming Engine Manager with the latest version of most web browsers that support HTML5 and Cascading Style Sheets level 3 (CSS 3). We recommend Google Chrome.

  1. In Wowza Streaming Engine Manager, click the Applications tab at the top of the page and then select the live application in the contents panel.

Start by enabling playback over all supported protocols: Adobe HDS, Adobe RTMP, Apple HLS, Microsoft Smooth Streaming, MPEG-DASH, and RTSP/RTP.

  1. On the Setup tab of the live application page, make sure all Playback Types are selected. If necessary, click Edit, select them all, and then click Save.

Note: Every time you edit an application's configuration, Wowza Streaming Engine prompts you to restart the application. However, you can wait until all changes are completed before you restart.

Next, disable playback authentication.

  1. In the contents panel, click Playback Security, and then click Edit.

  1. On the Playback Security page, select No client restrictions, and then click Save.

  2. Restart the application.

The application runs whenever Wowza Streaming Engine is running.

Publish the source stream to Wowza Streaming Engine


This section provides the basic steps for creating a .stream file to publish the encoded live stream to Wowza Streaming Engine.

Note: Consult your HLS encoder documentation for information about how to configure an outgoing live stream.

  1. In Wowza Streaming Engine Manager, click Server in the menu bar, click Stream Files in the contents panel, and then click Add Stream File.

  1. In the Add Stream File dialog box, enter a name for the stream file, for example, applehls.stream.
  2. Enter the Stream URI, making sure it ends with the .m3u8 suffix.

  3. Click Add.

When your source encoder is connected, start the stream.

  1. Click Stream Files in the contents panel and then click the Connect icon for your HLS .stream file.

  1. In the Connect a Stream File dialog box, click the Application Name menu and choose live.
  2. Click the MediaCaster Type menu and choose applehls.


     
  3. Click OK.

The Connection successful notification is displayed.

Test playback


In Wowza Streaming Engine Manager, click Test Players in the upper-right corner of the live application page.

Each tab in the Test Players window either hosts a test player that can play the live stream, or provides instructions for playing the live stream. The test players are preconfigured to stream the default live stream myStream.

To test playback of the HLS stream applehls.stream over Adobe HDS, for example, make sure the encoder is sending a stream to the live application in Wowza Streaming Engine and that Adobe Flash is enabled in the browser you're using. Then, click the Adobe HDS tab, enter the information below, and then click Start..

  • Server – Enter [wowza-ip-address]:1935.
     
  • Application – Enter live.
     
  • Stream – Enter applehls.stream.



The result is the HDS playback URL:

http://[wowza-ip-address]:1935/live/applehls.stream/manifest.f4m

You can also test your live stream by using the test players online on our Wowza Test Players webpage, or by using the example players that install with Wowza Streaming Engine at [install-dir]/examples/. For more information, see any of these articles:

Implementing adaptive bitrate streaming


To implement adaptive bitrate streaming, you can include multiple entries in the manifest file provided, each of which is automatically ingested when you start the stream.

In the manifest, the primary stream isn't numbered, but any additional renditions are numbered sequentially. For example, if the manifest contains three streams and the MediaCaster stream file is applehls.stream, then the primary stream that is created is named applehls.stream and the other two renditions are named applehls.stream_1 and applehls.stream_2. For more information, see Create and play SMIL files with transcoded streams in Wowza Streaming Engine.

Troubleshooting


Import AC-3 elementary streams

Wowza Streaming Engine (and Wowza Media Server 3.5.1 or later) can import AC-3 elementary streams using Apple HLS (Cupertino) and MPEG-DASH streaming to allow Dolby Digital (AC-3) and Dolby Digital Plus (Enhanced AC-3) audio from MPEG-TS encoders to pass through unaltered for delivery. This lets your customers experience immersive surround-sound audio when streaming on media devices such as Apple TV, Sony PlayStation 3 (PS3), hybrid set-top boxes, and smart TVs.

Note: The mpegtsImportAC3 property will apply to all streams delivered by the application. For more information on only changing the property for a single stream, see Specify per-stream settings in Wowza Streaming Engine .stream files.

  1. Click the Applications tab and then click the name of your live applicationin the contents panel.  
  2. On the live application page Properties tab, click Custom in the Quick Links bar.
     
    Note: Access to the Properties tab is limited to administrators with advanced permissions. For more information, see Manage credentials.
  3. In the Custom area, click Edit.  
  4. Click Add Custom Property, specify the following settings in the Add Custom Property dialog box, and then click Add:
     
    • Path – Select /Root/Application/RTP.  
    • Name – Enter mpegtsImportAC3.  
    • Type – Select Boolean.  
    • Value – Enter true.
  5. Click Save, and then restart the live application to apply the changes. 

Debug the incoming Apple HLS stream

If Wowza Streaming Engine has trouble ingesting an Apple HLS live stream, enable the cupertinoMediaCasterDebug property to capture additional information in the logs.
 
Note: The cupertinoMediaCasterDebug property is turned off by default and should only be enabled for troubleshooting. Using it significantly increases the size of log files.
  1. Click the Applications tab and then click the name of your live application (such as live) in the contents panel.
     
  2. On the live application page Properties tab, click Custom in the Quick Links bar.
     
    Note: Access to the Properties tab is limited to administrators with advanced permissions. For more information, see Manage credentials.
  3. In the Custom area, click Edit.
     
  4. Click Add Custom Property, specify the following settings in the Add Custom Property dialog box, and then click Add:
     
    • Path - Select /Root/Application/MediaCaster.
       
    • Name - Enter cupertinoMediaCasterDebug.
       
    • Type - Select Boolean.
       
    • Value - Enter true.
  5. Click Save, and then restart the live application to apply the changes.

More resources