Networked Media Open Specifications

Examples

←Receiver Capabilities · Index↑

This section provides examples of Receiver capabilities expressed using the Constraint Sets defined by this specification.

Audio

Consider an uncompressed audio RTP receiver, that is represented by the following simple IS-04 Receiver resource:

{
  "id": "6605bf77-f95b-5d12-bbd7-8c4f98b79b25",
  "version": "1605275841:891227800",
  "label": "",
  "description": "",
  "tags": {
  },
  "device_id": "7652d792-e99f-57ff-a540-faccbf36a3a2",
  "transport": "urn:x-nmos:transport:rtp.mcast",
  "format": "urn:x-nmos:format:audio",
  "interface_bindings": [
    "eth0"
  ],
  "subscription": {
    "active": false,
    "sender_id": null
  },
  "caps": {
    "media_types": [
      "audio/L24",
      "audio/L16"
    ]
  }
}

This resource indicates via the transport and format that it represents an audio RTP receiver. The media_types capability is used to indicate that it supports both ‘audio/L24’ and ‘audio/L16’ uncompressed audio.

However, none of these attributes defined in IS-04 are able to express that the receiver can handle a limited number of audio channels, and that the maximum number depends on the packet time.

Using the mechanism defined by this specification and the audio Parameter Constraints listed in the Capabilities register of the NMOS Parameter Registers, the receiver’s constraints can be expressed by including a constraint_sets attribute in the caps object, accompanied by a version attribute to indicate when the caps last changed.

The following example caps object indicates the additional constraints of 48 kHz audio and a maximum of 16 channels with 125 microsecond packet time, or 8 channels with 1 millisecond packet time.

  "caps": {
    "media_types": [
      "audio/L24",
      "audio/L16"
    ],
    "constraint_sets": [
      {
        "urn:x-nmos:cap:format:channel_count": {
          "maximum": 16
        },
        "urn:x-nmos:cap:format:sample_rate": {
          "enum": [
            { "numerator": 48000, "denominator": 1 }
          ]
        },
        "urn:x-nmos:cap:transport:packet_time": {
          "enum": [ 0.125 ]
        }
      },
      {
        "urn:x-nmos:cap:format:channel_count": {
          "maximum": 8
        },
        "urn:x-nmos:cap:format:sample_rate": {
          "enum": [
            { "numerator": 48000, "denominator": 1 }
          ]
        },
        "urn:x-nmos:cap:transport:packet_time": {
          "enum": [ 1 ]
        }
      }
    ],
    "version": "1605272395:492335100"
  }

For the full example, see: examples/receiver-audio.json

ST 2110-30 Conformance Levels

SMPTE ST 2110-30 defines Conformance Levels for audio Receivers.

For an example of how a Receiver can indicate that it supports a specific Conformance Level, see: examples/receiver-audio-level-bx.json

Video

The mechanism defined by this specification and the video Parameter Constraints listed in the Capabilities register of the NMOS Parameter Registers can fully represent the video formats and format groups defined by VSF TR-05 for interoperability of ST 2110-20.

The following sub-sections provide some examples of how specific formats or format groups can be indicated.

720p59.94 Format

In this example, the fixed parameter values for this format are defined.

  "caps": {
    "media_types": [
      "video/raw"
    ],
    "constraint_sets": [
      {
        "urn:x-nmos:cap:meta:label": "720p59.94 Format as per VSF TR-05:2018",
        "urn:x-nmos:cap:format:frame_width": {
          "enum": [ 1280 ]
        },
        "urn:x-nmos:cap:format:frame_height": {
          "enum": [ 720 ]
        },
        "urn:x-nmos:cap:format:interlace_mode": {
          "enum": [ "progressive" ]
        },
        "urn:x-nmos:cap:format:grain_rate": {
          "enum": [
            { "numerator": 60000, "denominator": 1001 }
          ]
        },
        "urn:x-nmos:cap:format:color_sampling": {
          "enum": [ "YCbCr-4:2:2" ]
        },
        "urn:x-nmos:cap:format:component_depth": {
          "enum": [ 10 ]
        },
        "urn:x-nmos:cap:format:transfer_characteristic": {
          "enum": [ "SDR" ]
        },
        "urn:x-nmos:cap:format:colorspace": {
          "enum": [ "BT709" ]
        }
      }
    ],
    "version": "1605272395:492336200"
  }

