Motivation

When using S4M Transcoder and VidiStream in an Enterprise MAM Solution, the transcoder creates additional files besides the proxy file. A prominent example is the vol file containing audio volume information used by the proxy player. Another example is the common index file which improves scrubbing and navigation performance in VidiStream. See Multimedia Content Delivery with VidiStream for more details.

Workflow

As both files cover the whole timespan of the video they can safely be stored on the item representing the whole asset without violating the VidiCore data model.

Vol file and common index file closely belong to the proxy video so it even makes sense to store them at the proxy shape. The proper way in the VidiCore data model is to attach binary components to the proxy shape - where there already exist container, audio, and video components for the proxy video itself. While container, audio, and video components are pointing to the same physical video file, the binary components for vol file and common index file point to separate files each.

Storing these files on the proxy shape has the additional advantage that no additional housekeeping mechanisms need to be implemented. All files on a shape are deleted when the shape is deleted – regardless of the component type and the number file physical files behind them.

For attaching vol or common index file to an existing shape:

  • Create a VidiCore file entity for the vol or common index file.

  • Write the file to the physical storage.

  • Create a placeholder component on the existing proxy shape:
    POST /API/item/<itemId>/shape/<proxyShapeId>/component/placeholder

  • Associate the file entity with this component:
    PUT /API/item/<itemId>/shape/<proxyShapeId>/component/<componentId>/file/<fileId>

  • Set the correct usage type:

PUT /API/item/<itemId>/shape/<shapeId>/component/<componentId>/metadata

<SimpleMetadataDocument xmlns="http://xml.vidispine.com/schema/vidispine">
    <field>
        <key>V3_ComponentUsage</key>
        <value>cix</value>
    </field>
</SimpleMetadataDocument>
CODE
  • When file is copied completely, change the state of file entity to CLOSED via
    PUT /API/storage/file/<fileId>/state/CLOSED.

These values for V3_ComponentUsage are currently defined:

Value

Meaning

cix

Common Index file for StreamingServer

vol

Vol file for StreamingServer

If you create the proxy shape via the method described in Create Shape On Placeholder Item (w/o Physical File Access) [GL IG] you should add the binary component(s) for vol and/or common index file directly to your ShapeDocument. Details for the component document need to be considered, but it’s important to add the correct key-value metadata as described above.