VidiCore stores subtitles in item metadata using the pre-defined field group stl_subtitle. This matches the Enterprise MAM concept of Segment Lists [C ARC] as well on a conceptual as on a technical level.

As subtitles are stored as regular metadata groups and fields in VidiCore, they can be added, changed, and deleted like any other metadata fields or groups.

Subtitles can also be imported and exported via the mechanisms supported by VidiCore. Additional subtitle formats may to be integrated as long as that the same data structures are used within VidiCore.

The original subtitle file is not managed in an Enterprise MAM Solution. VidiCore subtitle metadata groups are the source of truth and duplicating data should be avoided. This also avoids inconsistencies between subtitle metadata in VidiCore and the subtitle file in case the metadata groups are changed via VidiCore’s API.

If there are subtitles with different languages on an item, the language can be stored in the lang property of the stl_text field by specifying the language of the subtitles contained on the sidecar import job using the jobmetdata query parameter, e.g.:

  • jobmetadata=subtitleLanguage%3den for English subtitles

  • jobmetadata=subtitleLanguage%3dde for German subtitles

This will add values to the stl_text field with the property lang=<lang code>.

The lang property is defined in this XSD:

    <xs:complexType name="MetadataValueType">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attributeGroup ref="tns:MetadataValueAttributes"/>
                <xs:attribute name="lang" type="xs:language" use="optional"/>
                <xs:attribute name="id" type="xs:string" use="optional"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
CODE

This example for a raw sidecar import of an STL file shows that the lang attribute is applied to the values of all fields of a group:

        <timespan start="813@PAL" end="1001@PAL">
            <group uuid="d74b4ebf-8ae1-4bc5-8537-1f09f81ccd97" user="system" timestamp="2019-12-17T10:10:19.411Z" change="VX-180">
                <name>stl_subtitle</name>
                <field uuid="663e6b3e-a863-4200-b662-6ed2d770bd17" user="system" timestamp="2019-12-17T10:10:19.411Z" change="VX-180">
                    <name>stl_vertical</name>
                    <value lang="de" uuid="f1a12a2e-194f-40cf-ab44-069d186495aa" user="system" timestamp="2019-12-17T10:10:19.411Z" change="VX-180">18</value>
                </field>
                <field uuid="ab06471e-b051-412e-8e16-dc5b6f4026dd" user="system" timestamp="2019-12-17T10:10:19.411Z" change="VX-180">
                    <name>stl_justification</name>
                    <value lang="de" uuid="967c9d59-19d0-4a0d-a3b5-fab45331d763" user="system" timestamp="2019-12-17T10:10:19.411Z" change="VX-180">left</value>
                </field>
                <field uuid="6635be65-f778-4f95-b510-50de538bf1ec" user="system" timestamp="2019-12-17T10:10:19.411Z" change="VX-180">
                    <name>stl_text</name>
                    <value lang="de" uuid="9c83599d-97a6-4515-b3a0-e50873b386ae" user="system" timestamp="2019-12-17T10:10:19.411Z" change="VX-180">Las Vegas. Det er mørkt. Vinden suser
i træerne, og regnen slår ned på de
øde gader i villakvartererne.
</value>
                </field>
                <field uuid="5942e9f0-488b-4225-b217-50482bf1f26d" user="system" timestamp="2019-12-17T10:10:19.411Z" change="VX-180">
                    <name>stl_tti</name>
                    <value lang="de" uuid="c393c1ae-f903-437e-adb7-ad6cad7877de" user="system" timestamp="2019-12-17T10:10:19.411Z" change="VX-180">{"ebn":"255","cs":"0","tfs":".6a","tco":"1001","cf":"0","jc":"1","vp":"18","sgn":"1","sn":"1","tci":"813"}</value>
                </field>
            </group>
        </timespan>
CODE

Mechanisms for storing further subtitle dimensions (e.g. like subtitles with audio description for hearing-impaired) need to be defined.