• How to stream to Mirror Image

    The Stream Targets feature in Wowza Streaming Engine™ live streaming software allows you to send live streams to widely distributed destinations. For example, you can send a live stream to a CDN such as Mirror Image Internet. This allows you to use the CDN's edge network to deliver the stream to viewers.

    This article explains how to set up Wowza Streaming Engine and Mirror Image so that you can send a single live stream to Mirror Image for distributed delivery. If you're ingesting a source stream that has multiple bitrates or transcoding a live stream to multiple bitrates in Wowza Streaming Engine and want to send the adaptive bitrate set of streams to Mirror Image, you must create a Stream Target for each rendition and configure a corresponding stream in Mirror Image. The process will be similar to what's documented here, but see Mirror Image's documentation if you need help with configuring its service to ingest multiple bitrate streams.

    Note: Wowza Streaming Engine 4.2 or later is required. In earlier versions of Wowza media server software, you must use the Push Publishing module to send live streams to CDNs for distributed delivery.

    Contents


    Configure Mirror Image to receive and distribute the stream
    Create an application in Wowza Streaming Engine to ingest the live source video
    Create a stream target to send the stream to Mirror Image
    Enable Stream Targets
    Test the connection
    More resources

    Configure Mirror Image to receive and distribute the stream


    Make sure you have a Mirror Image account that's provisioned for the multi-protocol streaming service. Then, create an application that will receive the live stream from Wowza Streaming Engine and deliver it for final viewing over Mirror Image CDN servers.

    1. Sign in to the Mirror Image ClearVue Control Center, click the Multi-Protocol Streaming tab, and then click Create Application.

    2. In the Pick a Plan dialog box, click RTMP Live Push.



    3. On the RTMP Live Push page, enter the details of your stream and then click Add Application and Provision.



    4. With the stream selected on the Multi-Protocol Streaming tab in the Mirror Image ClearVue Control Center, click See Connection Details.

      Note: You should allow five minutes for your application to be distributed to all Mirror Image servers before accessing.
    5. On the Connection Details tab, make note of the Application Name ID and Publishing Point Primary (ingress) values. You'll need this information when you create the live application in Wowza Streaming Engine that sends the stream to Mirror Image.

      Also note the Ingress Connection URLs for live media encoders that don't allow query parameters, which have the following format:

      rtmp://[ingress]/[appname]/_definst_?doPublish=[encoder-password]

      The _definst_?doPublish=[encoder-password] value is what you'll use as the Destination Application Instance when you create the live application in Wowza Streaming Engine that sends the stream to Mirror Image.

    Create an application in Wowza Streaming Engine to ingest the live source video


    Next, create a live application in Wowza Streaming Engine Manager that will receive the live stream from an H.264 encoder or camera and send it to Mirror Image for distributed delivery.

    1. Sign in to the manager, click the Applications tab at the top of the page, and then click live in the contents panel.

      Note: This article uses the live application that installs with Wowza Streaming Engine. If you want to use a different live application, select it instead from the contents panel.
    2. In the contents panel, click Sources (Live).

    3. Select the camera or encoder that you want to use as your video source, and complete the process of connecting the source to Wowza Streaming Engine. For more information, see How to connect a live source to Wowza Streaming Engine.

      Notes:
      • By default, Wowza Streaming Engine requires RTMP and RTSP sources to provide a user name and password to connect to a live application. For information on how to turn off authentication, see Managing live source authentication settings.

      • Mirror Image has the following encoding recommendations:

        Video


        • H.264 Baseline profile
        • Keyframes every 2-3 seconds
        • Frame rate of 24 frames per second (fps)
        • Screen size of 640x480 or 720x480 LB
        • Bitrate of 800 Kbps @ 640x360 or 854x480

        Audio


        • AAC, AAC-HE, AAC Plus v1, or AAC Plus v2
        • Two-channel stereo
        • Sampling rate of 44100 Hz
        • Bit rate of 64 Kbps

    Create a stream target to send the stream to Mirror Image


    After the live application is created in Wowza Streaming Engine, it must be configured to send the stream to Mirror Image.

    1. In the contents panel, click Stream Targets and then click Add Stream Target.

    2. On the Select Destination page, select Mirror Image Internet and then click Next.

    3. On the Destination Options page, click Next. Mirror Image receives the stream over RTMP.

    4. On the Configure Target page, provide the following information:

      • Stream Target Name - A descriptive name for this target setup in Wowza Streaming Engine. The name must be unique and can't contain less-than (<), greater-than (>), colon ( : ), quotation (' and "), forward slash (/), backslash (), pipe (|), question mark (?), asterisk (*), double-dot (..), or tilde (~) characters.

      • Source Stream Name - The name of the incoming stream that you specified in Wowza Streaming Engine when you set up the video source.

      • Destination Application Name - The name of the application in Mirror Image, which is the Application Name ID value in the Connection Details tab in ClearVue Control Center.

      • Destination Application Instance - Enter _definst_/doPublish=[encoder-password]. Replace [encoder-password] with the Encoder Password value in the Connection Details tab in ClearVue Control Center.

      • Destination Host - The hostname or IP address of the Mirror Image server, which is the Publishing Point Primary (ingress) value in the Connection Details tab in ClearVue Control Center.

      • Destination Port - The port number for your connection. RTMP connections use port 1935 by default.

      • Destination Stream Name - Enter any descriptive name for the destination stream.

      • User Name and Password - Leave these blank. These values aren't required.

    5. Click Finish.

      Notes:
      • If you're sending a stream that has multiple bitrates to Mirror Image, you must create a stream target for each rendition. Repeat the steps above in Create a stream target to send the stream to Mirror Image for each rendition that you want to send to Mirror Image for adaptive bitrate playback. The easiest way to do this is to create the first stream target, and then click the Copy icon for the target and change the Stream Target Name, Source Stream Name, and Destination Stream Name in the new target. For clarity, we recommend including the bitrate in the Stream Target Name. Use the information in the Connection Details page of the Mirror Image ClearVue Control Center as needed for your additional stream targets.

        Then, for each stream target that you create, set the stream target's Adaptive Streaming property to true. To do this:

        1. On the Stream Targets page, click the Edit icon for the stream target.

        2. On the Advanced tab, click Edit. Access to the Advanced tab is limited to administrators with advanced permissions. For more information, see Manage credentials.

        3. Set Adaptive Streaming to true, and then click Save.

      • In ClearVue Control Center, you must create a Synchronized Markup Integration Language (SMIL) file that describes the bitrates in your multi-bitrate stream to players. Click the SMIL Files tab for your application in ClearVue Control Center to do this.

    Enable Stream Targets


    Before you stream, make sure to enable the Stream Targets feature for the Wowza Streaming Engine application and for the Mirror Image stream target you created.

    If you don't see a checkmark next to Stream Targets in the contents panel of the application, click Stream Targets in the contents panel and then click Enable Stream Targets. When prompted, click Restart Now so your change takes effect. When Stream Targets is enabled, a checkmark appears next to Stream Targets in the contents panel and the Stream Targets page shows Status is Enabled.



    If the Status of an individual stream target is Disabled, click the Enable icon for the stream in the Actions column.



    When a stream target is enabled, its status on the Stream Targets page is one of the following:

    • Waiting. The target is enabled but is not yet pushing the stream to the Mirror Image destination because either the target's configured source stream is not connected to the Wowza Streaming Engine input or Wowza Streaming Engine has not completed initializing the connection to the Mirror Image destination.

    • Active. The Wowza Streaming Engine instance successfully connected to the Mirror Image destination and is actively pushing the stream.

    • Error. The Wowza Streaming Engine instance unsuccessfully tried to connect to the Mirror Image destination. Make sure the target's configured source stream is connected to the Wowza Streaming Engine input. Errors might be due to an invalid target configuration or issue with the destination server.

    The status of each stream target updates automatically if your Wowza Streaming Engine application has fewer than 100 stream targets. If your application has more than 100 stream targets, you can click Refresh to update the status.

    Test the connection


    Configure your encoder and then test the live stream.

    1. Start the stream in the H.264 camera or encoder that's sending the stream to the live application in Wowza Streaming Engine.

      The live application ingests the live stream and forwards it to the Mirror Image target.

    2. In Wowza Streaming Engine, verify that the stream is working by clicking Incoming Streams, and then clicking the stream name.

      The stream detail page displays the Status of the stream (Active) as well as details about connections, uptime, and throughput for the live stream.

    3. Verify that Mirror Image is receiving the stream and distributing it to endpoints across its network: Use any of the Egress/Delivery URLs (Playback) on the Connection Details tab to test the stream.

    4. Stop the stream in the source camera or encoder to end your test connection.

    More resources




    Originally Published: 06-16-2015.
    Updated: For Wowza Streaming Engine 4.4 on 02-02-2016.

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