Live and Simulive - technical guidelines

This article covers the technical details of contributing a live feed into the Kaltura Live platform.  

The article is divided into two parts:  

  • Encoder Set-Up  
  • Outputting to a Kaltura End Point  


On-Set (or Near-Set) Encoder Environment 

Executing a successful live production requires focus and resources in several areas. The following is a basic checklist for you to get started.  

Standardized Content Ingestion from Production 

It is imperative to stick to common, modern video standards like 1080p@30, 720p@25, etc.  

Make sure the feed coming from production into the encoder includes video and audio in the correct temporal resolution (frame rate, scan type), spatial resolution (pixel dimensions, aspect ratio, pixel aspect ratio), and audio resolution (sample rate, channel layout, perceived volume).   

Network Environment 

Verify the encoder has sufficient upstream bandwidth to stream the content going out to Kaltura.  

As a rule of thumb, your uplink bandwidth should be double the stream data-rate. For 5mbps stream, there should be at least 10mbps uplink bandwidth.   

For high profile events, it is recommended to use redundant network infrastructure such as multiple ISPs, redundant network equipment, and multiple cloud regions (if applicable).   

If you need to broadcast over a cellular connection, it is recommended that you use a bonded solution that combines cellular connections from multiple carriers into a single high-speed output.  

Resiliency 

It is important that the encoder can publish multiple outputs for stream redundancy and stability.  

If possible, have a backup encoder standing by for unexpected failures.  

Compliance and Live Captions 

Content localization is encouraged for viewers that require viewing aids or would like to view content in a different language. Ensure your encoder supports closed captions and/or multiple audio track output (languages) in case it is needed.  

If you need to integrate with an external captioning service, make sure to do this well ahead of time.  

The following is a list of encoding solutions recommended for use with Kaltura.  

Enterprise Grade 

Prosumer Grade 

AWS Elemental Live 

Telestream WireCast 

Ateme Titan Live 

Open Broadcast Software (OBS) 

Haivision Makito 

vMix 

Telestream LightSpeed 

XSplit 

For additional information about the supported encoders for Kaltura Live Streaming, see What encoders can I use with the Kaltura Live streaming? 

Publish Your Stream to Kaltura 

When creating a new live stream with Kaltura using KMC, API, or any other integration, you receive two RTMP endpoints and a stream name, such as the following:

The RTMP URLs, one for primary and one for backup, are used by the encoder publishing the stream to Kaltura. You must copy these details and paste them into the relevant fields in your encoder.   

Passthrough 

Passthrough means Kaltura will package the stream (from RTMP) but will not transcode the stream and will deliver the same flavors the original encoder is delivering.  

For multi-bitrate output, the ‘Stream name’ will have sequential number appended for each stream at the end. For example, stream 1 (first bitrate/rendition/variant) would have the stream name 'abcdABCD_1' and stream 2 would have the stream name 'abcdABCD_2'.  

Manual Live 

This is a passthrough session where Kaltura will not package the stream or transcode it; the encoder will deliver HLS stream with all flavors.  

Cloud Transcode 

This is the most common option. Encoders will deliver Primary and Backup RTMP streams. Kaltura will package and transcode the streams and deliver all flavors.  

Stream Localization 

The Kaltura video player supports both language audio menu selection and a caption menu selection. In order to use these features, several conditions must be met.  

For Audio Language Tracks 

For example, if you want to add a French audio-only channel in addition to your base video stream, you will need to configure your encoder to publish to:  

Video (+English audio)  
 

rtmp://1_abcdABCD.p.kpublish.kaltura.com:1935/kLive?t=1234567/1_abcdABCD_1 
 

French audio  
 

rtmp://1_abcdABCD.p.kpublish.kaltura.com:1935/kLive?t=1234567/1_abcdABCD_1002 
 

The full list of language audio codes will be supplied by Kaltura.   

For Closed Caption Tracks 

Kaltura supports live captions, carried over RTMP, in the CEA/EIA-608, CEA/EIA-708 (aka embedded) standard.  
When setting up your encoder, make sure to annotate the caption track's language so it will be represented correctly in the Captions Selector menu in the player.  

Note: Use Kaltura's API to add “createvodcaption” in the “adminTags” property of your liveEntry to enable carry over of ingested 608/708 captions to your live broadcast recording. See Kaltura VPaaS API Documentation for further details about Kaltura's API.

Pre-Roll / Post-Roll 

All live streams published to Kaltura during the event must start with a pre-roll and end with a post-roll.  

