Product updates · 3 min read

priavte sign

Private live streams

With private live streams, you can be sure that your live video is not being shared outside your expected audience - perfect for live concert streaming, or classes.

Doug Sillars

February 16, 2021

One of our most popular video on demand features is the ability to turn a video ‘private,' where each url to the video has a one time token to prevent sharing. We have been asked many times about when the 'private' feature would be available for live streaming. We are very excited to release this as a new feature today!

When you set a video to private, the video link has a one use token connected to it. This token can be used exactly once (in a single web session). This means that the video cannot be shared, and any subsequent access of the url will throw an error. This also means that each time the video is shown, a new token must be requested from api.video via the Get video endpoint.

If you use the api.video player, this all works automatically. If you use a different player, we have a walkthrough of how you must handle the headers.

Private Live streaming

Starting today, we now have a public attribute for all live streams. Setting this to

"public": false

will add a token to each url for viewing. With private live streams, you can be sure that your live video is not being shared outside your expected audience - perfect for live concert streaming, or classes.

Of course, just like the video on demand feature, you’ll need a new URL for the live video for each viewer. When you call the Get Livestream endpoint, each live for the m3u8, the player and the iframe will have the token attribute appended.

{
	"liveStreamId": "123",
	"createdAt": "2021-02-15T10:30:49+00:00",
	"updatedAt": "2021-02-15T10:30:49+00:00",
	"streamKey": "123",
	"name": "Dougs staging private livestream",
	"public": false,
	"record": false,
	"broadcasting": false,
	"assets": {
		"iframe": "<iframe src=\"https://embed.api.video/live/li4SB0HXeul4ITH5DXJFGPxT?token=4851b6b0-3c8a-4f15-8298-c2db754fa6ac\" width=\"100%\" height=\"100%\" frameborder=\"0\" scrolling=\"no\" allowfullscreen=\"true\"></iframe>",
		"player": "https://embed.api.video/live/li4SB0HXeul4ITH5DXJFGPxT?token=4851b6b0-3c8a-4f15-8298-c2db754fa6ac",
		"hls": "https://live.api.staging/private/4851b6b0-3c8a-4f15-8298-c2db754fa6ac/li4SB0HXeul4ITH5DXJFGPxT.m3u8",
		"thumbnail": "https://live.api.staging/private/4851b6b0-3c8a-4f15-8298-c2db754fa6ac/li4SB0HXeul4ITH5DXJFGPxT/thumbnail.jpg"
	}
}


See it in action

Why URL tokens?

Our video tokens are completely server side, removing the need for developers to do any security development (unless you are integrating with a 3rd party player). The app makes an API call to the api.video server, receives the token, and can simply pass the value to their users.

Once the token is used, api.video removes the token from being able to be used again. As long as the user keeps their browser open, they can watch the video, but it cannot be shared, and if a new session is started, the user will need a new token.

Saved private live streams

One of the great features of our live streams is the ability to have it available as recorded Video on Demand after the stream is completed. To enable this, the “record: true” setting must be enabled before the stream starts.

If your stream is set to private and set to record, all of the recorded videos will also be set to private - and will require the equivalent private token for each view.

To make the example video above public, I had to update the video's setting to "public": true.

Current Limitations

As we test and tweak private live streams, we want to keep the audiences lower. Please limit all private live streams to audiences of 3,000 viewers or less. For larger audiences - you can use a public live stream.

Later this year, we’ll be able to remove this cap, and allow for unlimited size of viewers for your private live stream.

Give it a try - we'd love to see what you've built - share a link in our forum

Try out more than 80 features for free

Access all the features for as long as you need.
No commitment or credit card required

Video API, simplified

Fully customizable API to manage everything video. From encoding to delivery, in minutes.

Built for Speed

The fastest video encoding platform. Serve your users globally with 140+ points of presence. 

Let end-users upload videos

Finally, an API that allows your end-users to upload videos and start live streams in a few clicks.

Affordable

Volume discounts and usage-based pricing to ensure you don’t exceed your budget.