UTC Add

Warning

This plugin has been deprecated. The same functionality can be obtained by making use of the descriptor_add plugin (see Included Use Cases). You can still use this plugin but in future versions of Unified Origin it may be removed. Migration is highly recommended.

You can activate this plugin with the string manifest_edit.plugins.mpd.utc_add.

This plugin adds one "UTC Timing Descriptor" (as in 5.8.4.11 of the ISO23009-1 standard) to the manifest.

Several possible UTC Timing Schemes are possible (as in 5.8.5.7 of the ISO23009-1 standard), each with its own schemeIdURI and corresponding syntax for the value field.

The uct_add plugin needs to be configured to specify exactly what Scheme and Value pair will be added to the manifest. This is done by specifying a pair :yaml:` <scheme>: <value>` in the configuration section of the Pipeline Configuration file.

mpd:
- manifest_edit.plugins.mpd.utc_add:
    <scheme>: <value>
    <scheme>: <value>
    [...]

where <scheme> can be one of the following strings:

  • http-iso

  • http-xsdate

  • http-ntp

  • ntp

  • http-head

  • direct

Each of the above string strictly correspond to one possible legal values for the schemeIdURI field, i.e. ntp will generate a urn:mpeg:dash:utc:ntp:2014 schemeIdURI, http-xsdate will generate urn:mpeg:dash:utc:http-xsdate:2014 and so on.

The <value> field must be provided by the user and will be used "as-is" by the utc_add plugin. There will be no syntax or validity check performed, so any error in this field may lead to an unusable manifest.

An exception to these rules is present when using the direct value for the <scheme> field. In this case any provided <value> fields will be ignored (but one is still required for the configuration to be valid, '' is recommended), and the plugin will add the current UTC wall-clock time, at manifest generation time, using python strftime format '%Y-%m-%dT%H:%M:%SZ' (i.e. 2020-09-02T12:46:58Z).

At runtime, if the plugin detects the presence in the manifest of an UTCTiming element which is identical (i.e. same schemeIdUri, same value) to one specified in the configuration file, it will emit a warning and ignore the element, to avoid creating a useless duplicate.

Tip

It is perfectly legal to have a manifest with more than one UTCTiming element. The standard specifies If multiple schemes are specified by the Media Presentation author, their order indicates their relative preference, first having the highest, and the last having the least priority.

You can find additional examples of configuration in the Included Use Cases chapter.