External transcoders

Using the external transcoder support in Vidispine it is possible to use transcoders from other companies, or to perform transcodes in other ways. This is done using watch folders.

  • With transcoders that support watch folders directly, it’s simply a matter of configuring both Vidispine and the external transcoder to use the same watch folder.
  • Transcoders that do not support watch folders can still be integrated with by writing a service that monitors the watch folder and sends transcode request to the external transcoder accordingly.

Important

  • It is not possible to transcode using the Vidispine transcoder and an external transcoder at the same time.
  • It is only possible to transcode using one external transcoder shape tag at the time.
  • Only local file system (file://) methods are supported at the time, which means that both the Vidispine storage and the external transcoder folders must be local.

How it works

When starting an import or transcode job, Vidispine will check if the given shape tag is defined to be handled by an external transcoder. If it is, then the source file (e.g. the original essence of the item) will be copied to the transcoder’s watch folder (e.g. <source> the external-transcoder ResourceDocument); then the job waits for a file/files to appear in the destination folder (e.g. <destination> in ResourceDocument), and perform the rest steps. Note: only the transcode step is handled by the external transcoder.

Filename pattern

It is mandatory to define a filename pattern (a.k.a <regex>) in the external transcoder resource to control what files the job should look for. In order to support multiple transcodes at the same time, the regex will be prefixed using the file name of the essence automatically. That is:

If the original essence file name is VX-100, and the regex is .*output.*, then vidispine will look for files matching \QVX-100\E.*output.*.

Timeout

A timeout can also be specified. The default timeout is 30 seconds, which means that the output file must appear in the destination folder and stop growing within this timeout, or the transcode step will be marked as failed.

Adding an external transcoder

Add an external transcoder by creating an externalTranscoder resource using POST /resource.

POST /resource/externalTranscoder/
Content-Type: application/xml

<ResourceDocument xmlns="http://xml.vidispine.com/schema/vidispine">
    <externalTranscoder>
        <source>file:///C:/externalTranscoder/source/</source>
        <destination>file:///C:/externalTranscoder/destination/</destination>
        <shapeTag>external-format</shapeTag>
        <timeout>60000</timeout>
        <regex>.*demo.*</regex>  <!-- Since Vidispine 4.0 -->
   </externalTranscoder>
</ResourceDocument>

Using an external transcoder

Before starting a transcode, make sure the shape tag in the example, has been defined in an external transcoder resource.

POST /shape-tag/external-format
Content-Type: application/xml

<TranscodePresetDocument xmlns="http://xml.vidispine.com/schema/vidispine">
  <format>mp4</format>
  <audio></audio>
  <video></video>
</TranscodePresetDocument>

The external transcoder is supported in AUTO_IMPORT and at the following requests