OpenTV ENTera & OpenTV Platform Documentation

Handling duplicates

Overview

The way that OpenTV Platform handles duplicates is configurable.

It determines which content items are duplicates using content link identifiers and, where configured, additional external identifiers such as IMDb IDs.

It is the operator’s responsibility to ensure that the required IDs are available in content metadata.

For each duplicate content item, it ranks the duplicates according to its configuration and picks one as the master asset.

Duplicate selection is performed in two stages:

  1. Content type priority determines which content type is preferred (for example, VOD over catch-up).

  2. Scoring rules determine which asset is preferred when multiple duplicates exist within the selected content type.

Client behaviour

When a client makes a search query, it can specify whether to return:

  • Only the master asset

  • The master asset and a specified number of next-best alternatives

  • The master asset and all the available alternatives

For the last two options, alternative assets are returned in the same order used to determine the master asset, based on the configured content type priorities, scoring rules, and scoring mode.

If the client does not specify how many results to return, the default number of results is returned. By default, this is 100, but can be changed by NAGRAVISION if required (see Configuration, below).

Rails

Duplicate handling is also applied to certain types of dynamic rail content. When duplicates are found, only the master asset is included in the rail.

For the following types of dynamic content, only the master asset will be included in the rail:

Configuration

NAGRAVISION can configure the following for you:

  • Content type priority

  • Scoring and ranking rules

  • The default number of ranked results returned by a search query (initially set to 100)

These are explained in more detail below.

Content type priority

This determines which type of content gets priority when deciding which content is the master asset.

This is specified as a list, with the first item getting the highest priority, the second item getting the second-highest priority, and so on.

For example:

JSON
{
  "priority": [
    "vod",
    "deeplink_vod",
    "catchup",
    "deeplink_catchup",
    "event",
    "deeplink_event"
  ]
}

Scoring and ranking rules

For each of the configurable criteria, a weighting can be assigned for each possible value to determine the score for each duplicate content item. This, in turn, determines which one is selected as the master asset.

Note that this is used to determine the ranking within content type groups.

The criteria are:

  • Preferred provider (e.g., Netflix, Prime Video, or operator VOD catalogue)

  • Video quality (UHD, HD, and SD)

  • Availability window

  • Description richness (length)

  • Airing time

  • Channel preference

  • Original content flag

For example:

JSON
{
  "rules": {
    "provider": {
      "values": {
        "OperatorSVOD": 100,
        "PrimeVideo": 80
      }
    },
    "quality": {
      "values": {
        "UHD": 100,
        "HD": 70,
        "SD": 40
      }
    }
  }
}

Example

This example uses the sample configurations above.

We have three duplicates of the same content:

  • Content A:

    • Content type: vod

    • Provider: OperatorSVOD

    • Quality: HD

  • Content B:

    • Content type: vod

    • Provider: PrimeVideo

    • Quality: HD

  • Content C:

    • Content type: deeplink_vod

    • Provider: OperatorSVOD

    • Quality: UHD

The ranking for these will be as follows (most preferred to least preferred):

  • Content A (master asset) – because it has a higher-priority content type and its provider scores higher than Content B’s provider

  • Content B – because it also has a higher-priority content type, but its provider scores lower than Content A’s

  • Content C – because its has a lower-priority content type, even though it has high-scoring provider and quality

Content C is ranked lower than Content A and Content B because it has a lower-priority content type, even though its calculated score (according to the rules) is higher than that of Content A and Content B.

Content A and Content B have the same content type. Within this content type, Content A has a higher score because OperatorSVOD scores higher than Content B’s PrimeVideo, while they both have the same quality score.

Content type priority decides which type of asset can win. Scoring rules decide which asset wins within that type.

The recommended strategy is to discuss your requirements with NAGRAVISION, who will then configure duplicate handling, test how it works in your staging environment, and iterate and tweak the configuration to achieve the desired behaviour before deploying to production.

See also