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
For example:
RTMP endpoint: rtmp://1_gdrt137u.p.kpublish.kaltura.com:1935/kLive/?t=b9106yth4
RTMPS endpoint: rtmps://1_gdrt137u.p.kpublish.kaltura.com:443/kLive/?t=b9106yth4
Regenerating the RTMP stream token
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
- Use the streaming option.
- Use the URL as the Server Address.
- Concatenate the stream ID string to the URL by adding ?streamid= between the URL and the stream ID.
- Leave the Stream Key field empty.
<URL>?streamid=<stream_ID>
For more information, see OBS Studio and Kaltura Live Streaming.