Scalability and flexibility can make or break your online video success. When putting an online video plan in place for your organization, you want to be certain that you will be able to accommodate adoption and usage, increasing content quantity and quality, and any new features you may need.
In Kaltura Inspire this webinar we discussed the fundamentals of API-driven online video solutions and how you can leverage this to gain scalability, flexibility, and control of end-user experience. How to avoid potentially slow, risky, and error prone manual deployments by using the Kaltura API to fully automate your cluster deployments and upgrades. See how you could plan and execute a video platform that better fits your needs and have more influence on how your users experience online video.
How AI, OpenAI, and ChatGPT impact business and software.
Kaltura Inspire Webinar: API Driven Video Platform - The Key to Scalability and Flexibility
1. Kaltura API Based
Video Experience
Platform
Kaltura Inspire Webinar, March 2015
Zohar Babin, Managing Director; Platform, Ecosystem
Michael Dale, Director, Product; Playback Experience
Jess Portnoy, Packaging Lead & Community Manager
2. Why Platform, Why API Matters?
• Business workflows change often
• API enables smooth transitions from prototyping to production
• API enables unlocking of new workflows
• API enables solution centric approach
• API promotes interoperability between products
• Marketplace facilitates re-use and sharing of solutions
3. Business Enabled By Platform
Videofy Create & Innovate
• Add value to existing tools
• Integrate features quickly
• No disruption to user’s current flows
• Enable new workflows and solutions
• Enable rapid growth
• Automate manual labor
6. RESTful API
• Kaltura is a RESTful API driven platform.
• All functionality, from upload through transcoding to playback, is achieved by
• making API calls.
7. Simple, and Robust - REST API
• Kaltura is a REST API driven platform.
• All functionality, from upload through transcoding to playback, is achieved by
making API calls.
• Calls are made over HTTP, using simple GET and POST requests
• Response formats include XML, JSON, Serialized PHP and more.
8. It Follows These Guidelines
• A uniform interface - Every service represents an object, every action
represents a method
• Separates clients from servers - Clients are not concerned with data
storage, which remains internal to each server, thus improving the
portability of client code
• Stateless - For each API call you must provide a valid session (KS)
• Cacheable - Scale is a make or break with high load applications
• Layered system - Client does not care whether it is connected directly to
the end server, to an intermediary or even proxy.
• Intermediary servers improve system scalability by means of load
balancing and shared caches and can also enforce security policies.
9. What’s Unique About Kaltura’s API?
• Kaltura's own components use the API to get their job done
• This means third party applications interfacing with Kaltura use the
same set of APIs the Kaltura Core platform uses.
– Anything that Core Kaltura applications can do can also be done from your own app
using the same API
– Since the APIs are constantly used by Kaltura's Core, they are constantly tested
• Up-to-date Auto Generated SDKs
• On every core release, the API client libraries are auto generated
from the source.
• For a full list of available SDKs see: http://www.kaltura.com/api
v3/testme/client-libs.php
10. Complete Control – One API Model
• Your application can do a lot more than just upload or play video!
• Strong backend HTTP API for push notifications streamlines two-
way applications
Ingestion and Content
Preparation
Content Management,
Media Data and Metadata
Media Transcoding, and
Packaging
Content Distribution and
Syndication
Playback and
Live Streaming
Backend Monitoring
and Management
Analytics & Reporting
Authentication, and
User Administration
Access Control, Security,
Entitlements and DRM
Monetization and Ads
Applications and
Workflows Management
Event Notifications,
and Scheduled Tasks
18. Secured Adaptive Delivery Across Platforms
• The most widely used protocol to deliver
adaptive video to mobile devices
• Advantages:
• Native delivery for iOS devices
• Chromless HLS Flash is used for desktop
browsers
• Kaltura offers software HLS to solve android
fragmentation
• Simplified live broadcast and vod ad-stitching
workflows
We use 2 delivery methods to deliver to all browsers across mobile and
web:
• A new protocol designed to standardize adaptive
bitrate web video delivery
• Advantages:
• Enables use of the Encrypted Media Extension
for web delivery of DRM and content controls
• Multi-track audio
• More detailed analytics on quality of services
metrics
MPEG-DASHHLS
19. New DRM Challenges
Development Impact on the customers
Google Chrome Disabling NPAPI (“Netscape
Plugin Application Programming Interface”) -
April 2015 (details)
• No Silverlight-PlayReady on Chrome
Internet Explorer and Chrome exclusively
supporting platform CDMs for HTML5 EME
• No PlayReady on chrome
• No Widevine on IE
Google deprecating Widevine Classic • Making SDK and plugins difficult
New Standards: DASH delivery and
Common Media Encryption (CENC) on HTML5
(details)
• Requires expensive migration of content
preparation
• Not compatible with existing playback
solutions
Firefox supporting Adobe CDM • Need to support Adobe
• Adding complexity, fragmentation
• Increased fragmentation: Chromecast, Roku, gaming consoles, connected TVs
20. Old way
PlayReady
Widevine
Adobe Access
Smooth Streaming
Widevine Progressive
HDS
Silverlight Player
Widevine plugin
Flash Player
Modular DRM
Common Encryption
DASH
Encrypted Media
(EME)
Multiple
Content
Decryption
Module:
Modular DRM
21. Kaltura Modular DRM
Supporting modular DRM across browsers & native apps
With a single player config and player API for analytics, business rules and visual appearance
PlayReady
or
CENC
Smooth Streaming
or DASH
Silverlight PlayerFlash Player
EME
Multiple
CDMs:
Chrome and IE11
Firefox, Safari, Older IEs
use browser plugins as
Chromeless players
Android and iOS
Player SDKs
Kaltura Toolkit: Cloud player services
25. • Enhanced related videos interface
• Flexible options for related video
fulfillment
• Events for tracking conversion /
retainment
• Works with external recommendation
engines
Demo – related videos
Related Videos API approach example
27. Kaltura supports a broad range of networks based on VAST 3.0 and VPAID:
• Pre/mid/post rolls and ad
pods
Monetization
• Layovers• Companion ads
Demo
28. Metadata Ingestion
• Running ads using the native player allow
the most feature-rich ad experience:
• Pre/post/mid rolls and ad pods
• Interactive ads
• Detailed analytics on ad performance
• Used mostly for VOD assets on iOS and
Android 4.0 and Up
Server Based
• Running server-based ads allows for widest
device support for both live & VOD:
• Dynamically switch linear channel ads with web
stream ads
• Improved targeting based on location, time of day,
viewing habits
• Homegrown technology tightly integrated
with the Kaltura player to always offer the
most superior ad experience possible
• Better analytics compared to the competition
Native
In order to display video advertising on any device, we support two ad
delivery technologies:
Native and Server Based Ads
29. Unified Ad Macro API across play services
Content Macros
{mediaProxy.entry.category}
Site User identifiers
{userTracking.myCustomUserId}
Native Device Id
{ios.nativeAdId}
Ad Networks Targeted AdsKaltura Player
Services
Content and Context
Hosting site
{utility.referrer_url}
• Web Player
• Native iOS &
Android Player
• Ad Stitching Play
Server
More Documentation on unified ad macros
32. Unified Custom Analytics across players
Content Macros
{mediaProxy.entry.category}
Site User identifiers
{userTracking.myCustomUserId}
Native Device Id
{ios.nativeAdId}
Analytics ServicesKaltura Player
Services
Content and Context
Hosting site
{utility.referrer_url}
• Web Player
• Native iOS &
Android Player
• Ad Stitching Play
Server
Core and Plugin
Unified Events
Event Specific Data
{related.selectedEntryId}Core Events like:
doPlay
doPause
doSeek
changeMedia
Per plugin:
relatedVideoSelect
shareEvent
…
34. Consuming entities & context
Player Config MediaProxy Templates
Demo of player component model
35. Unified JavaScript API
iOS AV
Foundation
Browser
Video tag API
Browser
Chromeless
Flash
Android
MediaPlayer
iOS Player
SDK
Android Player
SDK
Browser JavaScript
Embed API
JavaScript PluginsCSS Based Skin
Browser
Chromeless
Silverlight
HTML Templates
Unified JSON Player Services
Software HLS
EME
Software HLS
Creating Consistency Across Devices
36. Feature
Native
CSS Skin & HTML Controls X, (iPad no FS) ✔ X 2.x, (4.0 +) ✔
JavaScript Plugins (Business Logic) ✔ ✔ ✔ ✔
HLS Adaptive Live & VOD ✔ ✔ > 4.4 HLS issues (4.4) ✔ ( software HLS )
MPEG-DASH X (via partners) > 4.1 (4.0+ chrome) (via partners)
AutoPlay X ✔ X ✔
Full Screen & Non-Native Controls X ✔ ✔ ✔
Volume Control X ✔ X ✔
Ads with controls take over X ✔ ✔ ✔
Offline Playback X (Coming soon) ✔ (Coming soon)
Chromecast X ✔ X ✔
AirPlay ✔ ✔ X X
DRM and Content Controls
X Widevine,
PlayReady soon
✔ Widevine,
PlayReady soon
Expanding Feature Reach w/ Native SDK
37. • Useful for quickly testing native features (
DRM, custom adaptive streaming, html
controls )
• Being used where clients can’t quickly build
their own app.
• Enables easy use of chromecast on iOS
etc.
Check it out on the app store
Kaltura Play – Native SDK app
39. API Makes Automation
• Prototyping is easy
• Moving to production
is often a headache
• With API this process
can be a breeze
40. Automation: Install and Upgrade
• The Kaltura installation has a complete none-
interactive mode
• Installation and upgrades can be fully automated
and do not require human intervention
• With Chef recipes one can automate the
deployment of an entire cluster
41. Automation: Dynamic Scaling
• Cloud architecture advantages is that it allows easy
scaling.
• Combine your favorite cloud API and Kaltura's API
and you get an dynamically scaling cluster
• http://blog.kaltura.org/automatic-scaling-with-chef-
kaltura-api/
42. Automation: Monitoring
• Monitor the batch queue and be proactive in
launching additional batch instances during load
• Monitor Search and indexing nodes to ensure sync
• Monitor Analytics reporting
43. Links and References
• Community Forums: http://forum.kaltura.org
• Knowledge Center: http://knowledge.kaltura.com
• The API Test Console: http://www.kaltura.com/api v3/testme/
• API Docs: http://knowledge.kaltura.com/kaltura-api-documentation-set
• Kaltura Code Repositories: http://github.com/kaltura
• To Install The Kaltura Platform:
• RPM/deb Packages: http://github.com/kaltura/platform-install-packages
• Using Chef: https://supermarket.chef.io/cookbooks/kaltura
44. NEW YORK SAN FRANCISCO LONDON TEL AVIV SAO PAULO SINGAPORE
WWW.KALTURA.COM
Contact us at
Community@kaltura.com
@Kaltura_API