Kaltura’s video platform is a modular system that exposes different web-services and that may be deployed in several deployment modes to support different levels of scale. Kaltura’s platform comes in different editions, including the Kaltura-hosted SaaS edition, managed by Kaltura for single publishers and Value Added Resellers (VARs), as well as in several licensing modes of the, self-hosted, Kaltura On-Prem™ edition: Kaltura Community Edition, Kaltura On-Prem™ for Publishers and Kaltura OnPrem™ for OEMs.
This article provides a description of Kaltura’s main service layers, system components and their recommended setup based on several scales of deployments. The article also recommends Kaltura’s ‘best practices’ for system architecture design, to be considered when planning self-hosted deployments of Kaltura’s platform.
Overview of Logical Layers
Kaltura’s online video platform relies on a modular software infrastructure, designed to enable flexible usage of Kaltura’s technologies and features. There are 5 main layers in Kaltura’s platform:
Kaltura Core Technologies
The following diagram illustrates the logical layout of Kaltura’s Online Video Platform layers.
Layer 1 - Kaltura Core Technology
The following list includes the main features of the Kaltura server-side implementation.
Storage and Hosting Services
Kaltura's hosted SaaS Edition offers robust storage and hosting services. Kaltura's servers operate out of state-of-the-art data centers with the highest levels of stability, redundancy and security. Kaltura’s, self-hosted, On-Prem™ edition allows service providers and publishers to set-up their own hosting and storage infrastructure (see below "best practices for self-hosting and hardware considerations").
Content Delivery and Streaming Services
Kaltura's content delivery and streaming is based on optimizing and reselling tier-1 CDN services, including those of Akamai, Limelight Networks, and Level3 Communications. The streaming infrastructure ensures the best media delivery performance possible, even when working with high volumes of content and audience and when utilizing different streaming methods (e.g. progressive download, RTMP, HTTP Streaming). Optionally, Kaltura's platform can be integrated with other CDNs and delivery components, so self-hosting service providers and publishers can customize their Kaltura setup for integrating their system to work with their CDN of choice or to utilize their local streaming facilities.
Kaltura supports 2 alternative content delivery paths via CDN:
- Using Kaltura's platform local storage as the CDN origin - this is the standard delivery mode for publisher accounts hosted on Kaltura's SaaS platform.
- Utilizing publishers' storage accounts on their CDN (e.g. Akamai NetStorage) to be used as the CDN storage origin, while still managing their content on Kaltura.
Media Ingestion and Transcoding Services
The Kaltura platform applies a transcoding process after media upload. Per the account's transcoding settings, video files are transcoded into the required format and codecs to enable web publishing in adaptive qualities and on multiple devices (including different mobile and iOS devices), while supporting all popular media codecs. Each media file is handled according to its type based on a set of pre-defined adjustable parameters, such as transcoder type, quality (bit rate), aspect ratio, and video viewing optimization. These parameters can be set by publishers to provide the best streaming and editing capabilities required to support their media workflow needs. Each source file could be transcoded into multiple flavors – i.e. files with different bitrates, dimensions, and quality. During playback the player selects the most appropriate flavor for playback based on the viewer's available bandwidth, player dimensions, and CPU usage. Kaltura's unique technology combines several transcoding components with in-house utilities and shell scripts. In addition, Kaltura's platform comes pre-integrated with commercial transcoders. Advanced ingestion options are also available to support the ingestion of multiple flavors, that were generated on the publisher's local transcoding engine into the Kaltura system as well as further automated ingestion workflows utilizing an ingestion drop folders mechanism.
Media Manipulation Services
The platform provides core capabilities of media manipulation, including: thumbnail generation, image cropping and resizing, video trimming, video transitions, video overlaying (annotations), video effects, audio and voice control, video speed control and more. In addition, the platform supports conversion of Office documents (PPT, DOC, XLS, PDF) into SWF files that are playable in the Kaltura player, as well as synchronization and playback of the converted documents with a selected video, creating a single user interface for a synchronized view of video and document content.
Media Management Services
The platform provides a comprehensive set of media management capabilities and tools. Publishers can easily upload their media, manage and populate a comprehensive set of metadata fields, and organize their media within playlists and gallery widgets while applying filtering criteria and paging options. In addition, Kaltura's system includes media moderation tools enabling publishers to implement safe and controlled UGC functionalities within their web sites.
Account Management Services
The platform provides publisher administration capabilities and tools. Publishers are able to fully manage their accounts, to ensure publisher-level web security while relying on their unique identifiers and secret keys, to configure their specific server settings and more. Administrators of self-hosted deployments of the Kaltura platform can manage multiple accounts for publishers registered to their Kaltura deployments.
User Management Services
The platform provides user administration capabilities allowing publishers to provision multiple user accounts and assign each user to a pre-defined or custom role. Publisher admins can define specific user roles for providing different levels of permissions to content management and administration functionalities according to their specific organizational needs. In addition publishers are able to relate their internal user identifiers to the media uploaded to the system and, by doing so, to enable user specific media functionality, as well as media related social networking activities on their web sites.
Advertising & Monetization Services
Kaltura's media players come with built-in support for in-stream and companion rich-media advertising. This enables publishers to implement an advertising solution supporting a wide variety of ad formats and ad sources. Kaltura's media players may include the following advertising modes: Simple advertising deployment, Overlay ads, Ad timing configuration, Companion ads, Ad frequency configuration, and Ad reporting and analytics. Kaltura also supports pay-per-view functionalities, like blocking unauthorized access using increased security hashed URL's and Server Secrets. A ‘free preview' feature enables publisher to configure the occurrence and duration of free previews before a fee is charged.
Web Video Analytics Services
Kaltura provides a built-in web video analytics infrastructure combined with a state-of-the-art reporting tool. These technologies provide publishers the ability to track and understand their end-users' video related behavior, and to better monetize their web media services. Kaltura's reporting tool includes user-specific as well as aggregated indicators for media analytics and audience measurement, including: number of contributors, number of syndications, top played content, number of plays, media plays latency, media play drop-offs, number of user interactions with media, media indicators per media type and more.
Media Syndication and Distribution Services
Kaltura provides integrated social syndication technologies within its players, allowing end-users to easily distribute videos to their own web sites, to the most popular social networks sites and blogging platforms, to simply distribute videos to their friends via emails or to locally download videos for their personal use. In addition to social syndication Kaltura's platform provides capabilities and tools for enabling automated multi-destination syndication and distribution of content. Publishers are able to create playlist based syndication feeds for maximizing their content's reach and generate traffic back to their site. Access Control can be set for each content item/group to limit the access to specific countries, domains or times (scheduling).
Kaltura's content distribution infrastructure enables media companies and content creators to create and automate customized video packages to send to distribution partners directly from within the KMC. Administrators are able to control the destinations for each video package, and for each distribution destination admins can control the video qualities, multiple thumbnails in different sizes, metadata, scheduling data, and more.
Styling & Branding Services
Kaltura provides tools and the API to customize the style, branding and functionality of the video player, as well as that of additional widgets (e.g. the Upload/Import widget, and the Video Editor). This allows publishes to maintain a consistent UI, and opens up monetization opportunities by way of custom skins that can be sold to advertisers.
Layer 2 - Kaltura API Client Libraries
To enable easy integration of Kaltura’s platform, Kaltura provides several API client libraries written in multiple programming languages. These client libraries implement the actual calls to the Kaltura server APIs. They handle HTTP request creation, queuing, and response processing while providing specific classes corresponding to entities and data types used by Kaltura server APIs. Kaltura API client libraries are available for multiple programming languages. For more information see Kaltura API SDK - Native Client Libraries and API Inside-Out – Tour of Kaltura’s API Driven Architecture.
Layer 3 - Kaltura Widgets
The Kaltura platform includes self-contained, client-side components called Kaltura Widgets, which implement specific APIs in Flash or HTML. Kaltura widgets can be customized, skinned and easily embedded within publisher’s websites. Kaltura widgets rely on advanced web technologies, encapsulating graphics, media functionalities, and workflow events control along with direct access to Kaltura core technologies (via the Kaltura web services layer).
Some Kaltura widgets (specifically the Kaltura Dynamic Player) implement internal hooks to enable the widget’s integration with a Kaltura or a 3rd party plug-in applications. Such plug-in applications are then used to provide Kaltura widgets’ functionality with complementary media services. Examples of 3rd party services already integrated as a plug-in within Kaltura widgets are: Doubleclick for Publishers (DFP) ad services powered by Google, Ad services powered by Adap.tv, Ad services powered by Tremor Media, Ad services supporting VAST based ad servers, Media social syndication services powered by Gigya, and subtitle editing services powered by PLYmedia.
Layer 4 - Kaltura Applications Framework
The Kaltura Application Framework (KAF) is an extensible, feature rich, UI based configurable framework that streamlines the integration of Kaltura’s rich media capabilities into different publishing applications. The framework is constructed of modules that provide a packaged workflow and functionalities that can be easily embedded in another application as an iFrame, instead of integrating directly with the Kaltura APIs. The framework can decrease the integration time with your application dramatically and allow you to always get up to date new functionality by decoupling the added features from the integration itself. The embedded iFrames are all based on a responsive design to ensure that the integrated pages are displayed properly on any given area. For more information see Understanding the Kaltura Application Framework.
Layer 5 - Kaltura Applications
The Kaltura Application Exchange is a virtual marketplace for publishers, developers, integrators and web shops to “trade” in video applications related to the Kaltura open source online video platform.Kaltura’s video platform offers tailored combinations of Kaltura widgets and server APIs, called Kaltura Applications. Kaltura applications are tailored to support specific media workflows or are extensions to a third party web content management platform. Kaltura’s most commonly used applications include: Kaltura All-in-One Video Module for Drupal, Kaltura All-in-One Video Pack for WordPress, Kaltura Moodle Plugin, Kaltura Blackboard Building Block, Kaltura Sakai Extension and dozens of other Applications and integration kits.
The Kaltura Management Console, (KMC) is a basic Kaltura application, available to administrators of all publisher accounts, which provides a comprehensive and user friendly tool for utilizing Kaltura’s media and account management core capabilities, including content importing/uploading, sorting/filtering/moderating, creation of playlists, configuration of widgets’ features and graphic interface, management of publishers’ account and server settings, user administration and reporting and analytics.
The Kaltura Admin Console is a basic Kaltura application, available to Kaltura On-Prem platform administrators which provides a comprehensive and user friendly tool for utilizing Kaltura’s system and service administration capabilities including: publisher management and configuration, server batch processing control, system monitoring and developers tools.
The Kaltura MediaSpace application allows you to instantly launch a video-centric website, where users users can create, upload, share, search, browse, and watch live and on demand videos, video presentations, screencasts, and other rich media content. MediaSpace provides superb cross device user experience, unmatched user engagement capabilities, and powerful control and governance tools.
The Kaltura MediaGo application is a market-leading set of end user applications for connected devices such as iOS, Android, web and TVs. The different device applications are designed to unlock Kaltura’s full offering, while offering customized experiences for different screens, capabilities and use-cases, and enabling a consistent cross-device experience.