Kaltura Installation Packages Project
To enable the use of standard binary packages and package managers when deploying the Kaltura Video Platform Community Edition.
This project features official deployment packages to install the Kaltura Video Platform on a server or cluster environments using native OS package managers.
- Learn more & keep track on the project page.
- Read Latest Project Status.
- See the Build and Test Reports on the Continuous Integration system.
- Visit the Kaltura Video Platform Packages CI Project and help by contributing automatic sanity tests.
- Track the development of the Kaltura Video Platform Packages CI Project.
- Kaltura Inc. also provides commercial solutions and services including pro-active platform monitoring, applications, SLA, 24/7 support and professional services. If you're looking for a commercially supported video platform with integrations to commercial encoders, streaming servers, eCDN, DRM and more - Start a Free Trial of the Kaltura.com Hosted Platform or learn more about Kaltura' Commercial OnPrem Edition™. For existing RPM based users, Kaltura offers commercial upgrade options.
- Please refer to the Frequently Asked Questions document before opening new issues or forum threads.
How you can help
Thank you for running Kaltura and pushing the limits of online video! By joining the Kaltura community and contributing you will help grow the platform, and keeping it open, stable and accessible to all. You can contribute meaningfully to the project from day one:
- By contributing sanity tests that verify overall platform stability - Join the Kaltura CI Project.
- By solving simple tasks and challenges that advance the platform roadmap.
- By testing the platform components, including various deployment settings and environments, and network settings, reporting issues and feature requests and pushing pull-requests that patch bugs.
- By creating documentation, demos and examples.
- By translating the Kaltura Platform documentation.
- By filling out the Community Survey
Contact the authors or email firstname.lastname@example.org if you have other ideas.
Watch the alpha announcement video:
Documentation and Guides
- Frequently Asked Questions
- Single-server All-In-One RedHat based Linux distros Installation (including FC, RHEL and CentOS).
- Single-server All-In-One deb based distros Installation (Debian: Jessie ; Ubuntu: Trusty [14.04]).
- Single-server All-In-One Ubuntu Xenial (16.04) Installation.
- Single-server All-In-One Docker container Installation.
- Deploying a Kaltura Cluster (RPM)
- Deploying a Kaltura Cluster (deb)
- Deploying Kaltura using Opscode Chef (RPM)
- Deploying Kaltura using Vagrant (RPM)
- Upgrade from pre-RPM versions
- Setting up Kaltura Video Platform monitoring
- Required Open Ports to run Kaltura
- Deploy Local Repository for Offline Install
License and Copyright Information
All code in this project is released under the AGPLv3 license unless a different license for a particular library is specified in the applicable library path.
Copyright © Kaltura Inc. All rights reserved.
Contributors: @DBezemer, @fugazi73, @blackyboy, @Ronileco, @jpluijmers, @smartdrive, @baiyou2014, @krarey, @nzimas, @nshulakov, @joerace, @iddrew, @ironsizide, @angober, @nviera777, @bnelson796, @cschaub, @mobcdi, @flipmcf, @dudyk, @vadimtar, @corematter,@visomar,@AquileaSFX,@carise,@shojikajita,@suhastnex,@ElGabbu,@OriHoch, @tan-tan-kanarek, @kobimichaeli, @leosuncin, @wzur
Not on the list but should be? we try to update it as frequently as possible but if you contributed a code fix, feature or reported an issue that got fixed, do write to us at email@example.com and we'll be happy to add you.
Help us keep the lights on
Naos-14.6.0 - Oct 17, 2018
kaltura-base (14.6.0) changelog:
- SUP-15684: TranscriptPlugin.php - handle plain text files as well (not just JSON) (https://github.com/kaltura/server/pull/7677)
- getPlaybackContext - include dash flavors in hls (https://github.com/kaltura/server/pull/7674)
- PHP7: Follow PHP strict standards. serverFile() expects 3 parameters while only 2 are being sent (https://github.com/kaltura/server/pull/7670)
- PHP7: Add php7.2 Support for checking if session is active to avoid exception when distributing to Facebook (https://github.com/kaltura/server/pull/7666)
- Fix live reports notice on empty result set (https://github.com/kaltura/server/pull/7664)
- Skip analytics log print on cached multi-request part (https://github.com/kaltura/server/pull/7663)
- PLAT-9190: Zoom-Kaltura integration (https://github.com/kaltura/server/pull/7662)
- Drop Object.assign() call (https://github.com/kaltura/server/pull/7661)
- PLAT-9305: Facebook auth request - use HTTPs endpoint (https://github.com/kaltura/server/pull/7660)
- KMC player preview: fix ie11 issue (https://github.com/kaltura/server/pull/7659)
- PHP7: Explicitly passing NULL as the object when calling get_class() is no longer allowed (https://github.com/kaltura/server/pull/7658)
- SUP-15684: TranscriptPlugin.php - added getValues() method (https://github.com/kaltura/server/pull/7656)
- PLAT-9237: Added 2018_10_09_update_bulk_sync_group_users_permissions.php (https://github.com/kaltura/server/pull/7655)
- PLAT-9299: Add 'filter_units' to ffmpeg cmd-lines (https://github.com/kaltura/server/pull/7649)
- PLAT-9256: Cache thumbnail for non block and limit thumbnail capture access control actions (https://github.com/kaltura/server/pull/7646)
- PLAT-9286: eSearch - save search terms even if no results were returned (https://github.com/kaltura/server/pull/7637)
- KMS-18522: entryVendorTaskPeer.php - Don't return aborted tasks (https://github.com/kaltura/server/pull/7636)
- PLAT-8950: REACH - Add support for filtering entry vendor tasks based on target language (https://github.com/kaltura/server/pull/7634)
- SUP-15727-fix-NGS-cmdLine (https://github.com/kaltura/server/pull/7633)
- PHP7: Ensure getStreamInfo() always returns an array object to avoid PHP Warning when calling count on it (https://github.com/kaltura/server/pull/7628)
- PLAT-9255 + PLAT-6772: handle enc_at_rest flavor conversion and thumb generation (https://github.com/kaltura/server/pull/7626)
- PLAT-9262: handle thumb and volume mapped with encryption (https://github.com/kaltura/server/pull/7625)
- PHP7.2: Avoid PHP Fatal error caused by passing too few arguments to function KalturaException::__construct(), 2 passed instead of 3 (https://github.com/kaltura/server/pull/7624)
- PLAT-9237: groupuser->sync does not handle special characters (https://github.com/kaltura/server/pull/7623)
- PHP7.2: to, cc and bcc do not implement countable() (https://github.com/kaltura/server/pull/7621)
- PLAT-7848: override __call function to restore http/s wrappers (https://github.com/kaltura/server/pull/7620)
- PLAT-8342: limit reset password per email and IP to avoid flooding (https://github.com/kaltura/server/pull/7619)
kaltura-kmcng (v5.4.2) changelog:
- content/category: fix "Move Category" panel height to support other languages (211ba28)
- content/entry: fix entry actions button width on Firefox (058bb95)
- help: add missing help links to settings/account information section (7b75185)
- hide OTT players from VOD Share & Embed players list (561d159)
- settings/account-info: fix form sending error (6affdc3)
kaltura-html5lib (v2.71.5) changelog:
- SUP-15422: player crushes when KPushServerNotification does not exist (#3903)
- SUP-15426: user Agent not recognising Android v9
Naos-14.5.0 - Aug 29, 2018
kaltura-base (14.5.0) changelog:
- PLAT-9163: Handle ingested flavors with 639-2B and 639-3 language codes (https://github.com/kaltura/server/pull/7533)
- PLAT-9163: Handle ingested flavors with 639-2B and 639-3 language codes (https://github.com/kaltura/server/pull/7527)
- SUP_15188: Align UTF8 string when adding or updating kuser name fields (https://github.com/kaltura/server/pull/7531)
- SUP-15188: Align UTF8 string kuser name fields (https://github.com/kaltura/server/pull/7523)
- PLAT-9037: Increase max number of groups per user (https://github.com/kaltura/server/pull/7529)
- PLAT-9181: Add option to avoid invalidation in CouchBase for specific partners (https://github.com/kaltura/server/pull/7526)
- Add priority to isSubstitute() check (https://github.com/kaltura/server/pull/7520)
- Apply CDN switching only to DP with the same attributes (https://github.com/kaltura/server/pull/7519)
- Apply CDN switching only to DP with the same path (https://github.com/kaltura/server/pull/7518)
- Cost base multi CDN support (https://github.com/kaltura/server/pull/7517)
- Limit bulk service
listaction to use only last 300K records when filtering events (https://github.com/kaltura/server/pull/7516)
- When using dynamic response profiles calculate the hasKey by serializing the response profile object (https://github.com/kaltura/server/pull/7515)
- PLAT 9130: thumbnail
executeaction - added validations (https://github.com/kaltura/server/pull/7514)
- PLAT-8904: Sphinx load balancing phase 1 (https://github.com/kaltura/server/pull/7485)
kaltura-kmcng (v5.3.2) changelog:
- content/entries: adjust position of the Youtube icon on entry thumbnails (825d2f3)
- content/entry: disable entry download if user doesn't have the required permissions (872799b)
- upload: fix "Create from URL" upload button label (3439b78)
- upload: set entry name and format for entries created from URL (#798) (b7d3621)
kaltura-html5lib (v2.71.2) changelog:
- Support default language selection natively (by ios browser) (#3896)
kaltura-ffmpeg (3.2) changelog:
- Configure FFmpeg --with-gnutls
Naos-14.4.0 - Aug 14, 2018
Tighter integration between Nginx's RTMP module and the Kaltura API
Using the Nginx RTMP module exec hooks, we now support auto provisioning a Kaltura Live entry upon initiating an RTMP stream. A VOD recording of the stream is automatically uploaded as a separate entry once the streaming session concludes. The VOD entry name will be a concatenation of the stream's original name and the string '-VOD'. Manual creation of the Live entry continues to be supported as before.
Kaltura entry auto provisioning
When streaming, the following params must be passed to the Nginx RTMP endpoint:
partner_secret: the partner's ADMIN secret
service_url: the Kaltura endpoint WITHOUT the protocol (http[s])
nginx_endpoint: the Nginx hostname
is_ssl: set to 'true', 'y' or 1 if the connection is to be done over SSL
entry_name: the Kaltura live entry name
$ ffmpeg -re -i /path/to/vid/file -c:v copy -c:a copy -f flv -rtmp_live 1 \ "rtmp://$NGINX_HOST:$NGINX_RTMP_PORT/kLive/$STREAM_NAME?partner_id=103&partner_secret=somesecret&service_url=$KALTURA_ENDPOINT&nginx_endpoint=$NGINX_HOST:$NGINX_PORT&entry_name=my_entry&is_ssl=true"
$NGINX_RTMP_PORT is 1935. For SSL,
$NGINX_PORT is 8443, otherwise, it's 88.
All these defaults may be changed during the kaltura-nginx configuration phase.
Adaptive bitrate support
This can be accomplished by using
ffmpeg to transform the source stream into 4 separate streams, each with a different bitrate.
The configuration is disabled by default as the operation is CPU and RAM intensive. If you opt to enable it, ensure you have sufficient HW resources.
To enable, edit
/etc/nginx/nginx.conf [RPM] or
/opt/kaltura/nginx/conf/nginx.conf [deb], uncomment the
exec /opt/kaltura/bin/ffmpeg block under
application kLive and reload the daemon.
kaltura-base (14.4.0) changelog:
- addFromUrl(): Throw exception in case the result is empty (https://github.com/kaltura/server/pull/7505)
- KMS-18227: Add custom role for Kaltura's caption editor application (https://github.com/kaltura/server/pull/7500)
- PLAT-9121: DeliveryProfileLive.php - reverse sorting order (https://github.com/kaltura/server/pull/7499)
- quiz: Avoid calling UserEntryPeer::retrieveByPK() per answer (https://github.com/kaltura/server/pull/7498)
- Add the
X-XSS-Protectionheader to KMCng (https://github.com/kaltura/server/pull/7491)
- PLAT-9126: Add monitoring to Couchbase calls (https://github.com/kaltura/server/pull/7488)
- Adjust auto inc for
- bulk->listAction(): limit to the last 100K records in order to constrain query performance (https://github.com/kaltura/server/pull/7483)
- PLAT-9124: Validate response profile before generating Couchbase key (https://github.com/kaltura/server/pull/7477)
- PLAT-9122: Allow returning indexed array with Couchbase extracted values (https://github.com/kaltura/server/pull/7473)
- sup-14543: Quiz - Non-Latin chars turn to gibberish when downloading PDF (https://github.com/kaltura/server/pull/7470)
- PLAT-9067: KMC partner creation - new email template (https://github.com/kaltura/server/pull/7465)
kaltura-kmcng (v5.2.1) changelog:
- Custom Data - Some characters entered in custom text fields are displayed with their character reference and break-lines are ignored
- Entries - Scrolling down action isn't smooth in IE11, edge and Firefox
Naos-14.2.0 - Jul 24, 2018
kaltura-base (14.2.0) changelog:
- SUP-14941: Fix multi account login (https://github.com/kaltura/server/pull/7421)
- PLAT-9100: Hotfix for Response Profile (https://github.com/kaltura/server/pull/7414)
- Fix link from legacy KMC to KMCng, providing KS of logged-in user (https://github.com/kaltura/server/pull/7409)
- PLAT-9091: Adjust Facebook auth request permissions (https://github.com/kaltura/server/pull/7399)
- PLAT-9062: Return value from soapCall() (https://github.com/kaltura/server/pull/7391)
- Fix Media repurposing admin console listing and dry runner log to support REACH (https://github.com/kaltura/server/pull/7390)
- PLAT-9064: filter scheduledTasks that were not handled the current day (https://github.com/kaltura/server/pull/7388)
- PLAT-9062: kSoapClient - override __soapCall (https://github.com/kaltura/server/pull/7387)
- PLAT-8941: move the config json string up to Delivery Server Node (https://github.com/kaltura/server/pull/7386)
- PLAT-9019: YouTube distributor - custom match and usage policy (https://github.com/kaltura/server/pull/7381)
- Fix Curl Wrapper response for Http notification (https://github.com/kaltura/server/pull/7378)
- PLAT-8903: Optimise kContentDistribution (https://github.com/kaltura/server/pull/7374)
- KMCNG-1941: Add link to the html based kmc from the flash based kmc (https://github.com/kaltura/server/pull/7373)
- PLAT-9075: handle filter generation for abstract class (https://github.com/kaltura/server/pull/7370)
- Handle filtering 0 enum value (https://github.com/kaltura/server/pull/7369)
- Use smaller chunk size for delayed file sync pull (https://github.com/kaltura/server/pull/7366)
- Ensure the serviceClassToIdAndName array is populated when service item is being fetched from cache (https://github.com/kaltura/server/pull/7365)
- admin_console/configs/lang/en.php - Added Thai (https://github.com/kaltura/server/pull/7364)
- PLAT-8915: Response profile access validation (https://github.com/kaltura/server/pull/7363)
- Add missing relatedService annotations (https://github.com/kaltura/server/pull/7361)
- Add missing class annotation to avoid error when using reach objects as a part of a response profile (https://github.com/kaltura/server/pull/7360)
- PLAT-9044: Cue point merging (https://github.com/kaltura/server/pull/7357)
- PLAT-9062: SoapServer - allow remote access (https://github.com/kaltura/server/pull/7355)
- limit the number of last_login_pid updates (https://github.com/kaltura/server/pull/7351)
- PLAT-8484: add -5 permission to liveConversionProfile (https://github.com/kaltura/server/pull/7349)
- add kmcng_version to local.ini (https://github.com/kaltura/server/pull/7340)
- PLAT-8915: Response profile access validation (https://github.com/kaltura/server/pull/7313)
- Avoid fetching none default delivery profiles (https://github.com/kaltura/server/pull/7161)
kaltura-html5lib (v2.70.1) changelog:
- SUP-14444 - Unexpected behavior when embedding Webcast entry with QnA
kaltura-nginx (1.14.0) changelog:
- New upstream Nginx version [see http://nginx.org/en/CHANGES
Naos-14.1.0 - Jul 4, 2018
kaltura-base (14.1.0) changelog:
- verifyObjectDeletion - increase chunk size (https://github.com/kaltura/server/pull/7337)
- PLAT-8581: ValidateMetadataObjectAccess should not return false if session is of admin type (https://github.com/kaltura/server/pull/7336)
- PLAT-9034 Upgrade facebook distributor to graph API v3.0 (https://github.com/kaltura/server/pull/7331)
- PLAT-8940 facebook new auth logic (https://github.com/kaltura/server/pull/7330)
- SUP-14624: Support of Mac/Win EOL in serveWebVTTAction (https://github.com/kaltura/server/pull/7329)
- getIpFromHttpHeader(): support IPv6 addresses (https://github.com/kaltura/server/pull/7325)
- ip2location - support single file with IPv4 & 6 (https://github.com/kaltura/server/pull/7324)
- SUP-14753: Perform clip action on source DC if the file is not accesible from the current DC (https://github.com/kaltura/server/pull/7320)
- PLAT-8507: Return empty KalturaMetadataArray if object ID is not found (https://github.com/kaltura/server/pull/7317)
- Fix eventConditions for SLIDE_VIEW_CHANGE_CODE_CUE_POINT notification (https://github.com/kaltura/server/pull/7314)
- PLAT-9002: playManifest fix (https://github.com/kaltura/server/pull/7309)
- KMS-17960: Set status to pending and do not set duration if no flavours exist (https://github.com/kaltura/server/pull/7306)
- PLAT-9025: updateContent action - abort replacement process if an exception was raised (https://github.com/kaltura/server/pull/7304)
- SUP-14641: set thumb URL to the correct version (https://github.com/kaltura/server/pull/7300)
- PLAT-8952: Live clipping engine - handle cue points (https://github.com/kaltura/server/pull/7299)
- Correct action annotations (https://github.com/kaltura/server/pull/7210)
kaltura-html5lib (v2.70) changelog:
- fix(Sup-13983): reports seem to be inaccurate update (#3849)
- fix(sup-14444): addressed the matter with the hidden qna div on VOD entries (#3843)
- reverting sup 14444 (#3855)
- *FEC-8174 The progress bar growth more than the live stream rolling buffer
- FEC-8192 [Player V2][Android]When user select unmute after preroll, the midroll and postoll are not playing later on
- SUP-14115 SUP-14115 Live feed in Playlist inaccurately shows VOD
- SUP-14542 Unmute button not displaying for live streaming content
- FEC-8288 When Automute true no need to display unmute icon
- SUP-14314 Mobile Player || Dual Screen plugins are overlapping
- SUP-14668 Player returns to beginning in iOS after midroll
- FEC-8312 incorrect this reference cause exception on not fatal ad error
- SUP-14173 No quiz Playback on iOS
- SUP-14288 iOS auto captions not loaded on first launch
- FEC-8191 [Player V2] [Playlist-Preroll] The first entry load with endless spinner
- FEC-8199 [Player_V2][Captions][iOS] - Default captions are not displayed on iOS
- FEC-8192 [Player V2][Android]When user select unmute after preroll, the midroll and postoll are not playing later on
- FEC-8174 The progress bar growth more than the live stream rolling buffer
- First release