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.
  2. On the Setup tab of the live application page, make sure all Playback Types are selected.

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.

Notes:
  • Consult your HLS encoder documentation for information about how to configure an outgoing live stream.
  • Wowza Streaming Engine doesn't support query parameters, such as CDN authentication information, in stream URLs.
  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


Playback URLs

To test playback, you need the playback URLs for your stream and the playback types, or streaming protocols, you want to test. You can get playback URLs from the Test Playback window in Wowza Streaming Engine Manager or by entering information about the stream on the Video Test Players webpage. For more information about playback URLs, see About playing Wowza Streaming Engine streams.

The Test Playback window generates playback URLs for each protocol based on the page you're on when you click Test Playback. You can also edit the Server (IP address or domain name), Stream or Media File Name, and Application fields to update the playback URLs for all protocols as needed.

Test players

To play your stream, enter the playback URL into your player or a mobile browser, depending on the playback type. To learn more about stream playback, see the Players and Playback articles.

You can also test playback using the Video Test Players webpage. Select the tab for the protocol you want to test and enter the playback URL above the player. Entering the server (IP address or domain name), stream name, application name, and application type (VOD or live) will also generate the playback URLs for each protocol. Click Start to play your stream, and then click Stop when you're ready to end your test.

To test playback of the HLS stream applehls.stream make sure the encoder is sending a stream to the live application in Wowza Streaming Engine. In playback URLs for stream files, the stream name includes the .stream file extension. For example, to use the HLS protocol to play a stream file named applehls.stream, use the following playback URL:

http://[address]:1935/live/applehls.stream/playlist.m3u8

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