1080i Format Group

This format grouping has two members, 1080i50 and 1080i59.94. If a receiver fully implements the group and is currently able to receive either format, a single Constraint Set is able to express this.

  "caps": {
    "media_types": [
      "video/raw"
    ],
    "constraint_sets": [
      {
        "urn:x-nmos:cap:meta:label": "1080i Format Group as per VSF TR-05:2018",
        "urn:x-nmos:cap:format:frame_width": {
          "enum": [ 1920 ]
        },
        "urn:x-nmos:cap:format:frame_height": {
          "enum": [ 1080 ]
        },
        "urn:x-nmos:cap:format:interlace_mode": {
          "enum": [ "interlaced_tff" ]
        },
        "urn:x-nmos:cap:format:grain_rate": {
          "enum": [
            { "numerator": 25, "denominator": 1 },
            { "numerator": 30000, "denominator": 1001 }
          ]
        },
        "urn:x-nmos:cap:format:color_sampling": {
          "enum": [ "YCbCr-4:2:2" ]
        },
        "urn:x-nmos:cap:format:component_depth": {
          "enum": [ 10 ]
        },
        "urn:x-nmos:cap:format:transfer_characteristic": {
          "enum": [ "SDR" ]
        },
        "urn:x-nmos:cap:format:colorspace": {
          "enum": [ "BT709" ]
        }
      }
    ],
    "version": "1605272395:492336200"
  }

High Definition Category

TR-05 defines a high definition category that consists of the three format groups, 720p, 1080i and 1080p.

A receiver could indicate support for the whole category using three Constraint Sets.

    "constraint_sets": [
      {
        "urn:x-nmos:cap:meta:label": "720p Format Group as per VSF TR-05:2018",
        ...
      },
      {
        "urn:x-nmos:cap:meta:label": "1080i Format Group as per VSF TR-05:2018",
        ...
      },
      {
        "urn:x-nmos:cap:meta:label": "1080p Format Group as per VSF TR-05:2018",
        ...
      }
    ]

For a full example of a receiver that supports the 1080i and 1080p format groups, see: examples/receiver-video-1080.json

Support for the formats in the ultra high definition category can be indicated similarly.

Type N, W and A Video Receivers

Receivers are informatively categorized in ST 2110-21 as Type N, Type W and Type A.

For example, Type N receivers can be expected to correctly receive a stream originating from either a Type N or Type NL sender, provided that the receiver is locked to the same clock as the sender. This could be indicated by adding the following Parameter Constraint to each Constraint Set.

        "urn:x-nmos:cap:transport:st2110_21_sender_type": {
          "enum": [
            "2110TPN",
            "2110TPNL"
          ]
        }

Substreams

The following example shows a mux MPEG 2 transport stream Receiver exposing substream constraints.

{
  "id": "9dd002e2-76a0-4edc-88ef-7d4aff4b2d26",
  "transport": "rtp",
  "format": "mux",
  "caps": {
    "media_types": [
      "video/MP2T"
    ],
    "constraint_sets": [
      {
        "urn:x-nmos:substreams": [
          {
            "description": "hi-res video profile",
            "format": "urn:x-nmos:format:video",
            "count": {
              "enum": [
                1
              ]
            },
            "constraint_sets": [...]
          },
          {
            "description": "proxy video profile",
            "format": "urn:x-nmos:format:video",
            "count": {
              "minimum": 0,
              "maximum": 1
            },
            "constraint_sets": [...]
          },
          {
            "description": "audio profile",
            "format": "urn:x-nmos:format:audio",
            "count": {
              "enum": [
                0,
                2,
                4
              ]
            },
            "constraint_sets": [...]
          }
        ]
      },
      {
        "urn:x-nmos:substreams": [...]
      }
    ]
  }
}

←Receiver Capabilities · Index↑