analyze_media_in_file

The function analyze_media_in_file performs media analysis on a file. If analysis is not successful, the function results in a Lua error.

Syntax

analyze_media_in_file(filename, params) 

Arguments

Argument Description
filename (string) The file to analyze.
params (table) A table of named parameters to configure media analysis. The table maps parameter names (String) to parameter values. For information about the parameters that you can set, see the following table. For information about how to use named parameters refer to the Connector Framework Server Administration Guide.

Named Parameters

Named Parameter Description Configuration Parameter
config_file (string) The path of a configuration file (relative to CFS) that CFS sends to Media Server when it requests media analysis. MediaServerConfigurationFileName
config_params (string table) A table of configuration parameters to send to Micro Focus Media Server. Any parameters that you specify override the same parameters in the configuration file specified by config_file.  
request_parameters (table) Additional parameters to pass to the Media Server process action.  
section (string) The name of a section in the CFS configuration file. If you set this then any parameters not set in the params table are read from this section of the configuration file.  
server (table) A table of additional named parameters that configure communication with Media Server. The table maps parameter names (String) to parameter values. For information about the parameters that you can set, see the following table.  
transform (string) The filename of an XSL transform. This is applied to the response from Media Server before the analysis results are returned. MediaAnalysisTransform

Media Server Settings

Named Parameter Description Configuration Parameter
section (string) The name of a section in the CFS configuration file. If you set this then any parameters not set in the server table are read from this section of the configuration file. If you do not set this parameter, the value of section from the params table is used.  
host (string) The host name of the machine running Media Server. MediaServerHost
port (Number) The Media Server ACI port. MediaServerHost
sslSection (string) The name of a section in the CFS configuration file that contains settings for communicating with Media Server over SSL. MediaServerSSLConfig
readFromOriginalLocation

(Boolean) A Boolean that specifies whether Media Server can read the media file from its original location. If you set this parameter to true, sharedPath is ignored.

If you set neither this parameter nor sharedPath, CFS sends the media file to Media Server using an HTTP POST request. HTTP POST is not recommended for large files.

ReadFromOriginalLocation
sharedPath

(string) To transfer the file to Media Server through a shared folder, set this parameter to the path of the folder. Both CFS and Media Server must have access to this folder. If you set readFromOriginalLocation to true, this parameter is ignored.

If you set neither this parameter nor readFromOriginalLocation, CFS sends the media file to Media Server using an HTTP POST request. HTTP POST is not recommended for large files.

MediaServerSharedPath

Returns

(string). The XML returned from Media Server, after any specified XSL transform.

Examples

The following Lua script performs analysis on a file named video.mp4, using the settings in the [MediaServerSettings] section of the CFS configuration file.

  local result = analyze_media_in_file("video.mp4",
        { section="MediaServerSettings" });

The following example runs OCR on an image file. It overrides some of the server settings and sets additional named parameters. It demonstrates how to parse the XML string returned from Media Server and add the information to the document metadata:

  function handler(document)
      local result = analyze_media_in_file("image.png",
      {
          section="MediaServerSettings",
          server={ host="localhost", port="14000" },
          transform="./xslt/mediaserver/ocr.xsl",
          config_file="./script_resources/mediaserver/ocr.cfg",
          config_params={ ["[Ingest]IngestEngine"]="Image" }
      });
	
      local parsed_xml = parse_xml(result)
      document:insertXmlWithoutRoot(parsed_xml:root())
    
      -- Add content to document content
      local content = { parsed_xml:XPathValues("//document/DRECONTENT") }
      for k,v in pairs(content) do
          document:appendContent(v)
      end

      return true;
  end

For complete example Lua scripts, Media Server configurations, and XSL transforms, see the folders scripts/mediaserver, script_resources/mediaserver, and xslt/mediaserver, in the CFS installation directory.