YouTube

Creating a YouTube Account

Because the Genvid SDK works with YouTube, you will need to create your own YouTube account if you do not have one already.

The simplest way to create a new YouTube account is to visit:

and click on their ‘Sign In’ button in the top right corner.

Follow these steps and you should have a YouTube account in no time.

Configuring Live Streaming

Do not attempt to perform these steps before your account is verified.

Once your account is created and verified, you will need to define a few parameters used for live streaming. To do so, visit the following page:

You will be asked to fill in Basic Info for your stream, such as a title and a description.

If you want other people to see your streams, make sure you set your “Privacy” selection to “Public”. If you don’t do so, only you will be able to embed and use your YouTube Live Stream with the Genvid SDK.

In the “Encoder Setup”, copy the “Server URL” value (which should be “rtmp://a.rtmp.youtube.com/live2” or something similar), as well as the revealed “Stream name/key” (which is of the form “xxxx-xxxx-xxxx-xxxx”). This last value is critical, as it gives the ability to the Genvid SDK to stream to YouTube.

Copy the value of Server URL in the settings.encode.stream.addr field of your configuration file, and the “Stream name/key” value in the settings.encode.stream.key field.

In addition to the ‘addr’ and ‘key’ fields, Genvid also requires a ‘channel’ field corresponding to your YouTube Channel ID. To retrieve it, simply visit:

and copy the “YouTube Channel ID” value (of the form XXXXXXXXXXXXXXXXXXXXXXXX) into the genvid/encode/stream/channel field of your configuration file.

Enabling Live Streams Embedding

By default, YouTube live streams cannot be embedded in other webpages (like our tutorial website). This means that, unless you are currently logged in as your YouTube user, you will not be able to see your YouTube Live Stream on a website other than YouTube’s.

Luckily, you can take steps to allow embedding your live streams in other pages.

You should start by visiting:

and follow the steps documented in the “Embed live streams”.

We will not repeat each and every step here, but it consists in linking an AdSense account to your YouTube account.

Should you have an error message stating that AdSense in not available in your country, make sure it is properly set in the following page:

Once you have created your AdSense account, you will need to wait for approval by YouTube. While they state it can take a few days, our experience has been that it takes about half-a-day for your account to be approved.

Once your AdSense account is approved, the status in “Embed live streams” should change from “Eligible” to “Enabled”.

Once live stream embedding is enabled, you will then have to change your live streaming event advanced settings to actually enable it.

This setting is a bit obscure to find, so bear with us:

  1. Visit https://www.youtube.com/live_dashboard
  2. Under “Basic Info”, select “Advanced settings” (Fig. 3).
  3. In the Events page that loaded, select “Advanced settings” again.
  4. Scroll to “Distribution options”, and check the “Allow embedding” box (Fig. 4).

Once all of these steps are completed, you will no longer be required to be logged on as your YouTube user to be allowed to see the live stream generated by the Genvid SDK.

Fig. 3 Step 2.

Fig. 4 Step 4.

Optional Low Latency Option

YouTube allows to optimize the stream for either less viewer buffering (which is the default) or for lower latencies.

Should you prefer to lower the latency (our experience shows a latency of about 10-15 seconds), head over to the same Advanced Settings page used for enabling embedding and look for it under the Stream optimizations section (you might need to scroll down to find it).

Settings

Once you have all the information above, you can edit your configuration file. The result should be set to the following:

version = "1.7.0"

settings {
  encode {
    stream {
      enable  = true
      service = "youtube"
      addr    = "a.rtmp.youtube.com/live2"
      // YOU MUST CHANGE THE CHANNEL AND KEY VALUE
      channel = ""
      key     = ""
    }
  }
}