Kaltura CE 12.4.0 released

Hello all,

The latest version is now available.

New feature: live streaming using Nginx’s RTMP module:

Up until now, live streaming required either Wowza or an external provider.
This version introduces live streaming using Nginx’s RTMP module [https://github.com/arut/nginx-rtmp-module/].

To stream use:

to get the HLS manifest for playback, use:

To use this with the HTML5 Kaltura player, go to KMC->Upload->Live Stream Entry->under Live Stream Type select Manual Live Stream URLs, provide a name and then in the URL input http://$NGINX_HOST:$NGINX_PORT/hlsme/stream.m3u8 and uncheck “Akamai HD protocol…”

Make sure you’re using kaltura-html5lib of version 2.48.1 or above.

The kaltura-nginx package now includes the minimal configuration required to stream using RTMP and play the stream using HLS.
The RTMP module offers many additional options, which are documented here:

Core changelog:

  • PLAT-6135 - Get end date of last event of a series
  • PLAT-6164 - events orderby name is missing
  • PLAT-6215 - 2 factor authentication feature
  • SUP-9163 - first status of a user
  • SUP-9229 - API Error metadata.list
  • SUP-9337 - Captions on iPhone not displaying since KS is missing the ‘disableentitlementforentry’ priviliedge
  • PLAT-6197 - List response filter does not return new resources added after creation
  • PLAT-6198 - Recscheduling- Recurrence event - time of day is taken from current system time
  • PLAT-6218 - Change single event to recurring returns wrong event time.
  • PLAT-6255 - edit the resource of an occurrence
  • PLAT-6279 - Bulk Upload XML replacement deleted entry’s original thumbnails
  • PLAT-6268 - Weekly recurrence calculation
  • PLAT-6287 - Recurrence date is 31
  • PLAT-6305 - exporting schdule events in ICAL format results in incorrect dates

kaltura-nginx (v1.10.2) changelog

  • Upgraded to latest stable - v1.10.2
  • Nginx now compiled with the RTMP module to be used for Live streaming

kaltura-html5lib (v2.49) changelog:

  • SUP-9210 - Iframe Embeds - Wheel of death on Android + Chrome
  • FEC-6129 - Enable Shaka on Android
  • FEC-6130 - Incorrect event type on livestats events
  • FEC-6133 - LC - Endless spinner while changing streams (when hls-js is enabled)
  • FEC-6138 - MPEG Dash:LC - Endless spinner while changing streams (dash)
  • FEC-6140 - Lecture Capture multi streams: selected stream failed to be play, errors in console
  • FEC-6091 - CLONE - Changing bitrate causes player to become unresponsive in Safari
  • FEC-6112 - DFP Pre-Mid-Post:Big play button is missing after post-roll
  • FEC-6107 - Replay Youtube Entry Displays Only Audio
  • FEC-6118 - MPEG_Dash: Channel playlist: Player stuck after choosing dash clear entry after live entry
  • FEC-6142 - Chromecast - (OTT content) can not replace media thumbnail in changemedia
  • FEC-6143 - Chromecast - Not able to set chromecast proxy data in changemedia
  • FEC-6128 - Upgrade hls.js to v0.5.48
  • FEC-6127 - Upgrade Shaka to stable v2.0.0
  • FEC-6166 - MPEG_Dash uDRM: Player stuck after switching entries in playlist
  • FEC-6167 - MPEG_Dash uDRM: Any entry plays only first 4 seconds after switching in playlist
  • SUP-8825 - iOS flavor transition in 2.45 jumps back to the video beginning for a split second
  • SUP-9089 - Resgination Media - VAST trafficking doesn’t respect skipBtn condition
  • SUP-9251 - “Apply drop shadow to icons” is not responding
  • FEC-6186 - Player not loaded on IE8 - only black box
  • SUP-8163 - iPad video issue when switvhing tabs
  • FEC-6164 - Change media of live linear not working
  • FEC-6145 - DFP overlay: the video doesn’t loaded , spinner appears all time
  • FEC-6189 - DFP overlay - the video is not displayed after overlay Ad starts
  • FEC-6196 - Vast overlay is not displayed
  • FEC-6175 - Regression: Video stack loading with DFP overly (Regression)
  • FEC-6200 - endless loop when change media while ad
  • FEC-6215 - seek bar is not functioning after change media
  • FEC-5874 - Playlist: “Play previous clip” button grey out (but clickable) even user plays not the first entry
  • SUP-8939 - In IE11, In Full Screen, using ‘iframe’ embeds - Volume Drops to 0 %
  • FEC-5981 - Call to action buttons are not working
  • SUP-9452 - Companion Ad Issue
  • FEC-6208 - HLS -JS - DFP - Playlist is disabled during the video
  • SUP-7774 - Video Quality is degraded when casting to AirPlay from iOS app
  • FEC-6170 - [Web 3 Player] Unable to load captions file although Captions enabled
  • FEC-6177 - MPEG_Dash uDRM: seek doesn’t work in case of performing seek before tapping on play button(Win8.1-IE11 Only).
  • FEC-6239 - Regression: HLSJS: Live with DVR: Video is not playing smooth after throttling the bandwidth
  • Set max retry for handling errors
  • Retrieving cue points - adding safe check
  • add external proxyData for ott use case
  • Fix default CC thumbnail preview
  • Do not load hlsjs on SDK
  • Fix invalid $_SERVER user agent access
  • Change to getLicenseData API. For OTT offline registration without flavorId
  • Fix getLicenseData on php < 5.4.0
  • Merge ccAds branch
  • Merge DualVideo branch
  • Add printouts to IMA loading
  • Do not reload the IMA lib if already available
  • Fixed a problem where a TypeError was fired after playback switches to the next playback item in a playlist
  • disable shaka on Android
  • Select base, main and high profiles when forcing using “Kaltura.ForceHighResFlavors”
  • peer5 plugin update
  • Re-add DRM mime type selection to native SDK
  • Fix playlist with ads get stuck on changeMedia
  • Remove HLS-IE8 condition from UIConfResult.php

To upgrade, please follow:

RPM based:

Deb based:

Or, if running a cluster:

1 Like

I have upgraded kaltura 12.3.0 to 12.4.0.
Live streaming with nginx works correctly.
It will useful for some people.
Thanks community for support and contributions


Can I add new app in addition to kLive inside nginx.conf

Hi @eemirtekinn,

You can add additional configurations if you’d like. I strongly recommend you add them in a new file under /etc/nginx/conf.d/ and use the ‘include’ directive in the main file. This would avoid a situation in which the configuration is overridden during an upgrade.

Sorry for asking before testing.

Does the new nginx RTMP module authenticate against the API and publishes the state to kaltura in the way Wowza did ?



Hi @david.eusse,

No need to apologise:)
Right now, there is no direct integration between Nginx’s RTMP module and the Kaltura API. Nginx is used to provide RTMP streaming capabilities and for generating an HLS manifest and segments, which the Kaltura player [or any other player capable of HLS playback] then consumes and plays.

We have plans for deeper integration in the future.

Thank you,

I guess it can be done with on_publish and/or on_play from the rtmp module.


Yep, it’s not a problem, just needs a bit of work:)

This topic was automatically closed after 8 days. New replies are no longer allowed.