Setting up Vantage Integration

Overview

Zoom VideoFX

Zoom High-Res Video Management Release supports a proxy-based High-Res asset management wherein read-only stock/footage files (of typically large size) can reside outside the Zoom repository, and still be accessible to all Zoom users for their regular operations like linking or searching. Please review storage management with Zoom VideoFX from this link. Configuration details for the VideoFX can be found here.

Telestream Vantage Integration

Zoom VideoFX module can delegate to Vantage transcoding system for proxy creation. This is done via Vantage and Zoom API integrations.

Prerequisites

Before configuring the Telestream Vantage machine, please ensure the following prerequisites have been met:

  1. Strawberry Perl distribution version specified here is installed under C:\Strawberry on the Vantage Lightspeed server
  2. Perl modules specified below are installed using CPAN (Strawberry Perl)
  3. Perl automation scripts are copied to C:\zoom-deploy
  4. Ignore this step if DNS is being used instead of hosts file. If hosts file is being used, please ensure Windows hosts file under C:\Windows\System32\drivers\etc has the entries similar to below specified (adjust based on your IP addresses/hostnames):
    1. 10.0.1.78 vantage.evolphinpoc
    2. 10.0.1.81 preview.evolphinpoc
    3. 10.0.1.80 mam.evolphinpoc
    4. 10.0.1.75 essan.evolphinpoc
  5. ES_SAN (SAN Volume shared with Zoom services) is mounted as Z:/ using the mount.bat script if configuring using the default mount path (Z:)
  6. Zoom Windows Client is installed on the Vantage server
  7. Vantage workflows are imported into Telestream:
    1. Hires Ingest
    2. Van_convert_flv
    3. Vantage module/task licenses are installed to allow metadata extraction, notify action and transcoding to be performed using the above workflows

Perl automation setup

Perl Module Installation

Follow the Perl SDK article to Install Perl.

Perl automation scripts

Please copy the integration scripts from a ZIP supplied by Evolphin or if you have access to a pre-built Vantage VM shipped with the demo version of Zoom VideoFX, you can simply copy the C:\zoom-deploy folder:

You only need to copy the lib/ and postVantage/ folders. If using the same configuration as the Evolphin supplied Vantage VM, the configuration is already setup to connect to Zoom MAM server via hostname in etc/hosts file: mam.evolphinpoc

Configuring Post-Vantage Low-Proxy Ingest Hook

For every high-res asset getting “ingested” into Zoom, a job is submitted to the Vantage system from within the post-check-in hook script. This request will be processed by Vantage and a thumbnail, a low-res proxy and a pro-res version of the high-res asset will get generated and placed in appropriate configured locations. Subsequently this post-Vantage hook will check-in the low-res proxy generated herein into the Zoom repository as the second revision on top of the placeholder ingested during the check-in process.

Group NameProperty Name=Sample ValueDescriptionCross-references
[PREVIEWSERVER]reviewServerURL    =http://192.168.0.107:8873Zoom preview server host and portNone
[ENVIRONMENT] zmPath=C:\Program Files (x86)\Evolphin\DAM\bin\zmPath to the Zoom executable in Vantage machineNone 
zoom-install-dir = C:\Program Files (x86)\Evolphin\DAMPath where Zoom is installedNone 
[MOUNTPREFIX]TPMPrefix = /data/psan/tpmPath where the high-res assets will be housed in order to be accessible by all Zoom clients. 

Same as PreHook#TPMPrefix

Same as PostHook#TPMPrefix

archivePrefix=C:\PSAN\ArchiveStagingPrefix to Archive Staging Area 
[VANTAGE]vantageServerURL    =http://192.168.0.89:8676Server Address where Vantage is installedNone 
inPathPrefix=/data/usan/Prefix to HiRes Location as seen in Ingest ServerSame as PostHook#inPathPrefix
outPathMount=T:\Prefix to Vantage Location as seen in the Vantage machine

Same as PostHook#outPathMount

Same as PostHook#proxyOutDir

[VANTAGECONFIG]proResExt=movFile extension of the ProRes to be generated

Same as the ProRes format in Vantage Workflow, 

Zoom.properties #EXTENSIONS_PROXY_MAP

lowproxyExt=mp4File extension of the low-res proxy

Same as low-res proxy format in Vantage Workflow, 

Zoom.properties #EXTENSIONS_PROXY_MAP

thumbExt=.jpgFile suffix and extension of the thumbnail for the low-res proxy

Consumed in Vantage Workflow

proResSuffix=-midresSuffix for midres file when copied to TPM 
[VANTAGEVARIABLES]

thumbOutFileVar       =zoomHiResThumbOutFile

proResOutFileVar          =zoomHiResProResOutFile

h264OutFileVar            =zoomHiResH264OutFile

mediaExtVar                  =zoomMediaExtension

hiResOutputFolderVar  =zoomHiResOutputFolder

postVantageInFileVar                =zoomvoutfile

