Version 4.12

The release notes will tell you what’s new in each version, and any changes that you must be aware of when upgrading. For reference, Vidispine ticket numbers are printed as (#1234).



Bug fixes

  • Vidispine server opening too many UDP sockets when metrics are enabled (#3401).
  • Transcoder may get more jobs than the configured “maxJobs” (#3375).
  • File delete job finishing without removing file from storage (permission error) (#3284).
  • NPE when creating storage without specifying method URI (#3201).




  • Be able to skip auto-refreshing libraries updates after item metadata changes (#3298).
  • Performance improvement on group deleting if a group contains many ACLs (#3270).
  • Use a single S3 “PUT Object” request for small files (#2956).
  • Optimize database query for metadatafield retrieval (#3295).
  • Performance improvements on updating much referenced metadata (#3129).

Bug fixes

  • Thumbnail proxies are wrong when apiurl does not end with /API/ (#3262).
  • Missing subtitle text from imported SCC file (#3242).
  • Incorrect output length when rendering NTSC sequence (#3240).
  • Shiro plugin cannot read form parameters from servlet request (#3195).
  • Fix transcode failure if one of the transcode presets has “noVideo=true” and “noAudio=true” (#2988).
  • Agent name not set properly by vidispine-admin vxa-enable (#2399).




  • Only send transcode cost estimates to Vidinet transcodes that support the source URI scheme (#2969).

Transcoder improvements

  • Enable further codec optimizations (#3079).

Bug fixes

  • Relation already exists error when running db migrate against lastest PostgreSQL (#3084).
  • Better thumbnail handling for videos with varying framerate (#3076).
  • Always use HTTPS for S3 pre-signed urls if S3 Server-Side Encryption is set to “aws:kms” (#3015).
  • Fix APIinit schema update failure if Elasticsearch index already exists (#2996).
  • Fix import cost estimate does not support all URI schemes reported by Vidinet transcoders (#2974).

Transcoder fixes

  • JPG CMYK colorshift when converting to PNG (#2979).




Transcode and shape deduction on import can now be performed using a Vidinet transcoder. This is supported for normal imports as well as for auto-imports. Image transcodes are now also supported, see the Vidinet service documentation for more detail (#2955).

IMF support

The managing of IMF packages (IMP) has been improved.

  • Import of assetmaps with multiple CPLs are supported, and will generate multiple shapes.
  • Essence files are automatically shared between shapes, by matching UUID.
  • Import of Partial IMPs are supported, and matched with existing content.
  • Export of IMP now created up-to-date assetmaps, CPLs, PKLs.
  • Upon export, subsets of virtual tracks can be selected, and single CPLs can be picked.

Transcoder job limit

The number of jobs that may use a specific transcoder at the same time can now be controlled on a per transcoder basis (#2826). For example:

<ResourceDocument xmlns="">

Atempo Digital Archive

Files can now be archived and retrieved using Atempo Digital Archive (#2777).


Additional metrics exposing the online/offline status of storages, agents and resources has been added (#2806), as well as a metrics exposing the size of the cluster when running a clustered deployment (#2784).

Shape/component selection

  • It is now possible to enter shape id when importing to placeholder items with multiple placeholder shapes. This shapeId query parameter has been added to the placeholder import, request body import, passkey, and adopt request.
  • In order to allow for concurrent uploads to components of the same type of a shape, it is now possible to specify index (1-based) of the component. The index query parameter has been added to the request body import and adopt request.
  • When exporting item/library/collection, it is now possible to specify which tracks (components) to export, e.g., if you only want to export audio tracks, see Exports.
  • It is now possible to delete a certain component from a shape.

Component filenames

Essence version management

Transcoder improvements

  • Speed up burn-in-timecode filter (#2928).
  • Prefix all temporary files with transcoder-{pid}- (#2976).
  • MainConcept codec is now used to decode JPEG2000 (J2K).

Other improvements

  • Support for single part upload via request body (#2864).
  • Resumable file listing for VSA and WebDAV storages (#2971).
  • Improve file listing speed of WebDAV storages (#2970).
  • Support for setting headers in the JavaScript http object (#2920).
  • Allow password change using vidispine-admin from scripts (#2947).
  • Support restoring S3 objects in EXPORT jobs (#2873).
  • Differentiate 404 error on non-existing external id namespace (#2860).
  • Be able to prevent VSA from accessing other VSA’s share via vidispine server proxy (#2821).
  • Add file size to checksum log message (#2789).
  • Make file size available for files immediately after transfer has completed (#2787).
  • Expose job information to filename script (#2723).

Bug fixes

  • UnsupportedOperationException when storing thumbnails on Azure (#2975).
  • Vidispine cannot read blobs from Azure when blob type is “Append” (#2949).
  • API/storage/{id}/rescan doesn’t work on systems with port forwarding (#2944).
  • APIinit overwrites customer set solrPath (#2935).
  • vidispine-admin tool doesn’t understand environment variables in server.yaml (#2881).
  • HTTP 500 when deleting a collection or library with multiple storage rules (#2875).
  • Storage methods with custom type not ignored by Vidispine (#2813).
  • Unresolveable hostname in metrics configuration causes HTTP 500 from API requests (#2688).
  • Import of UTF-16 encoded text file fails when file metadata parsing is enabled (#2530).
  • Documentation missing for request/response representations in WADL (#2876).


The Apache Shiro version bundled with Vidispine has been updated to version 1.4.0 (#2884).

Upgrading from 4.11

  • Solr: No changes to the documents. Re-indexing is not required.
  • All media shape deductions from jobs are now performed using asynchronous job steps. A number of new job steps have been added to support this.
    • TRANSCODE, step 400 - Finalizing media check.
    • CONFORM, step 400 - Finalizing media check.
    • AUTO_IMPORT, step 550 - Finalizing media check.
    • AUTO_IMPORT, step 1100 - Finalizing media check.
    • ESSENCE_VERSION, step 800 - Finalizing media check.
    • TIMELINE, step 400 - Creating the entities.
  • To support removal of old essence files, a new job step has been added:
    • SHAPE_IMPORT, step 1000 - Remove old essence files.
  • Make sure to run APIinit when upgrading to create the above mentioned job steps. Any existing custom job steps using these step numbers will be overwritten, so make sure to adjust the step number of any custom job step definitions using these numbers and recreate the custom steps.