Motivation

In an Enterprise MAM Solution you often need segment lists. Segment lists are a collection of segments. Each segment in refers to a certain timecode interval on the timeline of a an asset. Different segment lists refer to different content types. There may be segment lists for Subtitles [ENT 21.1 ARC], for game events (like goals, fouls, off-sides, etc.), for results of different AI-based content analysers, and so on.

To model a similar concept in VidiCore metadata field groups are used. Metadata field groups have a unique name which corresponds to the purpose of the segment list. Each field group can contain different metadata fields which makes modelling shot metadata much very flexible.

The field group names for segment lists follow the standard naming schemes of the Enterprise MAM Solution Metadata Model [ENT 21.1 ARC].

Segments of the same segment list may overlap.

Examples

A segment list definition:

PUT /API/metadata-field/field-group/V3_DemoSegmentList

<MetadataFieldGroupDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <field>
    <name>V3_SegmentTitle</name>
    <type>string</type>
  </field>
  <field>
    <name>V3_SegmentDescription</name>
    <type>string</type>
  </field>
  <field>
    <name>V3_SegmentDetails</name>
    <type>string</type>
  </field>
</MetadataFieldGroupDocument>
CODE

Naming of metadata field groups shall follow the same rules as for metadata fields.

To create a segment from frame 0 to 25:

PUT /API/item/<itemId>/metadata

<MetadataDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <timespan start="0@PAL" end="25@PAL">
    <group>
      <name>V3_DemoSegmentList</name>
      <field>
        <name>V3_SegmentTitle</name>
        <value>Title for segment 0-25</value>
      </field>
      <field>
        <name>V3_SegmentDescription</name>
        <value>Description for segment 0-25</value>
      </field>
    </group>
  </timespan>
</MetadataDocument>
CODE

 Please note that start and end are 0-based values in VidiCore.

To retrieve only metadata for a specified field group:

GET /API/item/<itemId>?content=metadata&group=V3_DemoSegmentList
CODE

This will return timed metadata for this specified field group only (and all non-timed metadata from –INF to +INF).

Important Notes When Migrating From Worker-Based VPMS

Segments were modelled as shots or events in worker-based VPMS. The concept was a bit different as worker-based VPMS had defined, but restrictive database structures for them, whereas von VidiCore the more flexible concept of metadata field groups is used for this purpose.

Some notes on the differences:

  • Shots must not overlap in worker-based VPMS, only events may. VidiCore does not have this restriction.

  • There is no predefined Default Shotlist in an Enterprise MAM Solution as it was in worker-based VPMS. The Default Shotlist often lead to misunderstandings as it never had been clearly defined what the Default Shotlist should contain. In an Enterprise MAM Solution the preferred way to go is to create properly designed segment lists for each specific use-case.

  • The concept of a representative thumbnail for a video (where the default shotlist also was used for in worker-based VPMS) is modelled by VidiCore via the representativeThumbnail metadata field.

  • The term “shotlists” was not re-used for Enterprise MAM solutions for several reasons:

    • “shot” was a very misleading word in the VPMS world already because others understood different things when hearing “shots”.

    • The shot concept in VPMS was rather restrictive (shots must not overlap, restricted metadata set).

    • MediaPortal initially has chosen segments as wording for this concept.

So overall it makes sense to use the MediaPortal wording throughout the whole Enterprise MAM product suite.