Loading Search...
Player Builder Guide

Audience and Overview

This guide is intended for both programmers and non-technical designers who wish to customize various aspects of the Limelight Video Platform player using the built-in Player Builder tool.

Table of Contents


1.0 Player Customization Overview

The Limelight Video Platform provides a suite of APIs and tools that allow you to control and customize the player, allowing for the creation of your own unique viewing experiences. Player customization is designed for users of varying technical ability. An easy-to-use player designer allows non-tech users to intuitively customize the player while access to player CSS, XML, and APIs give web professionals a limitless ability to programmatically customize. However, the full extent of player customization is limited by your technical expertise. Therefore, before deciding on which customization tools best suit your needs, you should assess the experience of your technical resources. The following diagram outlines the experience necessary for each customization option:

1.1 Basic - Player Builder

The Player Builder is an easy-to-use player designer that is built into your Limelight Video Platform account. The Player Builder is designed for all users, tech and non-tech alike. A GUI editor allows non-tech users to intuitively and visually customize the player while access to player CSS and XML give web professionals a limitless ability to fine-tune the customization. In general, the Player Builder allows you to match the look, feel and overall branding of your site without having to write custom code. The rest of this documentation outlines how to use the Player Builder to create a player.

1.2 Medium - Player Builder and Javascript APIs

Combining an embedded Limelight Video Platform player with our suite of APIs is the easiest way to create a customized viewing experience. Once an embedded player has been added to a webpage, it can be easily controlled using JavaScript APIs. These player APIs give you full control over the player, allowing you to perform actions similar to what the user can do by clicking on the controls. For example, you can pause the video, seek ahead, load a particular video or channel, etc. You can also monitor the status of the player and react to events, such as alerting the user when a video finishes playback. For more information on the Javascript APIs, access the Player API documentation from 'Settings' in your account.

1.3 Advanced - Chromeless Player and APIs

Note: The 'Advanced' Chromeless Player is only available to Premier and Enterprise customers.

The chromeless player is a Limelight Video Platform player with no user-exposed controls. This allows developers to customize the aesthetics through Flash integration and define the way the user interacts with the video. The chromeless player is intended for experienced web programmers that want to design their own video player on top of the Limelight Video Platform backend. The same Player APIs that are available for players built using the 'Player Builder' are also available for use with the chromeless player. Before deciding to pursue a chromeless implementation, consider the following limitations:
  • Coding Required - All user exposed controls must be coded. The default controls provided by a 'Player Builder' player (e.g. play/pause, volume, bit rate selection, info, sharing, fullscreen) must be manually coded in a chromeless implementation.
  • Manual Embed Codes - Unlike embed codes for 'Player Builder' players, embed codes for chromeless players must be manually created and placed on a site. A chromeless player will not be available in the drop-down when selecting to generate an embed code in an LVP account.
  • No Smart Embed Code - The 'smart embed' functionality, afforded to embed codes generated from an LVP account, is not available for the chromeless player. All mobile detection and delivery must be implemented as part of your chromeless development project.
For more information on the chromeless player please contact us here: Contact Support

2.0 Auto-Detection: Flash and HTML5

All LVP players are capable of delivering Flash and HTML5. When a player is loaded a javascript based embed code will automatically detect the viewing device and adjust the player to accommodate. We deliver Flash for normal desk-top viewers and HTML5 for mobile viewers (e.g. iPhone, iPad). Customizations made in the Player Builder will be reflected in both the Flash and HTML5 versions of the player with the exception of the following (these are not yet supported in the HTML5 player):
  • Player language
  • Scrubber and control bar colors and gradients
  • Custom play overlay image
  • Watermarks
  • Player and playlist headers
  • Closed Captions

3.0 The Player Builder

The Player Builder is an easy-to-use player designer that is built into your Limelight Video Platform account. The Player Builder is designed for all users, tech and non-tech alike. A GUI editor allows non-tech users to intuitively and visually customize the player while access to player CSS and XML give web professionals a limitless ability to fine-tune the customization. In general, the Player Builder allows you to match the look, feel and overall branding of your site without having to write custom code. The rest of this documentation outlines how to use the Player Builder to create a player.

