Zoom Hi-Res Video Management Release supports a proxy-based Hi-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, searching, etc. 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.
Before configuring the Telestream Vantage machine, please ensure the following prerequisites have been met:
- Strawberry Perl distribution version specified here is installed under C:\Strawberry on the Vantage Lightspeed server
- Perl modules specified below are installed using CPAN (Strawberry Perl)
- Perl automation scripts are copied to C:\zoom-deploy
- 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):
- 10.0.1.78 vantage.evolphinpoc
- 10.0.1.81 preview.evolphinpoc
- 10.0.1.80 mam.evolphinpoc
- 10.0.1.75 essan.evolphinpoc
- 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:)
- Zoom Windows Client is installed on the Vantage server
- Vantage workflows are imported into Telestream:
- Hires Ingest
- 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
Please download and install the Strawberry Perl distribution
Note: for Windows use Strawberry Perl 18.104.22.168
There are a number of Perl modules that the SDK functions depend upon. Please install the following Perl modules for maximum compatibility with the SDK lib modules:
These can be installed using the command line below for instance:
cpan -fi Log::Log4perl Log::Dispatch::File Config::IniFiles Net::SMTP::SSL DateTime::Format::Strptime JSON URL::Encode URI::Encode Log::Dispatch::FileRotate Time::Piece List::Util List::MoreUtils LWP::UserAgent Net:SSLeay YAML Net:SSLeay Net:SSLeay Net:SSLeay IO::Pty::Easy Switch Config XML::Simple XML::LibXML LockFile::Simple Data::UUID JSON::Parse ….
Please adjust the command line according to the module list above.
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 hi-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 hi-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 Name||Property Name=Sample Value||Description||Cross-references|
|[PREVIEWSERVER]||reviewServerURL =http://192.168.0.107:8873||Zoom preview server host and port||None|
|[ENVIRONMENT]||zmPath=C:\Program Files (x86)\Evolphin\DAM\bin\zm||Path to the Zoom executable in Vantage machine||None|
|zoom-install-dir = C:\Program Files (x86)\Evolphin\DAM||Path where Zoom is installed||None|
|[MOUNTPREFIX]||TPMPrefix = /data/psan/tpm||Path where the hi-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\ArchiveStaging||Prefix to Archive Staging Area|
|[VANTAGE]||vantageServerURL =http://192.168.0.89:8676||Server Address where Vantage is installed||None|
|inPathPrefix=/data/usan/||Prefix to HiRes Location as seen in Ingest Server||Same 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=mov||File extension of the ProRes to be generated||
Same as the ProRes format in Vantage Workflow,
|lowproxyExt=mp4||File extension of the low-res proxy||
Same as low-res proxy format in Vantage Workflow,
|thumbExt=.jpg||File suffix and extension of the thumbnail for the low-res proxy||
Consumed in Vantage Workflow
|proResSuffix=-midres||Suffix for midres file when copied to TPM|
|Required for Vantage processing – DO NOT EDIT||
Consumed in Vantage Workflow
Same as corresponding entries in PostHook
|Metadata group codes to be updated for proxy files|
|midresArchiveJobId=ZPIG_SGL Mid-Res Archive Job Id||Field to store Job UID returned by SGL for Mid-Res Archive|
|midresArchiveStatus=ZPIG_Mid-Res Archive Status||Field to store archive status transitions of Mid-Res file|
|SGLTargetDir = EDIT_Brand||Field 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 Path||Metadata field for storing the file path for mid res file.|
|SGL||baseURL = http://192.168.0.209:11000/flashnet/api/v1||Same as Post Hook|
|caller = zoom|
|verifyFiles = true|
|deleteFiles = true|
|ARCHIVE||archiveModule = SGL||Same as Post Hook|
|ARCHIVE STATUS||onArchiveSubmit = Archiving to SGL||Same as Post Hook|
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:
- Hires Ingest
- Van_convert_flv (not needed if using default converter based on software
ffmpegfor preview creation)
The exported workflows can be imported into the Vantage Lightspeed server.
Validating the setup
Validating the notify action
- 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.
- If the modules are installed correctly the script should not error out with missing module warning:
- Next launch the BAT file from the command line and check for any errors:
- 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
- The zm.exe CLI (command line interface) is used by the above Perl script to invoke various API calls to Zoom MAM server. The correct version of Zoom client once installed will automatically configure the zm.exe CLI.
- 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 to 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 hi-res videos. The relevant log files and dashboard to verify any errors:
- Vantage machine: C:\zoom-deploy\logs\postVantage.log : See any messages with ERROR or SEVERE records
- Preview Server machine, post Vantage submit log: /home/evolphin/zoom-deploy/logs/post-hook-Vantage.log
- Vantage Job Status dashboard
If things are working correctly:
- For any new hi-res video ingested, a low-res proxy should get checked-in from Vantage server as version 2 of the placeholder asset:
- Video related metadata groups in Zoom Visual Asset Browser (VAB) should have valid values:
- ProRes (mezzanine proxy):
LowRes proxy (H.264/mp4):
- Native/HiRes Video:
Finally also check if the proxy flag is set to true:
- ProRes (mezzanine proxy):
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.