Required for Vantage processing – DO NOT EDIT

Consumed in Vantage Workflow

Same as corresponding entries in PostHook

METADATA

mdGroupCodes=<<EOL
VDEO
PRVP
NVPR
EOL

Metadata group codes to be updated for proxy files 
midresArchiveJobId=ZPIG_SGL Mid-Res Archive Job IdField to store Job UID returned by SGL for Mid-Res Archive 
midresArchiveStatus=ZPIG_Mid-Res Archive StatusField to store archive status transitions of Mid-Res file 
SGLTargetDir = EDIT_BrandField to use as target directory while archiving to SGL.
The field should be a mandatory metadata field with a drop down
list mapping to SGL’s volumes
 Same as Post Hook
proResFilePathMDField=VDEO_ProRes File PathMetadata field for storing the file path for mid res file. 
ENCODINGwindowsFormat=cp1252  
SGLbaseURL = http://192.168.0.209:11000/flashnet/api/v1 Same as Post Hook
caller = zoom 
verifyFiles = true 
deleteFiles = true 
stagingOutPathMount =\\vantage\PSAN\ArchiveStaging 
ARCHIVEarchiveModule = SGL Same as Post Hook
ARCHIVE STATUSonArchiveSubmit = Archiving to SGL Same as Post Hook
    
Even if the Vantage processing should fail for some reason, the placeholder on the Zoom repository is good enough to let end-users do regular operations like linking with the corresponding high-res assets.

Vantage Workflow Import

Sample Vantage workflows can be obtained either directly from Evolphin support or if you have access to a pre-built Vantage VM shipped with the demo version of Zoom VideoFX, you can simply export these two workflows:

  1. Hires Ingest
  2. Van_convert_flv (not needed if using default converter based on software ffmpeg for preview creation)

The exported workflows can be imported into the Vantage Lightspeed server.

Validating the setup

Validating the notify action

  1. Launch a Windows Powershell terminal and execute the following command:
    >
    C:\Strawberry\perl\bin\perl.exe C:\zoom-deploy\postVantage\ZoomIngest.pl
    PS: The location of Perl executable and postVantage/ may vary based on your installation.
  2. If the modules are installed correctly the script should not error out with missing module warning:

  3. Next, launch the BAT file from the command line and check for any errors:
    > C:\zoom-deploy\postVantage\ZoomIngest.bat

  4. Please note this is not a complete test as the ingest script is invoked at runtime by the Vantage notify action. In production run if the notify fails, please check the log file:  C:\zoom-deploy\logs\postVantage.log for any error messages. If the log file is not created or has no entries when notify action is executed, chances are the BAT file is unable to launch the Perl script due to missing modules or permissions. If so please echo error messages from the BAT file into a temporary log file to see why the Vantage notify action is unable to launch the perl script via the BAT file.

Validating the Zoom client

  1. The zm.exe CLI (command line interface) is used by the above Perl script to invoke various API calls to the Zoom MAM server. The correct version of Zoom client once installed will automatically configure the zm.exe CLI.
  2. To test simply execute zm from the Powershell, you should see a version dump on the terminal with no path errors:
    > zm version
    You should see output similar to below on the console. The client version should be same or compatible with the server version for the Zoom MAM server:

Validating the HiRes Ingest workflow

Please run through the VideoFX ingest scenarios and ensure no permission errors or Vantage module errors come up while ingesting high-res videos. The relevant log files and dashboard to verify any errors:

  1. Vantage machine: C:\zoom-deploy\logs\postVantage.log : See any messages with ERROR or SEVERE records
  2. Preview Server machine,  post Vantage submit log: /home/evolphin/zoom-deploy/logs/post-hook-Vantage.log
  3. Vantage Job Status dashboard

If things are working correctly:

  1. For any new high-res video ingested, a low-res proxy should get checked-in from Vantage server as version 2 of the placeholder asset:
  2. Video related metadata groups in Zoom Asset Browser (VAB) should have valid values:
    1. ProRes (mezzanine proxy):

    2. LowRes proxy (H.264/mp4):

    3. Native/HiRes Video:

    4. Finally, also check if the proxy flag is set to true:

Validating the van_convert_flv workflow

Whenever a preview is requested in Zoom VAB, the above Vantage workflow is invoked if the default converter in Zoom has been switched to Vantage. The workflow is integrated with Zoom Preview server, it allows Preview Server to offload preview generation to Vantage for video assets. For more details on how to configure Zoom to switch to Vantage media converter please see this article.

To validate, locate any Video asset in VAB  and try to generate a preview using right click context menu option in VAB. If the workflow is working correctly a preview request should be send to Vantage. Once the transcode/flip is finished the user in VAB will be able to play a preview of the video.

Optimizing the Vantage Workflow

The workflows supplied by Evolphin are meant to be a starting point. We expect customers to work with Vantage team to further optimize these workflows for their needs.

Leave a Comment