• How to set up live stream repeater edge for Apple HTTP Live Streaming (cupertinostreaming)

    Live stream repeater is a method for delivering a single live stream across a multiple server deployment to many viewers. The setup uses an origin/edge configuration where the source stream is published to an origin server and the stream is made available for playback on multiple edge servers. This article provides instructions for setting up the live stream repeater edge to stream a live stream to Apple® iOS devices.

    Note: iOS version 3.0 or greater is required.

    Live Stream Repeater (Cupertino Streaming)

    1. Download and install Wowza Media Server 2.1.2® or greater on the origin server and all edge servers.
    2. Configure the origin server (for more information, see How to configure a live stream repeater). You should use an application with StreamType set to 'liverepeater-origin', 'live', or 'rtp-live' (or a variant).
    3. Create a new Wowza Media Server application on each of the edge servers:
      1. Create the folder [install-dir]/applications/liveedge.
      2. Create the folder [install-dir]/conf/liveedge and copy the [install-dir]/conf/Application.xml file to this new folder.
      3. Open the newly copied Application.xml file in a text editor and make the following changes:
        • Change the Streams/StreamType value to liverepeater-edge.
          Code:
          <StreamType>liverepeater-edge</StreamType>
        • Set the Streams/LiveStreamPacketizers value to cupertinostreamingrepeater.
          Code:
          <LiveStreamPacketizers>cupertinostreamingrepeater</LiveStreamPacketizers>
        • Set the Repeater/OriginURL value as follows:
          Code:
          <Repeater>
          	<OriginURL>wowz://[origin-ip-address]/live</OriginURL>
          </Repeater>
          Where [origin-ip-address] is the ip address of the origin server.
    4. Start Wowza Media Server.
    5. Send the stream to the origin server or use Stream Manager to start the stream on the origin server.
    6. To play the stream on an iOS device, open the Safari® web browser and create a new bookmark with the following url:
      Code:
      http://[edge-ip-address]:1935/liveedge/[stream-name]/playlist.m3u8
      Where [edge-ip-address] is the IP address of one of the edge servers running Wowza Media Server and [stream-name] is the name of the live stream being sent to the origin server.


    Note: For redundancy, you can define multiple origin servers for a single stream by specifying two origin URLs separated by the pipe character (|) character. For example:
    Code:
    <Repeater>
    	<OriginURL>wowz://[origin1-ip-address]/live|wowz://[origin2-ip-address]/live</OriginURL>
    </Repeater>

    Note: The above setup defines a single origin server per-application. Each stream that is played through that application will use the Repeater/OriginURL value to locate the origin server for that stream. You can also configure per-stream routing by using stream names that include the full path to the source stream. This must be done using either the StreamNameAlias package or .stream files. For example, to use this method to repeat the stream wowz://[origin-ip-address]/live/_defininst_/myStream using the .stream file method, you would create the file [install-dir]/content/myStream.stream on each of the edge servers with the content:
    Code:
    wowz://[origin-ip-address]/live/_definst_/myStream
    Where [origin-ip-address] is the ip address of the origin server.

    On the iOS device, you would then use the following URL to play the stream:
    Code:
    http://[edge-ip-address]:1935/liveedge/myStream.stream/playlist.m3u8

    Note: If you have configured the stream for secure delivery on the origin by following the instructions in How to secure Apple HTTP Live Streaming (AES-128, external method), then the streams sent between the origin and edge servers will be encrypted and the streams delivered from the edge to the iOS devices will be encrypted. The key URL defined for the stream at the origin will be used on all edges.

    Note: The WOWZ™ protocol is a new TCP-based messaging protocol in Wowza Media Server 3.5 and is used for server-to-server communication. It's enabled by default. If one of the Wowza Media Servers in the origin/edge configuration isn't running Wowza Media Server 3.5, an RTMP connection will be established between the servers instead.


    Updated: For Wowza Media Server 3.5 on 11-14-2012

    Comments 7 Comments
    1. derrick217 -
      For implementing Live Stream Repeater (with orgin/edge) set-up for live streaming using 3 edge servers, do I also need implement the Load Balancer set-up with Redirect application for determining which edge server will be used for the viewing the live stream.

      Thanks,

      Derrick
    1. notreg -
      Can the repeater works for smil? And how it could be done?
    1. rrlanham -
      You put a smil file in the content folder of each edge with items pointing to origin streams. The items can be simple stream names if you have the originURL set, or .stream names where the .stream files contain full rtmp url to origin streams. Something like /content/stream400.stream containing

      Code:
      rtmp://[wowza-address]:1935/origin/stream_400
      Another approach, I think you can use a smil on the origin as a source for this method:
      http://www.wowza.com/forums/content....wza-Transcoder

      It's not covered in that tutorial, but replace the ngrp: reference with smil: that exists on the origin. I'm going to test that tho...

      Richard
    1. rrlanham -
      I'm not sure about that 2nd approach right now.

      Richard
    1. sergei19 -
      Is it possible to repeat HTTP Live Stream (cupertino stream)?
      I tried repeating RTMP streams and it worked fine. In one scenario I only have HTTP Live stream as a input. The stream is generated by not-wowza-server.I want to re-stream it using Wowza for the purpose of scalability. Is it possible?

      The quote from documentation "The MediaCaster system is used for re-streaming IP Camera streams (RTSP/RTP streams), SHOUTcast/Icecast streams and native RTP encoders."
      Does it mean that Wowza cannot repeat HTTP Live streams?
    1. rrlanham -
      This guide will show you how to do Cupertino streaming from an edge in a Liverepeater system

      http://www.wowza.com/forums/content....er-Quick-Start

      Wowza as an origin for http (Cupertino, sanjose, smooth) streams is an upcoming feature, but I don't have an exact time frame for release

      Richard