Private Channel Service Flow
This document is a machine-translated draft and is currently undergoing review. Some content may be inaccurate or differ from the original Korean version. For the most precise information, refer to the Korean documentation.
This guide describes the entire process of operating a live stream through a private channel with security policies applied. If you want to configure a secure live stream that only authenticated users can watch, refer to the service flow below.
Core process summary
The technical transmission infrastructure of a private channel is the same as a public channel, but an additional security layer is added for viewing permission verification.
- Live Streaming (RTMP): The original video is transmitted to the server via RTMP (Real-Time Messaging Protocol) using the Kollus dedicated mobile encoder or broadcasting software such as OBS or vMix.
- Transcoding: The transmitted video is converted in real time to a quality and format optimized for the viewing environment according to the encoding profile preset in the Kollus Live console.
- Origin Server Storage: The transcoded content is temporarily stored on the Origin server in preparation for distribution.
- Edge Server Caching and Distribution: To handle large-scale concurrent access, content is cached on Edge servers and delivered to players via HLS (HTTP Live Streaming).
- Watching the Broadcast: Only authenticated users can watch the broadcast through the Kollus secure player.
Tutorial
Step 1: Sign in to the Kollus Live console
Go to Kollus Live Console and sign in.
- Integrated account: Enter the account information provided when the service contract was signed. If you are already using Kollus VOD, you can use the same sign-in credentials.
- Creator sign-in: This is a dedicated page for the 'host' who is in charge of actual live streaming. It can only be used after channel creation and Creator account registration are complete, so it cannot be accessed at this stage.
Step 2: Create a live channel
Create a channel, which is the basic unit of a live stream. A channel converts (transcoding) the original video in real time and distributes an optimized stream to users.
- In [Channel] > [Channel list], click [Register channel] in the upper right corner.
- Configure each item and click [Save]. (Since this guide describes the general live stream procedure for a private channel, set [Visibility] to [Private] and [Type] to [Live].)
Item Description Key The channel's unique identifier used for generating broadcast URLs, etc. (cannot be changed) Channel name The name of the channel. Used to identify the channel in the channel list or statistics page. Type Select the live type. (cannot be changed) - [Live]: Standard real-time broadcasting
- [Low latency live]: LL-HLS method that minimizes latency (Learn more: Low Latency Live (LL-HLS))
- [Scheduled Live]: Scheduled broadcasting based on prepared VOD files (Learn more: Scheduled Live)
Customer code An identification code for the customer's internal management. Metadata title Sets the title format displayed in the player during broadcast. - Example: If set to
[CHANNEL_TITLE]-[BROADCAST_COUNTING], when the 3rd broadcast is streamed on the 'First Live' channel → displayed as 'First Live-3'
Metadata description Detailed description displayed below the title. Encoding profile Sets the orientation (landscape/portrait) of the broadcast screen. (Learn more: Live Encoding Profile Options) - [Default - landscape]: Landscape orientation
- [Default - portrait]: Portrait orientation
Live stream forwarding Operates two broadcast paths (RTMP) simultaneously to prepare for encoder and network failures. If an issue occurs on the active path, it automatically switches to the other path to ensure uninterrupted broadcasting. (Learn more: Live Stream Forwarding) - Prerequisite: Live broadcast status check enabled
- Restriction: Not supported for Scheduled Live
Real-time subtitles Converts speech into real-time text (STT) and translated subtitles during the live stream, displaying them as an overlay on the player screen. After the broadcast ends, SRT subtitle files can be downloaded for each language. (Learn more: Real-time subtitles) - Restriction: Not supported for Scheduled Live
Translated subtitle language Selects the translated subtitle language to provide to viewers. - Prerequisite: Real-time subtitles enabled
- Restriction: Not supported for Scheduled Live
Visibility Sets the channel's access permissions. - [Public]: A broadcast URL (Video Gateway link) for external distribution is provided.
- [Private]: For enhanced security, viewing is only possible by generating a JWT (JSON Web Token)-based authentication URL.
Learn moreFor descriptions of detailed settings such as security beyond the basic items listed in the table above, refer to the document below.
Step 3: Generate a JWT
A private channel does not provide a public gateway link. Therefore, to allow users to access, a JWT (JSON Web Token) issued on the server side must be used to authenticate individual viewing permissions.
Various security features such as video watermarking and access expiration date/time can be defined in the JWT Payload. The required Payload configuration for watching a broadcast on a private channel is as follows.
Basic JWT payload example
{
"client_user_id": "{END_USER_ID}",
"expire_time": 1893455999,
"live_media_channel_key": "abcd1234"
}
| Option | Type | Description |
|---|---|---|
client_user_id | string | A unique ID that identifies the viewer. |
expire_time | integer | The validity period of the token (JWT). Access is blocked upon expiration.
|
live_media_channel_key | string | The unique identifier for the channel.
|
For detailed descriptions of JWT configuration, refer to the document below.
Step 4: Configure the secure broadcast URL
Call the player using a secure URL (S-link) so that only authenticated users can watch the broadcast. Write the broadcast URL according to the specifications below.
For detailed descriptions of how to call the player, refer to the document below.
Broadcast URL format
https://v-live-kr.kollus.com/s?jwt={JWT}&custom_key={CUSTOM_KEY}
Parameter details
| Parameter | Description |
|---|---|
jwt | Authentication and security settings token (JWT generated in Step 3) |
custom_key | Custom key
|
Step 5: Live streaming
Use an encoder solution to transmit the actual video to the Kollus server. Select the guide that suits your environment.
Step 6: Broadcast monitoring and termination
Once streaming starts, you can check the broadcast status in real time on the Kollus Live console.
- Check broadcast status: Check that the 'On Air' tag is displayed in the channel list.
- Screen monitoring: Click the channel name to go to the channel details page, where the actual streaming screen is displayed in the player.
- End broadcast: Press the end broadcast button in the encoder program to terminate the broadcast.