Kaltura Live+ Latency FAQs

Printer-friendly version
Audience / Tech Expertise: 

What is Live Latency?

Live latency is considered to be the delay between the time when the camera captures video and the time when the video is displayed on the player. The overall latency is affected by several elements along the way:

  1. Local encoder performance
  2. Network uplink (encoder to Kaltura cloud)
  3. Media processing (cloud transcoding, packaging, encryption if needed)
  4. Network downlink (Kaltura cloud to CDN to player)
  5. Player internal buffers

A significant contributor to the overall latency is the player behavior. This is an inherent behavior to any HTTP-based adaptive streaming, where the video is segmented into small chunks.

The player downloads several chunks (depends on the player configuration) before the playback actually starts to maintain a safe buffer that will avoid buffering. For example, the iOS native player downloads 3 chunks before playback starts. The default chunk duration is 10 seconds, which ends up adding 30 seconds to the overall latency.

What is Kaltura Live+ Latency?

Kaltura's default latency is between 40-60 seconds. The latency depends on several factors - device, network, quality, etc.

When Does Latency Matter?

In many cases latency does not matter. The end user does not know that the display is lagging behind. This is true for most regular live streams.

Latency matters when:

  • Interactivity comes into play →  when there are 2 way interactions, for example Webcasting Q&A, polls, etc 
  • Betting and bidding
  • 2nd screen experiences
  • Sports
  • Video chats, etc.

How Can Kaltura Reduce Latency?

it is important to know that you can not get really low latency (below 5 seconds) using HLS/DASH or any other HTTP based streaming. There is a trade-off between low latency and buffering-free user experience, the sweet spot can be different for different customers/networks/devices.

  • Kaltura has added a back-end configuration that allows configuring the segment duration. It is set per partner.

The current default segment duration is 10 seconds which leads to 40-60 seconds latency. Reducing the segment duration to lower values (such as 2 or 4 seconds), will reduce the end to end latency.

The following table displays testing results with 4 and 2 seconds segment duration.

Note:  The 2 second segment duration is not supported on the Flash player (WinXP/IE11).

Segment duration

Device

Browser

End to end latency

2

Windows 10

Chrome

 12-14

Edge

 12-14

Windows 7

IE11

 Not supported

Mac

Safari

 15-16

iPhone 6/iOS 10

Safari

 14-15

Chrome

 14-15

Google Pixel - Android 7

Chrome

 15-16

Samsung Galaxy S7 - Android 7

Chrome

16-17

4

Windows 10

Chrome

 23-24

Edge

 23

Windows 7

IE11

 24

Mac

Safari

 24

iPhone 6/iOS 10

Safari

 22-23

Chrome

 25

Google Pixel - Android 7

Chrome

 22-23

Samsung Galaxy S7 – Android 7

Chrome

 23-24

How to Configure the Segment Duration for Kaltura Live+?

The Dynamic Segment Duration feature for Latency must be enabled and configured by Kaltura. Please contact your Kaltura representative to enable the feature.

How to Verify the Latency on My Stream?

The actual segment duration of the stream can be seen using the browser's console.

  1. In the browser page of the player (in Chrome), open the console → Network tab.
  2. Start playing the stream.
  3. In the console, click on '.m3u8' link or on one of the .ts files.
  4. Select the Headers tab. The Segment Duration will be shown in the Request URL (for example - ../sd/2000/t/... reflects 2 second chunk duration)
Document type: 
(381 reads)