3.1 Accessing the Player Builder

The Player Builder can be accessed by doing the following:
  1. Log in to your Limelight Video Platform account
  2. Navigate to the 'Channels' tab
  3. Click the 'Player Builder button at the top

3.2 Creating a New Player

To create a new player, simply select one of the seven built-in player templates and select ‘Clone’. These templates act as the building blocks for all customized players.

3.3 Editing a Player

To begin editing, select the desired player then select ‘Edit’. The player can be edited in one of two modes, ‘Basic’ and ‘Advanced’. ‘Basic’ mode is opened by default and exposes the editable components of the player as easy-to-use buttons, checkboxes, sliders, and color palettes. Alternatively, ‘Advanced’ mode directly exposes the XML and CSS used to generate the player. You can toggle between ‘Basic’ and ‘Advanced’ by selecting the button in the top right corner of the ‘Edit Properties’.

4.0 The Anatomy of a Limelight Player

The visual aspects of the Limelight Video Platform player are divided into eight components. Each component is described below. The aspect of the player to which each component corresponds is displayed visually in the graphic that follows.

Component Description
Control Bar The container that includes all the buttons and controls for the player
Scrubber The progress bar that indicates the location of video playback
Play Overlay The triangular icon at the center of the video screen that represents the 'play' button
Watermark A branding image to be displayed as an overlay
Header The top portion of the player which includes a title and playlist grouping options, such as tabs
Player Size The overall size of the player and playlist
Playlist The list of videos in a channel that can be selected by the user
Tool Tips The tool tips that appear when mouse-over a player control



5.0 Basic Mode Editing

The overall organization of editable properties in ‘Basic’ mode corresponds to the eight components described in section 3.0 above. Within each component, multiple properties of the player can be edited. The following sections outline each editable property:

5.1 Player Language

