Vidispine
Subtitles [INT ENT 21.4 ARC]
VidiCore stores subtitles in item metadata using the pre-defined field group stl_subtitle
. This matches the Enterprise MAM concept of Segment Lists [INT ENT 21.4 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 subtitlesjobmetadata=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>
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>
Mechanisms for storing further subtitle dimensions (e.g. like subtitles with audio description for hearing-impaired) need to be defined.