• How to stream to YouTube

    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 from a server running Wowza Streaming Engine software to YouTube Live. This allows you to engage the YouTube community and retain media for video-on-demand delivery when the broadcast concludes.

    This article explains how to set up Wowza Streaming Engine and YouTube Live so that you can send a single live stream to YouTube for distributed delivery and adaptive bitrate playback. The process will be similar to what's documented here, but see YouTube's documentation if you need help with configuring its service to ingest the stream.

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

    Contents


    Set up the YouTube live event
    Create an application in Wowza Streaming Engine to ingest the live source video
    Create a stream target to send the stream to YouTube
    Enable Stream Targets
    Test the connection
    More resources

    Set up the YouTube live event


    Make sure you have a YouTube account with Live Events capability. If you don't have a Live Events option in your YouTube Video Manager page, you can't send a live stream to YouTube. Then, sign in to the YouTube Video Manager Live Events page and create a event to receive the live stream from Wowza Streaming Engine and deliver it for viewing over YouTube.

    1. Sign in to the YouTube Video Manager Live Events page and click New live event.

    2. On the Basic info tab of the Info and Settings page, enter the relevant information about the stream (title, description, date/time, location, and so on) into the fields.

    3. For Type, select Custom (more encoding options).


      Note: For help configuring live event settings, see the YouTube Live Streaming Guide.
    4. Click Create event.

    5. On the Main Camera tab of the event's Ingestion Settings page, under Choose maximum sustained bitrate of your encoder, select the ingestion option that best represents your network and encoding capabilities.

    6. Under Select your encoder, select Other encoders. Then, make note of the Stream Name and Primary Server URL information to a text document. You'll need this information when you create the live application in Wowza Streaming Engine that sends the stream to YouTube.


      Note: The Stream Name is a 16-digit alpha-numeric code, not the Title you gave the stream when configuring it.
    7. Click Save changes.

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


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

    1. Sign in to the 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 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:

    Create a stream target to send the stream to YouTube


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

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

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

    3. On the Destination Options page, click Next. YouTube 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 YouTube Primary Server URL. The application name follows the host name in the Primary Server URL, which is on the YouTube Ingestion Settings page. For example, if the Primary Server URL is

        rtmp://abc.rtmp.youtube.com/live2

        the application name is live2.

      • Destination Application Instance - Leave blank. A Destination Application Instance isn't required for YouTube stream targets.

      • Destination Host - The address of the YouTube server in the YouTube Primary Server URL. For example, if the Primary Server URL is

        rtmp://abc.rtmp.youtube.com/live2

        the host is abc.rtmp.youtube.com.

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

      • Destination Stream Name - The name of your stream at YouTube, which is the Stream Name value from the Ingestion Settings page of the YouTube live events video manager.

        Note: The Stream Name is a 16-digit alpha-numeric code, not the Title you gave the stream when configuring it. See Set up the YouTube live event.
      • User Name and Password - Your YouTube username 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.

    Note: YouTube automatically creates lower-bitrate renditions of the stream for adaptive bitrate playback. No additional configuration is necessary.

    Enable Stream Targets


    Before you stream, make sure to enable the Stream Targets feature for the Wowza Streaming Engine application and YouTube 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 YouTube 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 YouTube destination.

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

    • Error. The Wowza Streaming Engine instance unsuccessfully tried to connect to the YouTube 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 YouTube.

    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 YouTube is receiving and playing the stream: Go to the YouTube Live Control Room page for your event and click the Preview button to enable the YouTube to process the incoming stream. When the Stream Status is GOOD, scroll down the page to find the Preview test video player and click Play. You should see your live stream start to play, which means your stream target is working and you're ready to stream live.

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

    More resources




    Originally Published: 09-26-2013.
    Updated: For Wowza Streaming Engine 4.4.0 on 02-02-2016.

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