Accurate.Video

Accurate.Video adds the applications Validate, Poster and Edit to Cantemo. More information about Accurate.Video can be found at https://accurate.video

Note

This product is licensed separately through Codemill

Installing Accurate.Video

The component for Accurate.Video is installed by default, but can also be installed separately:

./setup --components=accurate_video

To enable the Accurate.Video plugin, either run the following commands:

/opt/cantemo/portal/manage.py enable_portal_apps se.codemill.portal.av_core
systemctl restart portal.target

or go to the System Overview page in Cantemo, click the button to enable the plugin, and then restart Cantemo.

Upgrading Accurate.Video

The Accurate.Video component can be upgraded separately:

./setup --upgrade --components=accurate_video

Defaults in the Accurate.Video user interface settings (settings.js) and it’s Vidispine Adapter settings (accurate-player-adapter-vidispine-settings.sh) may change between versions. Use this command to apply latest defaults:

/opt/cantemo/portal/manage.py accurate_video_settings --update-settings

Note

This will overwrite any custom settings in both these files. The command will backup the old files and prints out the filenames so you can reapply custom changes.

Then finally use this to restart the new back-end version:

/opt/cantemo/portal/manage.py accurate_video_settings --recreate-container

Accurate.Video Application Settings

settings.js

Accurate.Video applications use settings from /opt/cantemo/portal/portal/plugins/av_core/media/assets/json/settings.js. This file needs to be modified for customized setup.

The default setup shows non-timed metadata from the Film group, and uses the AvMarker metadata group for markers (SubClips in Cantemo).

The metadata field av_asset_status is used to store Status from Validate. It is reusable, meaning that the same field can be used in other metadata schemas.

Available status values are defined by assetStatus.statuses - the set of values in settings.js should match the choices defined for this field in Cantemo Metadata Manager.

To refer to metadata fields in subgroups, use the notation <Subgroup name>\metadata_field_id. Note that \ becomes \\ when JSON encoded. For example if av_asset_status is used in a subgroup called QcStatus use this in settings.js:

assetStatus: {
  statusMetadataFieldName: "QcStatus\\av_asset_status",
  ...

Additionally other metadata fields from the groups AvAdBreak, AvAsset, AvEditTimeline are used by the applications.

forms.defaultAsset defines the non-timed metadata shown in Validate.

markers can be used to define custom marker tracks and their metadata.

render.presets defined what shape tags are available for rendering from Accurate.Video Edit.

For more information, see https://docs.accurate.video/docs/install-setup/frontend-configurations/

accurate-player-adapter-vidispine-settings.sh

Accurate.Video settings for the back-end adapter component are in /etc/cantemo/portal/accurate-player-adapter-vidispine-settings.sh. If any changes are made, they need to be applied with:

/opt/cantemo/portal/manage.py accurate_video_settings --recreate-container

Generally this file does not need to be changed.

However a change is needed when working videos that have non-zero start timecode and with timed metadata where timespan includes video start time, i.e. first frame = video start timecode. This includes timed metadata from the deprecated Annotation Tool. AP_ADAPTER_VIDISPINE_METADATA_START_TC is the setting for that - it should list all metadata groups that are treated as having start such timebase.

For example:

AP_ADAPTER_VIDISPINE_METADATA_START_TC=CantemoAnnotation,MyAnnotationGroup

… would make the apps treat markers with either CantemoAnnotation or MyAnnotationGroup metadata group as having timebase such that first frame = starttime code of media.

Audio Waveforms - Analyze Jobs

Accurate.Video displays audio waveforms for video and audio media. The waveform data is created in Vidispine with an ANALYZE job.

Installing or upgrading Accurate.Video adds the following jobsteps to Vidispine to automatically get an audio waveform for video and audio items that are ingested to a system:

"AUTO_IMPORT" - step 401
"CONFORM" - step 401
"ESSENCE_VERSION" - step 753
"PLACEHOLDER_IMPORT" - step 601
"RAW_IMPORT" - step 653
"TRANSCODE" - step 201

If you run this ANALYZE job separately in your workflow you can delete these steps. These steps are also removed when the “Accurate.Video Plugin” is disabled from System Settings.

To prevent the creation of these steps altogether, add AV_CORE_PLUGIN_CREATE_ANALYZE_JOBSTEPS = False to localsettings.py.

Media ingested before Accurate.Video was added to the system will not by default have waveforms. To generate them, there is a Rules Engine 3 script called av_audio_analyze.py that can be automatically triggered for example using a Saved Search rule.

Accurate.Video System Components

Accurate.Video on Cantemo contains two main components: 1) The front-end JavaScript application, which is served from Cantemo Nginx under /av/. 2) And a back-end component called Accurate Player Vidispine Adapter. It is a light-weight docker container that locally adapts Accurate.Video requests to Vidispine. The APIs from this container are also served by Cantemo Nginx, under the path /AVAPI/.

The container logging can be seen with the following command:

sudo docker logs accurate-player-adapter-vidispine -f

The container is setup using the accurate_video_settings management command, see Installing Accurate.Video.