Cerify integration¶
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
MediaLocationwith 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
POSTrequest toAPI/resource/cerifycontaining:<?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:
addressThe URL of the Cerify web service.
mediaLocationOne or many media locations. If many media locations are configured, the storage method where the file is stored will determine which one to use.
nameThe name of the media location. A media location with this name must be configured in Cerify.
storageMethodThe 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.
cleanupIf 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
POSTrequest toAPI/task-definitioncontaining something similar to:<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: