• How to stream to BitGravity

    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 BitGravity from Tata Communications. 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 BitGravity so that you can send a single live stream to BitGravity 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 BitGravity, you must create a SMIL file. This can be done using BitGravity's SMIL Generator. The process will be similar to what's documented here, but see BitGravity'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 BitGravity 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 BitGravity
    Enable Stream Targets
    Test the connection
    More resources

    Configure BitGravity to receive and distribute the stream


    Make sure your BitGravity account has a live feed (or publishing point) set up to receive the stream from Wowza Streaming Engine. You must contact your BitGravity account manager to set up the live feed. After the live feed is set up, you can update its settings.

    Note: For BitGravity help beyond the steps provided here, see the documentation available on the Products & Services tab in the BitGravity Dashboard.
    1. Sign in to the BitGravity Dashboard, click Admin in the upper-right corner of the page, and then click Manage Live Feeds.

    2. Locate the Display Name of your live feed and click the Feed Ingest (magnifying glass) icon in the Action column of the table.

    3. Under RTMP Push Configuration, make note of the URL and Stream Name.

    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 BitGravity for distributed delivery.

    1. Sign in to Wowza Streaming Engine 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 then complete the steps to connect it 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.

      • Streams sent to BitGravity must be encoded with the following: Video Codec > H.264, Audio Codec > AAC or MP3, Keyframe interval > Set to every 1 second

    Create a stream target to send the stream to BitGravity


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

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

    2. On the Select Destination page, select Tata Communications and then click Next.

    3. On the Destination Options page, click Next. Tata Communications 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 the BitGravity URL in the RTMP Push Configuration. The application name follows the host name and port in the URL. So, for example, if the URL is:

        rtmp://rtppreview1.xyz123.bitgravity.com:1935/rtmp/push

        the application name is rtmp.

      • Destination Application Instance - The name of the application instance in the BitGravity URL in the RTMP Push Configuration. The application instance follows the application name in the URL. So, for example, if the URL is:

        rtmp://rtppreview1.xyz123.bitgravity.com:1935/rtmp/push

        the application instance is push.

      • Destination Host - The hostname or IP address of the BitGravity server, which is the main part of the RTMP Push Configuration URL on the Feed Ingest page of the BitGravity Dashboard. For example, if the URL is:

        rtmp://rtppreview1.xyz123.bitgravity.com:1935/rtmp/push

        the host is rtppreview1.xyz123.bitgravity.com.

      • Destination Port - The port number for your connection. RTMP connections use port 1935 by default. You can confirm by looking at the port number in the RTMP Push Configuration URL on the Feed Ingest page of the BitGravity Dashboard.

      • Destination Stream Name - The name of your stream in BitGravity, which is the Stream Name value on the Feed Ingest page of the BitGravity Dashboard. For example, test@mycompany.com/a6026400f15207d2a5275ec0b641db13/wowza/live/test01

      • User Name and Password - Your BitGravity user name and password for authentication.

        Note: 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.
    5. Click Finish.

    Notes:
    • If you're sending a stream that has multiple bitrates to BitGravity, you must create a stream target for each rendition. Repeat the steps above in Create a stream target to send the stream to BitGravity for each rendition that you want to send to BitGravity. 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, it helps to include the bitrate in the Stream Target Name. Use the information in the Manage Live Feeds page of the BitGravity Dashboard as needed for your additional stream targets.

      Then, for each stream target that you create, you must also 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 the BitGravity Dashboard, you must create a Synchronized Markup Integration Language (SMIL) file that describes the bitrates in your multi-bitrate stream to players. Click BG Live SMIL Generator, accessible from the Product & Services tab in the BitGravity Dashboard 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 BitGravity 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 BitGravity 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 BitGravity destination.

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

    • Error. The Wowza Streaming Engine instance unsuccessfully tried to connect to the BitGravity 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 sends it to the Tata Communications 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 BitGravity is receiving the stream and distributing it to endpoints across its network: In the BitGravity Dashboard, click the Network Settings tab and then click Live Feeds. Then click the Video URL to open a test player for your feed.

    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.