Kaltura Platform

From Kaltura Wiki

Jump to: navigation, search

Contents

[edit] The Kaltura Platform - Developers Overview

The Kaltura platform gives you, the developer, tools to enrich your site with full interactive video functionality, ranging from playing videos uploaded by the site admin to giving any user the ability to upload, record, remix, edit rich-media and more.

Kaltura also offers ready made packages for extending common frameworks such as MediaWiki, Wordpressand Drupal.

This overview will enable you to start using the Kaltura platform, and serve as an introduction to new developers. This is not a reference manual but rather a short guide describing the different capabilities included in the Kaltura platform.

Before starting to work with the Kaltura platform please make sure you have everything you need.

[edit] Basic Terminology

Term Explanation
Kaltura Contributor Wizard (KCW) The Kaltura Contributor Wizard (aka CW or KCW) is a customizable wizard enabling end users to upload media. The wizard supports multiple file uploads, webcam and microphone recording and importing media from external sources (e.g. YouTube, Flickr, etc.). The wizard lets developers add their own media provider flex modules.
Kaltura Simple Editor (KSE) The Kaltura Simple Editor (aka SE or KSE) is a customizable flash video editor enabling end users to mash up videos and images, add audio tracks and enrich their video mix with transitions.
Premium Editor (KAE) Flash-based advanced video editor
Kaltura Dynamic Player (KDP) The Kaltura Dynamic Player (aka KDP) is a highly flexible media player allowing any developer to create his own skinned version which may include different sets of components.
Partner ID An organization or individual that is authorized to access the APIs.
Subp ID Sub partner id – allows a single partner to create different applications sharing the same user base (for example, creating

different Facebook applications).

User ID The user as it is identified on the partner system (e.g. a numeric id, screen name, email)
Secret A key given to the partner upon signup, used to authenticate API calls. The key should never leave the partner servers
Admin Secret Another key that should be used for calling administrative API calls
Entry An entry is a media entity and it's meta data on the Kaltura servers. It can be an image, a sound clip, a video or a rough-cut (explained below) wrapped with vast information such as dates, titles, tags, ratings and more. The Kaltura extensive API enables its partners to create galleries, lists, playlists and more by calling up various entry-related API calls as well as edit this information on the fly.
Roughcut A roughcut is a 'mix' type entry. Similar to a video type entry, you can play a rough-cut in the KDP - It can be a single or a mix of videos, a slide-show, a mix of both and much more.

A rough-cut is an XML unique format invented by Kaltura, similar to Final Cut Pro 'Edit Decision List' but with a twist. Whenever a user uses the Kaltura Editor to create a mix of videos and images in and out points, transitions, text overlays, soundtrack, effects and much more - the Kaltura Editor automatically saves this mix as a rough-cut. The user can play that rough-cut in a Kaltura video player as if it was an ordinary (yet very cool) video.

Kshow A KShow (Kaltura Show) is a 'container' of related entries. The main use of a kshow is as the 'higher entity' of a remix and contains all of the images, sound clips, videos and rough-cuts that create one remix. A kshow is also playable by the KDP and when played it redirects to the most recent version of the rough-cut in the kshow (as a rough-cut can be edited and manipulated). Similar to an entry, A Kshow is also wrapped with metadata and has an extensive representation in the Kaltura API. Note a KShow can be used to store entries related to a specific user or topic (regardless of mixes).
Widget A widget represents a KDP which is either bound to a specific media clip (in the case of media embedded in an external site) or a KDP that can show a gallery of media clips which can be selected via flashvars and javascript calls.

[edit] Kaltura Integrated Components

Integrating the Kaltura platform typically involves several different components:

  1. Calling the Kaltura servers using the Kaltura API
  2. Embedding the Kaltura Contributor Wizard to let users upload their own content
  3. Embedding the KDP (Kaltura Dynamic Player) to view uploaded media and video mixes
  4. Embedding Kaltura Simple / Advanced Editor which lets users create and edit remixes


[edit] Using the Kaltura API

Kaltura's Application Programming Interfaces (APIs) allow partners to interact with the platform through web-services. API's are based on the REST principles Where each request can be an HTTP POST or GET, and the response is a gziped content (If client specified that gzip is supported).

Read all about the Kaltura API here.


[edit] Kaltura Contributor Wizard (CW)

The Kaltura Contributor Wizard (aka CW) is a flex component which allows users to upload clips, add webcam recordings and import media clips to a certain kshow. The CW uses a KS passed through flashvars to perform calls to Kaltura’s servers. After the user finishes the upload flow, the CW sends the appropriate calls to the server and gets back the added entry ids.
The CW can send these ids to a javascript function (you should pass the function name using flashvars) in order to synchronize data between the Kaltura servers and the partner database. Another method for synchronizing the two systems is to provide Kaltura with a callback URL that will be called by the Kaltura servers each time an event of interest occurs (e.g. adding an entry, moderation requests).
The CW may be opened on a new html page or in the same page using an overlaid div.
Flex based applications may use the CW as well. An example for such use is Kaltura Simple Editor.

[edit] CW Customization

The CW can be customized in several ways:

  1. Changing its skin (e.g. colors, buttons).
  2. Changing the locale – any text can be changed easily.
  3. Selecting media providers (e.g. file upload, webcam recording, youtube, flickr)
  4. Setting other parameters such as the default media provider, terms of use link etc…
  5. Additional media providers may be added dynamically to the CW by 3rd party developers.

All of these settings are wrapped in an XML configuration file which includes a description of the different media providers (including URLs that point to appropriate swf components), links to skinning and locale files and other configuration parameters.
The configuration files are stored on the Kaltura servers but can be managed by the registered partner.
Each such file receives an ID which should then be passed to the CW using the uiConfId flashvar.

[edit] Kaltura Dynamic Player (KDP)

The Kaltura Dynamic Player (aka KDP) is a highly flexible media player allowing any developer to create his own skinned version which may include different sets of components. As with the CW, the KDP enables easy integration of 3rd party Flash components.

The KDP can be configured using an xml configuration file.
In order to embed a KDP on a web page a developer should first create a widget (or use one of the available widgets) which describes the settings of the required player.
There are two types of widgets:

  1. Gallery mode – the widget will render a KDP that can show different media clips. The media clips can be changed using a simple javascript call to the html flash object.
  2. Embed mode – the widget is bound to a specific media (e.g. image, video, remix). This is usually the case when an end user shares (via embed code) the media on another site (e.g. MySpace, Facebook).

The KDP configuration file defines the graphical layout and functionality of the different parts of the player. Different instances of the KDP may use different components such as the accreditation component, rating component, different progress bars.

Extra data may be passed to the KDP through flashvars in order to propagate it to all of the widgets embedded from the current instance (e.g. a link to the original page containing the widget).

The KDP can be control from the web page using javascript functions. It can also use javascript callback functions to notify the page on different events (e.g. fire an event when completing loading).

[edit] Kaltura Simple Editor (SE)

The Kaltura Simple Editor (aka SE) is an online video editor flash component.
Like all of the other Kaltura components the SE can be customized using an XML configuration file.
The configuration file controls the skin, locale and different settings (e.g. default transitions).

The SE may be opened as a new html page or in the same page using an overlaid div.

Personal tools