Loading Search...
Live Streaming Guide

Audience and Overview

This guide is intended for all publishers that wish to manage and deliver live video using the Limelight Video Platform (LVP). For convenience, Limelight has built live video management using the same easy workflow that exists for on-demand video. Publishers can conveniently manage both their live and on-demand assets in a single console account. The same powerful tools that are available for on-demand are also available for live, including geo/domain restrictions, scheduling, metadata management, custom metadata management, player customization and channels. In addition, all LVP players are enabled for live delivery, permitting publishers to mix both live and on-demand in the same channel and deliver using adaptive bit rate streaming.

NOTE: Live video streaming is not enabled on all accounts. If you have further questions or would like to enable this on your account, click here to contact us.

Table of Contents


1.0 Delivering Live Video Overview

The following diagram provides a general overview of the process of delivering live video.


Raw video and/or sound is captured using anything from a single digital camcorder to multiple cameras and mixing equipment. The output from this equipment is then fed into a laptop or PC using appropriate interface hardware. Encoding software on the PC turns the input into a format suitable for live streaming. The encoded format is then transmitted via an internet connection to an entry point on the CDN. The format is then received by the streaming servers and broadcast, in real time, to multiple viewers via a Limelight LVP player.

1.1 Live Stream Encoders

A client based live stream encoder is required in order to capture live footage and stream to the entry servers on the CDN. All encoders must be able to support the H.264 codec. Here is a list of suggested encoders:
  • Adobe Flash Media Live Encoder 3.x (Website)
NOTE: After installing Adobe Flash Media Live Encoder (FMLE) you will need to download and install the Limelight Access Adaptor.

2.0 Live Streaming - The Basic Steps

The workflow to add a live stream to your account is very similar to uploading a video on-demand. Simply opt to create a live stream, manage the metadata and publish. The steps below walk you through this process.

See here for a video tutorial that visually walks you through the steps:

Video Tutorial: How to Produce a Live Stream


Prerequisite: Setup your live stream encoder and declare the desired bit rates. For an example using Adobe Flash Media Live Encoder (FMLE) see steps 1-4 in Section 3.0 below.
  1. Login to your LVP account and select 'Add Live Stream' by selecting the dropdown next to the 'Upload Media' button.


  2. Enter required metadata for your stream and click 'Create'.
    NOTE: All values entered for streams should match the values entered in your encoder. Any discrepancies may prevent your live event from working. The bit rate for your stream should be the total bit rate (audio + video).



    The following table defines the metadata that is specific to a live stream:

    Element Required Description and Use
    Live Stream Title YES The value entered here will be used to represent the live stream in your LVP console. It will also be used to identify the live stream in a channel.
    Streams YES Each stream is represented by a total bit rate (audio + video) and a size (width & height). You may declare one or more streams. If multiple streams are declared, the LVP player will automatically faciliate adaptive bit rate streaming.
    Rules of Thumb:
    • To ensure quality, declare a bit rate that is equal to or greater than the value of the width (e.g. if your width is 480 make sure the bit rate is 480 or larger)
    • Make sure you have enough upload bandwidth at your encoder to support your bit rates. Bit rates that are too high may cause buffering. Therefore, you should avoid declaring bit rates that cannot be supported by your bandwidth. To figure out how much upload bandwidth you need, add up your desired bit rates and multiply by 2 (e.g. if you want a 500 stream and a 900 stream your total minimum upload bandwidth should be 2800). A good place to test your upload bandwidth is here: https://www.speakeasy.net/speedtest/
    NOTE: All values entered for streams should match the values entered in your encoder. Any discrepancies may prevent your live event from working. Reminder: the bit rate for your stream should be the total bit rate (audio + video).
    Encoder Location YES To minimize buffering and latency, Limelight offers several entry points around the world. From the drop-down, select the city that is closest to the intended location of your encoder. For example, if you are encoding from Seattle than select San Jose.
    Backup Encoder Location NO A backup encoder can be used to ensure that a live stream continues should the primary encoder fail. If you are using a backup encoder, select the city that is closest to the intended location of the backup.

  3. (Optional) Upload a preview image by selecting the 'camera' button in the 'Media Properties'. This image will be used to represent the live stream in the player before the event begins.


  4. Publish your live stream by dragging and dropping into a published channel.
  5. Get an embed code for your channel and paste it on a site.


  6. Scroll down in the 'Media Properties' of your live stream and click on the 'Get Encoder Info' button. Copy and paste each required field to your live stream encoder. (For an example using Adobe Flash Media Live Encoder (FMLE), see step 5 in Section 3.0 below).


    The following table defines the fields that are required for encoding:

    Element Description and Use
    Stream Name Each stream will have a unique name. If you have declared multiple streams, you will have multiple stream names. For convenience, the size and bit rate of each stream is appended to the end of each name.

    Example:
    r4_Z4HkzTyIjuplm6ixtzY_5MJI-y2zS4AgwZi0EvNls8_640_480_128_1
    Username A username is required to connect to the Limelight entry servers. When prompted by your encoder, use this username in conjunction with the password.
    Password A password is required to connect to the Limelight entry servers. When prompted by your encoder, use this password in conjunction with the username.
    Entry Point This is the location of the entry point server on the Limelight network. Your encoder will send the stream to this entry point.

    Example:
    rtmp://fmspush.sjc.llnw.net/myLVP

  7. Start streaming from your encoder. Your embedded player will begin to show your live stream.

3.0 Using Adobe Flash Media Live Encoder

