Skip to content

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

  1. Open the "Channels" section in the Catena control panel
  2. Click the "Create Channel" button
  3. Fill in required fields:
  4. Name — technical name for the streaming server (in Latin)
  5. Title — name to display to users
  6. Fill in additional fields (optional):
  7. Logo — upload channel image (PNG)
  8. EPG Source Name — select program guide source
  9. EPG Channel Name — specify channel name in the EPG source
  10. 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

  1. Open the channel list
  2. Find the needed channel and click the "Edit" button
  3. Change parameters:
  4. Title — can change the display name
  5. Logo — upload new image
  6. EPG Source Name / EPG Channel Name — change link to program guide
  7. 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 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

  1. Open the channel list
  2. Find the channel to delete
  3. Click the "Delete" button
  4. 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

  1. Create an EPG source in the EPG Sources section
  2. Specify the URL of the XML file with the program guide
  3. Start synchronization of EPG data
  4. In the channel settings, specify:
  5. epgSourceName — name of the created EPG source
  6. epgChannelName — 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 the id or display-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:

  1. Create a channel in Catena with the name sport-premium
  2. Upload the channel logo
  3. Configure EPG link (if program guide is available)
  4. Add the channel to one or more packages
  5. 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:

  1. Prepare CSV or JSON with channel data
  2. Create a script for automatic channel creation via API
  3. Upload logos for each channel
  4. Configure EPG mapping
  5. Group channels into thematic packages

Updating EPG for Channels

Task: Change EPG source for a group of channels

Steps:

  1. Create a new EPG Source with current data
  2. Update channels, specifying the new epgSourceName
  3. Check the correctness of epgChannelName mapping
  4. Start EPG update

Channel Rebranding

Task: Change channel name and logo

Steps:

  1. Open channel editing
  2. Update the title field with the new name
  3. Upload a new logo
  4. Save changes
  5. 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:

  1. Check that the channel is added to a package
  2. Make sure the subscriber is subscribed to this package
  3. 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:

  1. Open the XML EPG and find the correct channel identifier
  2. Update epgChannelName in the channel settings
  3. Start forced EPG update
  4. 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)

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