TV Channel Management¶
TV channels are the basic content unit in the Catena system. Each channel represents a separate video content stream that is delivered to subscribers through client applications.
What is a Channel in Catena¶
A channel in Catena is an entity that combines:
- Technical parameters — unique identifier and name for the streaming server
- Visual presentation — display title and logo for users
- Program guide — link to EPG (Electronic Program Guide) source
- Pricing — inclusion in channel packages for selling to subscribers
It's important to understand that Catena does not handle direct video stream delivery — that's the streaming server's job (e.g., Flussonic Media Server). Catena manages channel metadata and access rights.
Main Channel Parameters¶
Technical Parameters¶
Channel ID
- Automatically generated when creating a channel
- Format: base64-encoded Snowflake ID with
+/=
replaced by-_.
- Example:
aKl9SW3AAAE.
- Used for programmatic access via API
- Not editable after creation
Streaming Name (Name)
- Unique technical channel name within the portal
- Used by the streaming server to identify the stream
- Requirements:
- Only Latin letters, digits, hyphen and underscore:
[a-zA-Z0-9_-]
- Length from 2 to 20 characters
- Must be unique within your portal
- Examples:
sport1
,news-hd
,first_channel
Display Parameters¶
User Title (Title)
- Localized channel name that viewers see
- Can contain any characters, including Cyrillic
- Examples:
First Channel
,Sport HD
,News 24
Logo
- Channel image for display in client applications
- Format: PNG, transparent background recommended
- Uploaded as binary data (base64)
- Available through a separate endpoint:
GET /channels/{channelId}/logo
- Optimal size: 300x300 pixels
EPG Integration¶
EPG Source Name
- Name of the electronic program guide source
- References a previously created EPG Source in the system
- One EPG source can be used for multiple channels
EPG Channel Name
- Channel identifier within the EPG source
- Used to match your channel with the program guide from the EPG file
- Must exactly match the channel name in the XML EPG
Link Example:
If in your EPG file the channel is called perviy-kanal
, then in the EPG Channel Name field you need to specify exactly perviy-kanal
, even if in Catena your channel is called first_channel
.
Creating a Channel¶
Via Web Interface¶
- Open the "Channels" section in the Catena control panel
- Click the "Create Channel" button
- Fill in required fields:
- Name — technical name for the streaming server (in Latin)
- Title — name to display to users
- Fill in additional fields (optional):
- Logo — upload channel image (PNG)
- EPG Source Name — select program guide source
- EPG Channel Name — specify channel name in the EPG source
- Save the channel
After creation, the channel will receive a unique ID and will be available for adding to packages.
Via Management API¶
curl -X POST https://your-catena-domain.com/tv-management/api/v1/channels \
-H "X-Auth-Token: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"name": "sport1",
"title": "Sport HD",
"epgSourceName": "main-epg",
"epgChannelName": "sport-channel-1"
}'
Response:
{
"channelId": "aKl9SW3AAAE.",
"portalId": "pKl9SW3AAAE.",
"name": "sport1",
"title": "Sport HD",
"epgSourceName": "main-epg",
"epgChannelName": "sport-channel-1",
"packages": []
}
Viewing Channel List¶
Via Web Interface¶
The "Channels" section displays a table with all portal channels:
- Logo — channel logo thumbnail
- Title — display name (Title)
- Technical Name — streaming name (Name)
- Packages — list of packages that include the channel
- EPG — information about the connected program guide source
- Actions — edit and delete buttons
Via Management API¶
Get list of all channels:
curl -X GET https://your-catena-domain.com/tv-management/api/v1/channels \
-H "X-Auth-Token: your-api-key"
Response:
{
"channels": [
{
"channelId": "aKl9SW3AAAE.",
"portalId": "pKl9SW3AAAE.",
"name": "sport1",
"title": "Sport HD",
"packages": ["basic", "premium"],
"epgSourceName": "main-epg",
"epgChannelName": "sport-channel-1"
}
],
"next": "cursor-for-next-page"
}
Pagination:
To get the next page, use the cursor
parameter:
curl -X GET "https://your-catena-domain.com/tv-management/api/v1/channels?cursor=cursor-for-next-page" \
-H "X-Auth-Token: your-api-key"
Editing a Channel¶
Via Web Interface¶
- Open the channel list
- Find the needed channel and click the "Edit" button
- Change parameters:
- Title — can change the display name
- Logo — upload new image
- EPG Source Name / EPG Channel Name — change link to program guide
- Save changes
Important: The name
field (technical name) cannot be changed after channel creation. If you need to change the technical name, create a new channel and delete the old one.
Via Management API¶
curl -X PUT https://your-catena-domain.com/tv-management/api/v1/channels/aKl9SW3AAAE. \
-H "X-Auth-Token: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"name": "sport1",
"title": "Sport Full HD",
"epgSourceName": "new-epg-source",
"epgChannelName": "sport-hd-channel"
}'
Uploading and Getting Logo¶
Uploading Logo via API¶
When creating or updating a channel, the logo is passed in the logo
field as a base64 string:
curl -X PUT https://your-catena-domain.com/tv-management/api/v1/channels/aKl9SW3AAAE. \
-H "X-Auth-Token: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"name": "sport1",
"title": "Sport HD",
"logo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
}'
Getting Logo¶
The logo is available through a separate endpoint:
curl -X GET https://your-catena-domain.com/tv-management/api/v1/channels/aKl9SW3AAAE./logo \
-H "X-Auth-Token: your-api-key" \
--output channel-logo.png
This URL can be used in client applications to display the logo.
Deleting a Channel¶
Via Web Interface¶
- Open the channel list
- Find the channel to delete
- Click the "Delete" button
- Confirm deletion
Warning: When deleting a channel, it will be automatically removed from all packages it was included in.
Via Management API¶
curl -X DELETE https://your-catena-domain.com/tv-management/api/v1/channels/aKl9SW3AAAE. \
-H "X-Auth-Token: your-api-key"
Channel-Package Relationship¶
A channel by itself is not accessible to subscribers. To provide access to a channel, it needs to be included in a channel package.
The packages
field in the channel (read-only):
When getting channel information, the packages
field contains a list of package names that include the channel. This field is read-only and is automatically updated when adding/removing a channel to/from packages via the channel-package relationship management API.
Example:
{
"channelId": "aKl9SW3AAAE.",
"name": "sport1",
"title": "Sport HD",
"packages": ["basic", "premium", "sport-package"]
}
Channel-EPG Relationship¶
How EPG Integration Works¶
- Create an EPG source in the EPG Sources section
- Specify the URL of the XML file with the program guide
- Start synchronization of EPG data
- In the channel settings, specify:
epgSourceName
— name of the created EPG sourceepgChannelName
— channel name as specified in the XML EPG
Channel Mapping¶
EPG XML structure example:
<tv>
<channel id="perviy-kanal">
<display-name>First Channel</display-name>
</channel>
<programme start="20241015120000" stop="20241015130000" channel="perviy-kanal">
<title lang="en">News</title>
</programme>
</tv>
In Catena specify:
- EPG Source Name:
main-epg
(name of the source you created) - EPG Channel Name:
perviy-kanal
(value of theid
ordisplay-name
attribute from XML)
After this, the program guide will be automatically available for this channel in client applications.
Typical Use Cases¶
Launching a New Channel¶
Task: Add a new sports channel to the service
Steps:
- Create a channel in Catena with the name
sport-premium
- Upload the channel logo
- Configure EPG link (if program guide is available)
- Add the channel to one or more packages
- Configure the corresponding stream on the streaming server with the name
sport-premium
Bulk Adding Channels¶
Task: Add 50 channels from a new content provider
Solution via API:
- Prepare CSV or JSON with channel data
- Create a script for automatic channel creation via API
- Upload logos for each channel
- Configure EPG mapping
- Group channels into thematic packages
Updating EPG for Channels¶
Task: Change EPG source for a group of channels
Steps:
- Create a new EPG Source with current data
- Update channels, specifying the new
epgSourceName
- Check the correctness of
epgChannelName
mapping - Start EPG update
Channel Rebranding¶
Task: Change channel name and logo
Steps:
- Open channel editing
- Update the
title
field with the new name - Upload a new logo
- Save changes
- Changes will automatically appear in client applications on the next data update
Best Practices¶
Channel Naming¶
- Name (technical name):
- Use short, clear names:
sport1
,news
,movies-hd
- Avoid special characters except hyphen and underscore
-
Add suffixes for HD/SD versions:
sport-hd
,sport-sd
-
Title (display name):
- Use full, clear names: "Sport HD", "News 24"
- Can use any characters and emoji
- Indicate quality in the name: "4K", "HD", "SD" (if important)
Channel Organization¶
- Group channels logically by themes, using packages
- Use a consistent style for logos (size, background, format)
- Keep EPG data current
- Document technical channel mapping
Logo Management¶
- Size: optimal 300x300 pixels
- Format: PNG with transparent background
- File size: no more than 100 KB for fast loading
- Consistent style: use the same style for all logos
Streaming Server Integration¶
Remember that the technical channel name in Catena must match the stream name on the streaming server:
- Catena:
name: "sport1"
- Flussonic: stream must be named
sport1
This ensures proper operation of access tokens and viewing analytics.
Troubleshooting¶
Channel Not Displayed in Application¶
Possible causes:
- Channel is not included in any package
- Subscriber doesn't have a subscription to a package with this channel
- Corresponding broadcast is not configured on the streaming server
Solution:
- Check that the channel is added to a package
- Make sure the subscriber is subscribed to this package
- Verify that the streaming server is delivering a stream with the corresponding name
EPG Not Displayed for Channel¶
Possible causes:
- Incorrect
epgChannelName
specified - EPG Source not updated or contains errors
- No data for this channel in the EPG XML
Solution:
- Open the XML EPG and find the correct channel identifier
- Update
epgChannelName
in the channel settings - Start forced EPG update
- Check EPG update logs for errors
"Name must be unique" Error¶
Cause: A channel with this technical name already exists in your portal
Solution:
- Use a different technical name
- Or delete the existing channel with that name (if no longer needed)
Logo Won't Upload¶
Possible causes:
- File is too large
- Unsupported image format
- Base64 encoding error
Solution:
- Use PNG format
- Compress the image to size < 100 KB
- Check base64 encoding correctness
See Also¶
- Channel Package Management — grouping channels for sale
- EPG Management — configuring electronic program guide
- Subscriber Management — providing access to channels
- API Reference — complete API documentation for channels