OpenTV ENTera & OpenTV Platform Documentation

Using DVB triplet information to get channel metadata

Overview

OpenTV Video Platform's Metadata Service (MDS) provides DVB triplet information in the channel metadata that it provides.

This allows client devices to match broadcast channels to the corresponding metadata provided by MDS and thus enhance the information about the channel that is presented to the user.

DVB triplet format

A DVB triplet consists of the following identifiers that, when used together, provide a means to uniquely identify a DVB service (channel):

  • Original Network ID

  • Transport Stream ID

  • Service ID

For matching purposes, the identifiers can be referenced individually or (more typically) have some friendly convention applied. OpenTV Platform uses a full stop delimited concatenation of the three values as the triplet identifier.

This is shown in the following example:

Field

Example value

Resulting DVB ID

Original Network ID

8442


8442.4.257

Transport Stream ID

4

Service ID

257

Other conventions are also used in the industry. For example, the three values are sometimes converted into four-byte hex values that are then concatenated to form a 12-byte hex string:

Field

Value

Hexadecimal Value

DVB ID

Original Network Id

8442

20FA


20FA00040101

Transport Stream Id

4

0004

Service Id

257

0101

OpenTV Video Platform currently only supports the full stop delimited format described above.

Querying MDS

To query MDS for a list of channels, use the MDS Services API.

You can then parse the response for channels that match the DVB triplets of the identified available broadcast channels. The dvbinfo block provides this information for each editorial channel for which a DVB triplet is defined.

For example:

{
  "total_records": 1,
  "services": [
    {
      "editorial": {
        "id": "GLOBAL_140",
        "dvbinfo": {
          "nid": 1234,
          "triplet": {
            "onid": 156,
            "tsid": 8100,
            "sid": 257,
            "uid": "156.8100.257"
          }
        }
      },
      "technical": {
        "id": "GLOBAL_140_D"
        }

      ...

      }
    }
  ]
}

You can also filter on a DVB triplet to get just the metadata for a specific channel. For example:

 https://<host>:<port>/metadata/delivery/<provider>/btv/services?filter={"editorial.dvbinfo.triplet.uid":"156.8100.257"}&fields=["Title","tvChannel","dvbinfo"]&offset=0&limit=10

See also

For full details of this API, see Metadata Server (MDS) API Documentation.