RTMP Endpoints for Kaltura Live Streaming

About

Endpoints are a crucial component in Kaltura Live Streaming, serving as the communication links between streaming sources and Kaltura’s servers to ensure smooth data transmission. This article provides an overview of these endpoints, covering their purpose, setup, and best practices to optimize your live streaming experience.

We support the following features and capabilities:


✓ Passthrough


✓ Transcoding


✓ Redundancy and Failover


✓ DVR


✓ Recording

RTMP Endpoints

RTMP endpoints are the URLs that should be configured on your encoder for streaming live to Kaltura SaaS. 

The endpoint contains the following information:

  • Primary RTMP URL (mandatory) - This is the primary stream target URL.
  • Backup RTMP URL (optional) - This is the backup stream target URL. If it exists, your encoder will broadcast to both primary and backup endpoints for cases when redundancy is required.
  • Stream name - This is a unique identifier of different streams to the same endpoint. "Stream Name" is usually just the number '1' unless more than one video flavor or multiple soundtracks are being streamed simultaneously. If you are broadcasting multiple bit rates or multiple audio tracks from your encoder, you will need to use different stream names for the different flavors. Check this article for further details. 

The primary to backup switch is not always seamless and may require a browser refresh from the viewer. To get the "Seamless Failover" experience one should use Kaltura Player V7 with the "Live" plugin enabled. Also, in case of a primary stream failure, the backup stream VOD is not extracted automatically. Hence, a manual VOD restore request is needed.

RTMPS

RTMPS (RTMP over SSL) is the encrypted version of the RTMP protocol. This means you can send live content in an encrypted, secure, and reliable way from your encoder to the Kaltura cloud.
To use RTMPS, simply replace the rtmp:// prefix and port number of the RTSP endpoint.

For example:

RTMP endpoint: rtmp://1_gdrt137u.p.kpublish.kaltura.com:1935/kLive/?t=b9106yth4

RTMPS endpointrtmps://1_gdrt137u.p.kpublish.kaltura.com:443/kLive/?t=b9106yth4

Regenerating the RTMP stream token 

The RTMP token is unique per entry ID and ensures that the RTMP URL will not be manipulated.

If you try to broadcast with an incorrect token (or without one), your broadcast will be rejected.

To ensure that security requirements are met and to secure sensitive data, an option to regenerate the live stream token is provided. You can regenerate the stream token as often as required, however, please note that each time you regenerate the stream token you must update your encoder settings with the new token. Broadcasting with the previous token will be rejected.

Sensitive information is blurred in the following graphic intentionally.

A confirmation box is displayed notifying you of these changes if you choose to regenerate the stream token.

Configuring RTMP endpoints in your encoder

Copy and paste the RTMP URLs and stream name from the entry page in the Kaltura Management Console (KMC). You can copy the URLs to your clipboard for later use.

RTMP URL structure

The RTMP URL structure is:

rtmp://[entryID].[p/b].kpublish.kaltura.com:1935/kLive/?t=[token]
  • entryID - the unique identifier of your live stream in Kaltura. The entryID is auto-generated by Kaltura servers when creating a live entry
  • p/b - "p" for primary, "b" for backup stream
  • token - an auto-generated token that is used to secure your RTMP URL. Streaming will be possible only when the token is correct.

Example: rtmp://1_gdrt137u.p.kpublish.kaltura.com:1935/kLive/?t=b9106yth4

Geographical considerations - using regional RTMP endpoints

Kaltura Geo-redundant data centers are located in the US (New York and Palo Alto), In some cases, when broadcasting to Kaltura from outside of the US, there may be bandwidth issues and fluctuation.

To overcome this issue, Kaltura has set up regional RTMP endpoints that maintain persistent connections to our US data centers to eliminate most of the bandwidth issues that occur due to geography.

The proxies serve the following regions:

  • EMEA (Frankfurt, Germany)

The regional proxies are fully redundant (primary/backup).

If you are broadcasting outside of the US and encounter connectivity or other issues, please contact Kaltura Customer Care and we will route you via a local regional RTMP endpoint.

We recommend testing your upload speed via https://speedtest.net

Make sure to:

- Select the server location that best fits your location in order to simulate to properly test the upload speed.

- Select Single from the connections options.

We recommend testing several times as bandwidth can fluctuate.

SRT ingestion

We also support Secure Reliable Transport (SRT) ingestion for Live broadcasts. SRT is an open-source transport technology that optimizes streaming performance across unpredictable networks, such as the Internet. The SRT protocol brings several benefits in areas such as video quality, low latency, and end-to-end security.

Use KMC or liveStream.get API call to get endpoint URLs and stream IDs for the primary and the backup SRT streams.

To enable end-to-end AES-128 encryption for the stream, set a 10 to 79 alphanumeric passphrase from KMC or use the API.

Streaming using an OBS encoder

  1. Use the streaming option.
  2. Use the URL as the Server Address. 
  3. Concatenate the stream ID string to the URL by adding ?streamid= between the URL and the stream ID. 
  4. Leave the Stream Key field empty.
    <URL>?streamid=<stream_ID>

    For more information, see OBS Studio and Kaltura Live Streaming.
Was this article helpful?
Thank you for your feedback!
User Icon

Thank you! Your comment has been submitted.

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