With Zoom 5.8 and above, Vantage can be used to generate previews of video files using Zoom media converter.
What you need to start:
- Working Zoom and Preview Server.
- Running Vantage Node.
- Zoom should be installed on the machine where vantage scripts needs to be executed.
- A shared location between Vantage node and Preview server.
- This shared location has to have preview server cache on it
- If Zoom indexer is used to ingest the assets, then this shared location must have original assets for each proxy asset in Zoom.
- Vantage converters are written Perl language. So, system must have perl installed.
- Install all dependent Perl modules from here: Zoom Perl SDK Setup.
- Get the Zoom vantage converter module from Zoom Support Team.
- Check if Perl is installed or not.
- On Linux console/terminal type command: perl –version. To see if perl is installed and of version 5.XX. We recommended using Perl version 5 or higher.
- Install/Copy Vantage module in the home directory of Zoom/Evolphin user.
- We recommend using username “evolphin” with home directory in “/home/evolphin”
- Copy the vantage scripts in /home/evolphin/zoom-deploy
- Directory structure of vantage converter module:
config.ini <= Configuration file for Vantage converter
log4perl.conf <= Configure vantage converter logging.
Contains perl modules (dot pm files).
vanConvert.pl <= Main vantage Perl file.
vanConvert.sh <= Vantage converter launcher.
- Create new vantage workflow with some relevant name.
In this article we would be using vantage workflow name as “zoomproxy” and will be using it in examples and configuration.
- Create a new vantage workflow with named “zoomproxy”.
- We will pass the input file to this workflow using vantage API.
- Previews need to be generated in FLV format from vantage and output has to be stored in a file path passed inside a variable “outFileVar”. This variable is passed from vantage converter in vantage workflow.
- Open “config.ini” from vanConverter module. File is present in “~/zoom-deploy/vanConvert/config” directory.
- Update the values under section “[ENVIRONMENT]” and “[ZOOMSERVER]”. These sections are self-explanatory and explained below in vantage config ini section.
- Updating “[VANTAGE]” section. This section can go wrong very easily and a few trial runs might be required to come up be correct values.
- Before we proceed, lets assume that, preview server cache is present on a network drive “/media/nas-store” inside directory “zoom-store”. For e.g: Preview cache location = /media/nas-store/zoom-store/preview-cache.
- The same nas-store is accessible on vantage machine as “Z:” drive. And preview cache can be accessed on windows vantage box at path: “Z:\zoom-store\preview-cache”.
- Preview server uses this cache location to store the rendered previews and it might checkout the original or proxy asset to generate the previews.
- So, the path prefix which vantage converter has to change is: “/media/nas-store” — to –> “Z:”. So that, the path passed to vantage is accessible on windows. For e.g: if preview cached files is: “/media/nas-store/zoom-store/preview-cache/0/1/9″, then it will translate to path “Z:\zoom-store\preview-cache\0\1\9”.
- Conversion from linux mount path to windows drive letter or UNC path is governed by properties: “inPathPrefix” and “outPathMount”.
- For our example: inPathPrefix would be “/mnt/nas-store” and “outPathPrefix” would be “Z:\”.
- Instead of using drive letter, it is possible to directly use UNC path. For e.g. instead of “Z:” drive, use of UNC path: “\\192.168.0.100” is permitted.
Vantage can work with UNC paths, but before using UNC paths, ask your IT/Network admins to allow vantage to read and write on UNC path.
- Vantage converter looks for “ZPIG_Proxy” metadata property to detect the proxy asset. If this property is found to be true, vantage converter looks for “ZPIG_Native File Path” property and fetch the native file path of the asset. Each native file path value is prefixed with string “TPM:” aka “Third Party Mount”.
- It is possible to construct the original native asset file path from property “ZPIG_Native File Path” value, by just substituting the “TPM:” prefix with another string/path. This substitution is controlled by the value of properly “inPathSub” under section “[VANTAGE]”.
- This gives us a new feature, where previews can be generated directly from original assets, which could be huge in size and residing on some archive location i.e. outside of Zoom. On Zoom server they just proxy small size asset representing the actual original asset.
- So, if asset is a proxy asset, its original path can be construction by replacing the prefix “TMP:” with the value mentioned in variable: “inPathSub”.
- Variable: “outFileVar” and “outDirVar” denotes the properties under which output file path and out directories are passed to vantage box. Vantage reads these variables to find out where to store the generate preview. Please correlate the values of these two variables present in vantage workflow and in config.ini.
- Once config.ini is setup. Go to Zoom webmin portal. Open: http://<zoom-server>:8443 in browser.
- To go section: “Media Converter”. And create a new media converter to launch Zoom vantage converter.
- In new media converter window provide path to vanConverter.sh file i.e. /home/evolphin/zoom-deploy/vanConvert/vanConvert.sh.
- Add new argument of type input file.
- Add new argument of type output file.
- Add new argument named: “vwfn <vantage workflow name>”. For e.g. “vwfn zoomproxy”. Here “zoomproxy” is the vantage workflow name where preview generation job has to be submitted.
- See this attached screenshot for more details.
- Save the media converter.
- Go to section “Default Format“.
- Set new default format/converter for video file formats like MOV, MP4 etc. to “Vantage Converter”, which we created above.
- Goto asset browser and try to preview the video files.
Vantage Config INI Explained
Below we have explained the sample config.ini for Vantage perl script.
[ENVIRONMENT] #path to the zm command. Point zmPath to correct installed Zoom path. zmPath = /home/evolphin/zoom/bin/zm [ZOOMSERVER]
#Point this to Zoom server url. serverURL = http://<zoom-server>:8880
#Point this to webmin server webminURL = http://<zoom-server>:8443
#Username which exist on Zoom to run vantage scripts serverUsername = <username>
#Password of above mentioned Zoom user serverPassword = <password> [VANTAGE] #URL to working vantage box. vantageServerURL=http://<vantage server>:8676 #Path prefix which has to be changed by outPathMount, so that Vantage can access the file inPathPrefix=/mnt/data #Replace above inPathPrefix with this. outPathMount=X:\ #Key which will send to vantage which contains the output path outFileVar=zoomvoutfile #Output dir where vantage generates the output file. outDirVar=zoomvoutpath #If asset on Zoom is proxy asset and contains "ZPIG_Proxy=true", then prefix "TPM:" in native file path is replaced by below given value inPathSub=/mnt/data/san #Time to wait before checking job status in seconds jobStatusTime = 10