# analyze_media_in_document

The function `analyze_media_in_document` performs analysis on a media file associated with a document. CFS adds the results of analysis to the document’s metadata. If analysis is not successful, the function results in a Lua error.

NOTE: You do not need to add the field `AUTN_NEEDS_MEDIA_SERVER_ANALYSIS` to the document to use this function.

## Syntax

    analyze_media_in_document(document, params)

## Arguments

Argument | Description
--- | ---
`document` | (LuaDocument) The document to analyze. Media analysis is performed on the file associated with the document.
`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 metadata is added to the document. | 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

Returns `nil`.

## Examples

The following Lua script performs analysis on all documents using the settings in the `[MediaServerSettings]` section of the CFS configuration file.

    function handler(document)
       analyze_media_in_document(
       document,
       {
            section="MediaServerSettings"
       });
       return true;
    end

The following example is similar, but specifies an XSL transform and configuration file to use. The `[TranscribeSpeech]Language` configuration parameter is also overridden with the value `ENUK`.

    function handler(document)
       analyze_media_in_document(
       document,
       {
            section="MediaServerSettings",
            transform="./xslt/mediaserver/speechtotext.xsl",
            config_file="./script_resources/mediaserver/speechtotext.cfg",
            config_params = { "[TranscribeSpeech]Language", "ENUK" }
       });
    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.

_FT_HTML5_bannerTitle.htm