Adobe Flash Media Live Encoder (FMLE) is a free encoding solution that can be downloaded from Adobe. In this section we use FMLE as an example to show you how to facilitate a live stream. Although we reference this encoder specifically, a similar workflow will be used for other encoders.
  1. Connect your video and audio inputs to your computer.
  2. Declare your video settings by setting the format to H.264 and the frame rate to the same rate as your camera. Add streams by inputting a bit rate and a size. Keep in mind the following rules of thumb when declaring streams:
    • To ensure quality, declare a bit rate that is equal to or greater than the value of the width (e.g. if your width is 480 make sure the bit rate is approximately 480 or larger)
    • Make sure you have enough upload bandwidth at your encoder to support your bit rates. Bit rates that are too high may cause buffering. Therefore, you should avoid declaring bit rates that cannot be supported by your bandwidth. To figure out how much upload bandwidth you need, add up your desired bit rates and multiply by 2 (e.g. if you want a 500 stream and a 900 stream your total minimum upload bandwidth should be 2800). A good place to test your upload bandwidth is here: https://www.speakeasy.net/speedtest/



  3. Declare your audio settings. In general, eiher MP3 or ACC is acceptable.


  4. Verify that the encoder bit rates (audio + video) and sizes (height & width) match the values entered in your LVP account. Adobe sums the bit rates for you and displays them right below the audio settings.


  5. Connect to the entry point server by pasting the 'Entry Point' and 'Stream Name' from your LVP account. If you have multiple stream names, you will need to paste each one and separate by a semicolon. (see the example below). Hit 'Connect' and use the 'Username' and 'Password' from the encoding info in your LVP account to complete the connection.


    Example:
    Lets say you have three streams that correspond to the following stream names:

    Stream 1: r4_Z4HkzTyIjuplm6ixtzY_bmx3VB3dSc4mnSfWlz9MRY_640_480_600_1
    Stream 2: r4_Z4HkzTyIjuplm6ixtzY_bmx3VB3dSc4mnSfWlz9MRY_640_480_900_1
    Stream 3: r4_Z4HkzTyIjuplm6ixtzY_bmx3VB3dSc4mnSfWlz9MRY_640_480_1200_1

    Add a semicolon between each stream and paste the result into the 'Stream' encoder field. Make sure there are no spaces after a semi-colon. The result would look something like this:

    r4_Z4HkzTyIjuplm6ixtzY_bmx3VB3dSc4mnSfWlz9MRY_640_480_600_1;
    r4_Z4HkzTyIjuplm6ixtzY_bmx3VB3dSc4mnSfWlz9MRY_640_480_900_1;
    r4_Z4HkzTyIjuplm6ixtzY_bmx3VB3dSc4mnSfWlz9MRY_640_480_1200_1

  6. Hit 'Start' to begin sending your stream to the entry point. Embedded players on your site will then begin to show the live stream.

4.0 Redundancy - Backup Encoder

An optional step when producing a live event is to account for redundancy using a backup encoder. By having two encoders, both recording and streaming the same material, you can ensure the continuity of the event. If a backup encoder is available, the Limelight LVP player will automatically failover to the backup stream should the primary encoder go offline. The following diagram provides an overview of delivering live video using two encoders:

4.1 Setting Up a Backup Encoder

When you create a live stream in your LVP account, choose a value for the 'Backup Encoder Location'. You will want to select a city that is closest to the intended location of the backup. This value can be the same as your primary 'Encoder Location' however chosing a different value ensures entry point redundancy. Now, when you click on 'Get Encoding Info', you can toggle between the encoding information for your primary encoder and the encoding information for your backup. Simply cut and paste the appropriate information into the appropriate encoder. NOTE: The stream names for the primary and backup are not the same. Make sure you paste the right information into the right encoder.

5.0 Tracking Live Stream Analytics

Analytics reporting for live events is currently an active project for the development team here at Limelight LVP. The reports in your LVP console do not currently reflect metrics for live events. However, the console will soon be updated to include live specific metrics, allowing you to monitor real-time viewership as the event occurs. Prior to this release, we offer a Google Analytics plug-in to track the following live stream metrics:

Metric Definition
Loads Recorded when the live steam is made the focus of the player
Plays (Views) Recorded when the live stream is viewed for at least one second
totalPlayTimeInSeconds The total playtime in seconds for all viewers

5.1 Enabling the Google Analytics Plug-in

You can enable Google Analytics tracking on any of your Limelight LVP players by following the steps outlined below :
  1. Obtain your Google Analytics account ID (e.g. UA-12345678-1)
  2. Log into your LVP account and access the Player Builder
  3. Select the desired player and click to 'Edit'
  4. Toggle to 'Expert Mode' then click the 'XML' tab
  5. Add the following code (substituting your own Google Analytics ID) right below the player declaration at the top of the XML:

    <plugins>
    <plugin type="analytics" url="http://static.delvenetworks.com/deployments/google-analytics-plugin/google-analytics-plugin-1.4.swf?account=UA-12345678-1&trackPageView=false"/>
    </plugins>
    

    This screenshot shows the location of the code:
    (The plugin version shown in this image may not be current. Use the code above):

  6. Save your player. The player will now send metrics to Google Analytics

5.2 Viewing Metrics in Google Analytics

Live stream event metrics can be found by doing the following:
  1. Login to your Google Analytics account
  2. Click on your desired report
  3. Click on 'Content' then 'Event Tracking'
  4. Click on 'Categories' and 'livestream'
  5. The useful values for live stream metrics can be found in the 'Event Value' column.
  6. To drill down to a specific live stream event, click on a metric (e.g. load, play, totalPlayTimeinSeconds) and filter on the title.