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:
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.
- Login to your LVP account and select 'Add Live Stream' by selecting the dropdown next to the 'Upload Media' button.
- 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.
|
- (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.
- Publish your live stream by dragging and dropping into a published channel.
- Get an embed code for your channel and paste it on a site.
- 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 |
- Start streaming from your encoder. Your embedded player will begin to show your live stream.
3.0 Using Adobe Flash Media Live Encoder
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 :
- Obtain your Google Analytics account ID (e.g. UA-12345678-1)
- Log into your LVP account and access the Player Builder
-
Select the desired player and click to 'Edit'
- Toggle to 'Expert Mode' then click the 'XML' tab
- 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):
-
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:
-
Login to your Google Analytics account
-
Click on your desired report
-
Click on 'Content' then 'Event Tracking'
-
Click on 'Categories' and 'livestream'
-
The useful values for live stream metrics can be found in the 'Event Value' column.
-
To drill down to a specific live stream event, click on a metric (e.g. load, play, totalPlayTimeinSeconds) and filter on the title.