Component
Group
Editable Properties
Player Language
  • Auto Detect (if enabled the player will automatically detect the viewer's OS language and adjust the controls to accommodate)
  • Default Language (this language will be used if auto detect is disabled or fails to detect the viewer's language)
The following languages are currently supported:

Code Language
ar Arabic
de German
en English
es Spanish
fr French
it Italian
ja Japanese
ko Korean
nl Dutch
pt Portuguese
pt-br Portuguese (Brazil)
ru Russian
zh Chinese
zh-hk Chinese (Hong Kong)
zh-tw Chinese (Taiwan)

5.2 Player Size

Component
Group
Editable Properties
Player Size
  • Overall width of the player (including playlist)
  • Overall height of the player (including header)

5.3 Control Bar

Component
Group
Editable Properties
Control Bar
  • Style {none, standard, mini}
  • Hover Over (if enabled, controls only appear on mouse-over)
  • Height of the control bar
  • Color(s) and gradient(s) of the control bar
  • Transparency of the color gradient(s)
Icons
  • Spacing between player icons
  • Color(s) and gradient(s) of player icons
  • Color(s) and gradient(s) of player icon Mouse-over
  • Transparency of player icon Mouse-over color gradient(s)
Time Display
  • Add/Remove ‘Duration’ (current video duration)
  • Add/Remove ‘Time’ (current playback time)
  • Color of ‘Duration’ and ‘Time’ displays
Volume Control
  • Add/Remove ‘Volume Button’
  • Color of volume display background (seen when expanded)
  • Transparency of volume display background
  • Color(s) and gradient(s) of volume thumb selector (seen when expanded)
  • Transparency of volume thumb selector color gradient(s)
Bitrate Control
  • Add/Remove ‘Bitrate Control’
  • Color(s) and gradient(s) of bitrate control
  • Transparency of bitrate control
  • Color(s) and gradient(s) of bitrate control hover state
  • Transparency of bitrate control hover state color gradient(s)
Search Box
  • Add/Remove ‘Search Box’
  • Color of search box background
  • Color of search box text
  • Color of search box hint text
  • Corner Radius of search box (make the box round or square)
  • Color(s) and gradient(s) of magnifying glass icon
  • Transparency of magnifying glass color gradient(s)
Info Button
  • Add/Remove 'Info Button'
Sharing
  • Add/Remove 'Sharing Button'
  • Color of E-mail form text
  • Corner Radius of e-mail form fields (make fields round or square)
  • Color of get Link and Embed form input text
  • Corner Radius of Link and Embed form fields (make fields round or square)
Fullscreen Button
  • Add/Remove 'Fullscreen Button'
Advertisement Status Text
  • Show 'status text'
  • Color of 'status text'
  • Font size of 'status text'

5.4 Scrubber

Component
Group
Editable Properties
Scrubber
  • Color(s) and gradient(s) of the scrubber
  • Transparency of the scrubber color gradient(s)
  • Color of the scrubber thumb (indicates the location of video progress)

5.5 Play Overlay

Component
Group
Editable Properties
Play Overlay
  • Height of the play overlay
  • Width of the play overlay

5.6 Watermark

Component
Group
Editable Properties
Watermark
  • Add/Remove watermark
  • Upload watermark image from file
  • Click URL of watermark (the webpage that is opened when a user clicks the watermark)
  • Vertical location of the watermark
  • Horizontal location of the watermark
  • Padding away from player edge
  • Transparency of the watermark

5.7 Header

Component
Group
Editable Properties
Header
  • Color(s) and gradient(s) of header
  • Transparency of header tabs color gradient(s)
  • Add/Remove ‘Header Gap’ (gap between header and playlist tabs)
  • Add/Remove header
  • Height of header
  • Color of header text
  • Font size of header tool tip
  • Add/Remove playlist header
  • Height of playlist header
Header Tabs
  • Spacing between tabs
  • Height of tabs (top padding)
  • Number of tabs per page
  • Color(s) and gradient(s) of unselected tab(s)
  • Transparency of unselected tab(s) color gradient(s)
  • Color of unselected tab(s) text
  • Rollover color of unselected tab(s) text
  • Color of select tab
  • Color of select tab text
  • Rollover color of selected tab text
Header Tabs Arrows
  • Size of arrows
  • Corner Radius of arrows
  • Color(s) and gradient(s) of background Transparency of color gradient(s)
  • Color of arrows
  • Color of arrow borders

5.8 Playlist

Component
Group
Editable Properties
Playlist
  • Add/Remove playlist
  • Playlist type – {standard, mini, inline} (mini shows no thumbnails)
  • Playlist position – {right, left, top, bottom}
  • Video to playlist ratio
  • Distance between playlist and player
  • Color of playlist borders
  • Color of playlist text
Playlist Item
  • Color(s) and gradient(s)
  • Transparency of color gradient(s)
  • Gradient rotation
Scroll Bar
  • Color(s) and gradient(s)
  • Transparency of color gradient(s)

5.9 Tool Tips

Component
Group
Editable Properties
Tool Tips
  • Color of the tool tips background
  • Color of the tool tips font
  • Font size of the tool tips

5.10 Closed Caption Controls

Component
Group
Editable Properties
Closed Caption Controls
  • Allow/Prevent closed captions in the player
  • Position of captions {top, bottom}
  • Alpha for caption background

6.0 Advanced Mode Editing

The ‘Advanced’ mode editor gives direct access to the player CSS and XML, virtually providing a limitless way to customize the player. Changes can be made directly to the code and instantly reflected by selecting the ‘Preview’ button at the bottom of the code editor. The sections that follow provide guidance on accomplishing common customizations.

6.1 Text Size, Font and Color

Changing the size and color of the different text elements is very easy. Simply look for the fontSize and color styles inside of the appropriate class and adjust the values to your liking.

Some elements have special names in addition to or in place of fontSize and color. For example, in the BasicPlaylist class (the class that controls the look of a playlist) you’ll find headerFontSize, timeFontSize, and nowPlayingFontSize – all of which allow you to set different values for each text element.

The font used to display text in the playlist can be easily set by adding the fontFamily style to the BasicPlaylist class. In the following example we set the playlist font to 'times':

6.2 Control Bar

Changing the background color of the control bar is a great place to start customizing and can offer some dramatic results.

There are 3 styles within the ControlBar class that affect the control bar colors: backgroundGradientColors, backgroundGradientAlphas and backgroundGradientRatios. The backgroundGradientColors is a list of hex values (e.g. white is #FFFFFF) that make up the gradient colors of the control bar background. The backgroundGradientAlphas is a list of numbers that correspond to the colors in backgroundGradientColors and represent the alpha, or transparency of each of those colors. The range for each is 0 (totally transparent) to 1 (totally opaque). The backgroundGradientRatios is a list of numbers that correspond to the colors in backgroundGradientColors and represent the location of each of those colors over the spread of the gradient. The range of values begins at 0 (the start of the gradient) and ends at 255 (the end of the gradient). The background gradient for the control bar starts at the top and goes downward, so 0 represents the very top of the control bar and 255 represents the very bottom. If, for example, you wanted an evenly spread gradient of opaque Red – White – Blue with White in the dead center of the control bar, you’d enter the following values:

backgroundGradientColors: #FF0000, #FFFFFF, #0000FF;
backgroundGradientAlphas: 1, 1, 1;
backgroundGradientRatios: 0, 127, 255;

It’s important to note that although you can enter as many or few colors for your gradients as you want, you must match that same number of values for each of the three styles. For example, if there are 5 gradient color values, you need 5 alpha values and 5 ratio values. Likewise, if you wanted a single, solid color – you simply enter 1 hex value, 1 alpha and 1 ratio (0). This parity holds true for every instance of gradient colors you’ll find throughout the styles.

6.3 Player Buttons

The first step in styling your buttons is setting the global fill, hover, stroke and stroke hover colors (and of course the appropriate alphas and ratios). For example, if you wanted a slightly chrome-looking style for your buttons you could enter the following values into the ControlBarButton class:

fillColors: #FFFFFF, #ABABAB, #ABABAB, #FFFFFF;
fillAlphas: 1, 1, 1, 1;
fillRatios: 0, 75, 155, 255;
hoverFillColors: #ABABAB, #FFFFFF, #FFFFFF, #ABABAB;
iconStrokeColor: #3E3E3E;
iconStrokeHoverColor: #ABABAB;

Notice that the hover values are simply the inverse of the normal state. This is a quick and easy way to show your users the state of your buttons without having to come up with a ton of different colors and styles. There are 3 other styles should you want to customize further: iconGlowColor, iconGlowAlpha and iconGlowRadius. These styles specify a glow effect shown when the user rolls their mouse over a button.

The ControlBarButton colors take care of all of the buttons except the Play button, which is handled separately. We added a separate style for the Play button so you could make it stand out from the other buttons – drawing your users’ focus and encouraging interaction. To change the Play button’s colors you edit the playIconFillColors style inside the ControlBar class. You need to include the same number of gradient values here as you included in the fillColors for all buttons. The hover state remains as you set it in the controlBarButton class.

Lastly, when you roll over the Volume button you see the Volume Slider popup. These styles are located in the VolumeSlider class. The color and transparency of the popup background are handled by the backgroundColor and backgroundAlpha styles. The color of the slider track itself is the trackBackgroundColor. The color of the slider that shows below the thumb is the trackFillColor. You can dictate the length of the Volume Slider Track by setting the sliderWidth style in the VolumeControl class.

6.4 The Progress Bar

The progress bar is where you view the media’s progress and can jump directly to any point in the stream by clicking on the track or dragging the scrubber thumb (this process is called scrubbing). The progress bar styles are found in the Scrubber class.

The styles that dictate what the track looks like are the fill and border colors, alphas and ratios. If you set the left, top, right and bottom padding to 0, you won’t see the border at all. To change the color of the scrubber thumb itself edit the thumbColor style.

6.5 Custom Play Overlay Button

Customizing the play overlay button is a quick and easy way to make the player reflect your brand. The conventional 'triangle' can be replaced with a corporate logo or image by simply adding a few styles to the playOverlay class. For example, the following styles are used to create the overlay in the player below:

downIconImageUrl: "http://pluggd-public-read.s3.amazonaws.com/3c6fb16add8a4928b9e0fcdd876ed5cd/0";
overIconImageUrl: "http://pluggd-public-read.s3.amazonaws.com/3c6fb16add8a4928b9e0fcdd876ed5cd/0";
upIconImageUrl:"http://pluggd-public-read.s3.amazonaws.com/28f2311ad8c240cdb676276d5360f9ea/0";
disabledIconImageUrl: "http://pluggd-public-read.s3.amazonaws.com/28f2311ad8c240cdb676276d5360f9ea/0";

6.6 Setting the Player Language

By default, the player will automatically detect the viewer's OS language and adjust the controls to accommodate. For example, if a Japanese viewer loaded a player the controls would automatically display in Japanese. If you would like to override auto-detection or if you would like the player to only show a particular language, simply add (or modify, if the line already exists) the following line to the player 'XML' substituting your desired values. The line should be added at the top, right below the player declaration.

<delvePlayer version="2.0" showPlaylist="false" showTabs="false" showOverlays="true" height="321" width="480">

<localize defaultLanguage="ja" autoSelectLanguage="false"/>

The code above would result in a Japanese player with no auto-detection.


The following languages are currently supported:

Code Language
ar Arabic
de German
en English
es Spanish
fr French
it Italian
ja Japanese
ko Korean
nl Dutch
pt Portuguese
pt-br Portuguese (Brazil)
ru Russian
zh Chinese
zh-hk Chinese (Hong Kong)
zh-tw Chinese (Taiwan)

6.7 Adding Custom Header Images and Links

Additional images can be added to a player by declaring 'logo' tags in the player XML. For example, you can add linkable images that direct the user to various pages on your site. In the example below we have declared four images that each represent a specific page on the publisher's site. Images can be added to both the player and playlist by declaring a <videoHeaderLogo> tag or a <playlistHeaderLogo> tag in the player XML. The following code is used to create the links for 'Video', 'Photos', 'News' and 'Blogs' in the player below. Notice that the tag attributes are used to declare the location of the image as well as the image url and click url.

<delvePlayer version="2.0" showPlaylist="true" showTabs="false" playlistOrientation="inline" height="371" width="470">

<videoHeaderLogo verticalAlign="middle" horizontalAlign="right" source="http://pluggd-public-read.s3.amazonaws.com/536ffb15555b46e795908275cf6e3416/0" linkUrl="http://blogs.nfl.com"/>
<videoHeaderLogo verticalAlign="middle" horizontalAlign="right" source="http://pluggd-public-read.s3.amazonaws.com/718a6d6d232b48b8a720716804a8f022/0"/>
<videoHeaderLogo verticalAlign="middle" horizontalAlign="right" source="http://pluggd-public-read.s3.amazonaws.com/25610be8834a4a48af8d0f6266c52864/0" linkUrl="http://nfl.com/news"/>
<videoHeaderLogo verticalAlign="middle" horizontalAlign="right" source="http://pluggd-public-read.s3.amazonaws.com/718a6d6d232b48b8a720716804a8f022/0"/>
<videoHeaderLogo verticalAlign="middle" horizontalAlign="right" source="http://pluggd-public-read.s3.amazonaws.com/7a24434d3f564e27949775c5e6e881f5/0" linkUrl="http://nfl.com/photos"/>
<videoHeaderLogo verticalAlign="middle" horizontalAlign="right" source="http://pluggd-public-read.s3.amazonaws.com/718a6d6d232b48b8a720716804a8f022/0"/>
<videoHeaderLogo verticalAlign="middle" horizontalAlign="right" source="http://pluggd-public-read.s3.amazonaws.com/e9bb19cf508e46879da3f2b0b102c1cd/0" linkUrl="http://nfl.com/videos"/>