Pre-roll is 30 minutes of live feed preceding the scheduled time of the live session. The existence of pre-roll gives Kaltura and the production a chance to spot last minute errors and validate the stream.  

It recommended to have a post-roll of 10-30 minutes live feed trailing the live session. Post-roll gives users the chance to stay on the live session page for chatting with the host and have a Q&A session (if applicable).  

Live Stream Readiness 

A few weeks prior to the event, Kaltura will contact the production and schedule several live stream tests to verify that everything is working as planned.  

Kaltura will request to test the following scenarios:  

Audio / Video compliance – Ensure video is ingested correctly into the system, transcoded, packaged, and delivered to the player.  

Stream Failover - Take down the primary/backup stream and watch failover behavior.  

Captions - Ensure caption position, size, timing, accuracy, and compliance.  

Multiple Audio Channels - Ensure switching between audio channels in the player.  

Audio / Video quality - Overview general audio and video quality.  

Simulive Sessions 

What is a Simulive session? 

In Kaltura’s Virtual Events platform, a Simulive session means scheduling the playback of a VOD file as a live broadcast. 
Simulive session consists of a VOD file as source, a pre-roll file, a post-roll file, and a scheduled broadcast time and duration. 

Simulive sessions are the most recommended live experience. You can edit the content, watch it, and approve it before anyone else. It’s like having a live session without the risks of having a live session. 

Kaltura Content Ingestion 

While Kaltura supports a wide range of video formats and codecs, there are some recommended specifications for creating source files. These will ensure that your source files are quickly and safely transcoded to multiple flavors (renditions), while offering optimal video and audio quality. 

Container / Format: MP4, MOV and most other common video file formats. 

Video codec: AVC/H264, Apple ProRes and most other common video codecs. 

Audio codec: AAC, MP3, Most PCM types and other common audio codecs.  

For video content, it's recommended to use a video bitrate equal to or higher than 10Mb/s (Megabits per second) and audio bitrate equal to or higher than 96kb/s (kilobits per second). 

Recommended spatial resolution: >15Mb/s, 1920x1080, 16:9 aspect ratio, square pixels. 8 bit picture, 4:2:2/4:2:0 subsampling. 

Recommended temporal resolution: Constant frame rate of 25, 30 fps, progressive scan 

Recommended audio resolution: >96kb/s, 1 stereo track, 48 kHz sample rate 

If editing is done using Adobe Premiere Pro, please choose the following export preset (also attached here as .epr file): 
Please base your Premiere export on this preset 

Tips and Best Practices 

When preparing your content, please respect the Action and Title safety grids 

Please remove any letterbox and/or pillarbox from the content. 

 

Pre-Roll / Post-Roll 

All Simulive content (presentations, lectures, etc.) must have a leader (pre-roll) and a trailer (post-roll). 

Pre-roll and Post-roll are to be supplied as standalone files, which will later be “stitched” to the content for Simulive playback. 

It’s advised for Pre-roll and Post-roll videos to show a counter, leading to the beginning/ending of the content. 

  • Pre-roll file duration can be 5 to 10 minutes long, or anywhere in between 

  • Post-roll file duration can be 15 to 20 minutes long, or anywhere in between 

Content can be of any duration. 

Limitations  

Pre-roll and Post-roll files mustmatch the content in video parameters, in the following aspects: 

  • Frame rate (fps) 

  • Pixel dimensions (resolution) 

  • Aspect ratio 

  • Audio channel layout 

  • It’s recommended to “normalize” audio levels so that all segments (pre-roll | content | post-roll) have the same 'perceived' loudness or volume. 

Files supplied with varying video parameters may not stitch correctly, leading to a suboptimal Simulive experience. 

Scheduling the Simulive Session 

Before uploading your Simulive content, you would normally provide Kaltura with the Simulive playback schedule. The schedule indicates the broadcast time and duration (broadcast window). 

When preparing your Simulive content, you must make sure to match the scheduled session’s indicated duration. The scheduled time should match the content duration, without the pre-roll and post-roll. 

  • If the Simulive session exceeds the Simulive scheduled duration, the content will playback correctly, but viewers will not be able to join the session outside of the scheduled window. This also applies for page refresh. 

  • If the Simulive session subceeds the Simulive scheduled duration, the content will playback correctly but for viewers joining after the scheduled window, or those who refresh the page, content will playback from the beginning. 

Was this article helpful?
Thank you for your feedback!
In This Article
Related Articles
Back to top

Never miss a thing!

Subscribe to our customer newsletter and our release notes updates, so you always get the best out of Kaltura.
Newsletter