Cerify integration [VC 21.3 GEN]
The Cerify plugin allows Vidispine to integrate with Cerify from Tektronix. The plugin allows video files to be analyzed by Cerify during their import. RAW_IMPORT PLACEHOLDER_IMPORT ESSENCE_VERSION and AUTO_IMPORT are supported.
Installation
-
Configure Cerify. The minimum configuration required is the creation of a
MediaLocation
with a path that is shared between Cerify and Vidispine storage, and the creation of a Profile. The profile may be empty. -
Configure the plugin by creating a Cerify resource containing the Cerify settings, by making a
POST
request toAPI/resource/cerify
containing:HTML/XML<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ResourceDocument xmlns="http://xml.vidispine.com/schema/vidispine"> <cerify> <address>http://cerifyserver.example.com:80/CeriTalk?wsdl</address> <mediaLocation> <name>Name of Media Location</name> <storageMethod>VX-6</storageMethod> </mediaLocation> <cleanup>false</cleanup> </cerify> </ResourceDocument>
The elements are:
address
-
The URL of the Cerify web service.
mediaLocation
-
One or many media locations. If many media locations are configured, the storage method where the file is stored will determine which one to use.
name
-
The name of the media location. A media location with this name must be configured in Cerify.
storageMethod
-
The storage method that contains the files that should be analyzed by Cerify. Must be on a file system accessible by Cerify through the path configured in the corresponding media location.
cleanup
-
If set to true, jobs and media sets will be removed from Cerify after completion.
-
Update the task definition document by inserting a Cerify step at the appropriate position by making a
POST
request toAPI/task-definition
containing something similar to:HTML/XML<TaskDefinitionListDocument xmlns="http://xml.vidispine.com/schema/vidispine"> <task> <description>Executing Cerify job</description> <extradata>f</extradata> <flags>12</flags> <bean>CerifyJobBean</bean> <method>analyzeFile</method> <step>250</step> <dependency> <step>0</step> <previous>false</previous> <allPrevious>true</allPrevious> </dependency> <parallelDependency> <step>0</step> <previous>false</previous> <allPrevious>false</allPrevious> </parallelDependency> <jobType>RAW_IMPORT</jobType> <cleanup>false</cleanup> <critical>true</critical> </task> </TaskDefinitionListDocument>
Note: for ESSENCE_VERSION, the Cerify job step should run after step 400; for AUTO_IMPORT, the Cerify step should run after step 200.
Usage
The Cerify profile to use when analyzing a file is specified using the jobmetadata
query parameter.
Import a file and let Cerify analyze it using the Cerify profile named mpeg2 PAL
:
curl -X POST -u admin:admin --data-binary @test_file.mpg 'http://127.0.0.1:8080/API/import/raw?throttle=false&jobmetadata=cerifyProfile%3Dmpeg2%20PAL'
For AUTO_IMPORT job, the job metadata can be set in the AutoImportRuleDocument. For example:
<AutoImportRuleDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<tag>mp4</tag>
<jobmetadata>
<field>
<key>cerifyProfile</key>
<value>Vidispine test profile</value>
</field>
</jobmetadata>
</AutoImportRuleDocument>
When the file is being analyzed by Cerify there will be progress information available in the job. The metadata key is cerifyProgress
and the value will be an integer between 0 and 100.
Use the cerifyPriority
job metadata field to set the Cerify job priority (LOW, MEDIUM, HIGH). For example:
curl -X POST -u admin:admin --data-binary @test_file.mpg 'http://127.0.0.1:8080/API/import/raw?throttle=false&jobmetadata=cerifyProfile%3Dmpeg2%20PAL&jobmetadata=cerifyPriority%3DHIGH'
Output
Upon completion the results from Cerify is added to the shape as bulky metadata. The following fields are available. Note that cerify_alerts
might not always be present and its absence means that Cerify did not detect any problem with the file.
<URIListDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<uri>cerify_alert</uri>
<uri>cerify_jobinfo</uri>
<uri>cerify_streaminfo</uri>
</URIListDocument>
The element cerify_alerts
contains all alerts produced by Cerify. Example:
<field start="466@3082500:128557" end="466@3082500:128557">
<key>cerify_alert</key>
<maps>
<map>
<entry key="alertFrame">http://10.185.0.7:80/ViewFrame.do?&jobmediafile=115&frame=467&audio=false&small=true</entry>
<entry key="alertId">22015</entry>
<entry key="details">In Main profile / Main level, the maximum permitted value of f_code[0][1] in a frame picture is 5. In the current picture it has been set to 7. Stream position: 0x7cf812 (dec. 8189970), bit 7 Bitstream context: [VSQ|PCX]</entry>
<entry key="level">error</entry>
<entry key="location">00:00:15;16 frame 467</entry>
<entry key="title">Invalid f_code</entry>
<entry key="trackId">-1</entry>
<entry key="type">video</entry>
<entry key="url">http://10.185.0.7:80/protected/AlertDetails.do?job=107&jobmediafile=115&frame=467&alertid=1383&trackId=-1</entry>
</map>
</maps>
</field>
cerify_streaminfo
contains general information about the analyzed file, such as peak volume level, frame rate, etc.
See the following documents for for more complete examples of metadata documents produced by this plugin: