# MediaAnalysis

The Media Analysis processor uses IDOL Media Server to analyze image, audio, and video files. Media Server can perform tasks such as optical character recognition, face detection and recognition, speech-to-text, and speaker identification. For more information about Media Server, refer to the Media Server Administration Guide.

## Media Server Configuration

To run analysis on media, you must create a Media Server session configuration file that instructs Media Server how to process the media. Provide the configuration to Media Server in one of the following ways:

- Save the configuration in the directory specified by the `ConfigDirectory` parameter, in the `[Paths]` section of the Media Server configuration file. Then, set the Media Server Configuration Name property in the Media Analysis processor. The processor sends the name of the configuration to Media Server with each request, and Media Server reads the configuration from its configurations directory.
- Save the configuration in a location that is accessible to the NiFi Media Analysis processor. Then, set the Media Server Configuration Filename property in the processor. The processor reads the file and sends it to Media Server, base-64 encoded, whenever it makes a request for media analysis.

Your Media Server session configuration file must include a single output task that uses the response output engine to output the analysis results to the process action response.

The following is an example configuration to run optical character recognition on image files:

    [Session]
    Engine0=Ingest
    Engine1=OCR
    Engine2=Output

    [Ingest]
    Type=Image

    [OCR]
    Type=OCR
    OCRMode=Document
    Languages=en

    [Output]
    Type=Response
    Input=OCR.Result

For more information about how to configure Media Server, refer to the Media Server documentation.

## Properties

Name | Default Value | Description
--- | --- | ---
IDOL License Service |  | An IdolLicenseServiceImpl that provides a way to communicate with an IDOL License Server.
Media Server Hosts |  | A comma-separated list of Media Servers to use for analysis. For each Media Server specify the host name or IP address and the ACI port, separated by a colon. For example: `one:14000,two:14000`. If you specify multiple Media Servers, the load is balanced between them.
Connection Timeout | 1 min | The maximum amount of time to wait for a response from Media Server.
Shared Path |  | The path of a shared folder to use to transfer files to Media Server (the files to be analyzed are copied to this folder). Both NiFi and Media Server must be able to access this folder. If you do not set this property and Read From Original Location is false, the processor sends files to Media Server in the HTTP POST request. HTTP POST is not recommended for large files.
Read From Original Location | False | A Boolean value that specifies whether Media Server can read the media files from their original location. The original location could be the original location in the file system, the temporary directory of the connector that retrieved the files, the ingest shared path specified in the connector configuration file, or the KeyView storage folder specified by the KeyViewFilterServiceImpl. Reading files from their original location can improve performance because the files do not need to be copied to a shared path or included in the request to Media Server. However, if you set this property to TRUE, Media Server must have permission to access all of these locations.
XSLT File |  | An XSL transformation to apply to the response from Media Server before the information is added to the document metadata. If you do not specify an XSL transformation, the processor adds the entire response to the document, unaltered. Specify either: The path of the file that contains the XSL transformation. The XSL transformation.
Poll Interval | 5 sec | The amount of time to wait before checking whether a file has been processed, when you send actions to Media Server asynchronously.
Synchronous | False | A Boolean value that specifies whether to send process actions to Media Server synchronously rather than asynchronously. If requests to Media Server complete processing quickly, you can set this property to TRUE so that the processor does not need to poll Media Server for the results. NOTE: If you send process actions synchronously, ensure that Media Server has sufficient threads. For example, if you configure the processor to run six tasks concurrently, open the Media Server configuration file and set `[Server] Threads` to be greater than six.
Media Server Configuration File |  | A session configuration to send to Media Server with each request for media analysis. Specify either: The path of the file that contains the configuration. The session configuration (you can enter the section headings and parameters directly into the dialog box).
Media Server Configuration Name |  | The name of the session configuration file to use to configure media analysis. The file must exist in the directory specified by the `ConfigDirectory` parameter, in the `[Paths]` section of the Media Server configuration file.
SSL Config Service |  | An optional IdolSSLConfigServiceImpl that specifies the settings to use to communicate over SSL/TLS. Set this property only if your Media Server has been configured to accept connections over SSL.

## Relationships

Name | Description
--- | ---
success | Successfully processed FlowFiles are routed to this relationship.
failure | FlowFiles that had an invalid or unknown format.

_FT_HTML5_bannerTitle.htm