Vizrt Crop Service is a Windows service that enables on-the-fly image cropping, and is delivered as a separate installer. If installed on the same machine as Pilot Data Server, configuration is performed through the Launcher UI.

All runtime configuration is stored in %ProgramData%\Vizrt\CropService\cropservice.ini.

Note: The Crop Service no longer reads port settings from exe.config files. Only cropservice.ini is used for runtime configuration.

This page contains the following sections:

Configuration via Launcher UI

The Launcher UI is the authoritative way to configure the Crop Service. Each field maps directly to a key in the INI file.

image-20260213-123513.png

HTTPS

Used to configure secure communication and certificate binding.

  • Use HTTPS: Check this option to enable HTTPS.

    UseHttps=True | False
    • If True service listens on SecurePort.

    • If False service listens on DefaultPort.

  • Secure Port: The default port is 8179.

    SecurePort=<port>

    It is recommended to:

    • Keep 8179 unless your environment requires a different port.

    • Ensure the port is open in host and network firewalls.

  • SSL Certificate: Used to select a certificate from the Windows certificate store.

    • Click Apply Certificate to bind the certificate to the HTTPS port.

    • Click Remove Port Bindings to remove existing HTTP.SYS bindings.

Info: The Launcher manages HTTP.SYS bindings. Do not use manual netsh commands unless explicitly required.

Network

  • Default Port (HTTP only): The default port is 8178. Only used when UseHttps=False.

    DefaultPort=<port>
  • Data Server URL: Set the URL to the Pilot Data Server service document (this must be an absolute URL). The Crop Server retrieves the Pilot Data Server settings to extract credentials to pre-authenticated hosts, and reads the croptool_max_image_area setting from the database.

    PilotDataServerUri=<absolute-url>
  • Base Path (Reverse Proxy Support): This setting is only used when the Crop Service is published under a sub-path behind a reverse proxy.

    BasePath=<path>

    For example, the public URL is https://proxy.company.com/vizrt/cropservice. Therefore, the base path value can be set to vizrt/cropservice. In most modern deployments, BasePath should NOT be needed.
    If your reverse proxy forwards standard headers and preserves the full request path, the Crop Service can derive the correct public URL from headers.

Logging

Controls log verbosity and file size.

  • Log Level

    LogLevel=<level>
    • Debug

    • Info

    • Warning

    • Error

  • Log File Size (MB): Maximum size before log cycling.

    LogFileSize=<megabytes>

Cache

These settings control memory usage and caching behavior.

  • Memory Limit (MB): Total shared memory budget across crop result cache, and source image cache. The default is 512.

    [Cache]
    CacheMemoryLimitMegabytes=<mb>
  • Physical Memory %: Hard upper cap based on system RAM. The default is 75.

    [Cache]
    PhysicalMemoryLimitPercentage=<0-100>

    This prevents the service from exhausting system memory even if Memory Limit is set high.

  • Polling Interval: Frequency of cache resource checks (hh:mm:ss). The default is 00:05:00.

    PollingInterval=00:05:00
  • Crop Cache (min): Retention time for processed crop results. The default is 10 minutes.

    CropResultCacheMinutes=<minutes>
  • Source Cache (min): Retention time for downloaded source images. The default is 10 minutes.

    SourceImageCacheMinutes=<minutes>
  • Max Source Size (MB): Do not cache source images larger than this threshold. The default is 50.

    MaxSourceImageCacheSizeMegabytes=<mb>

Pilot Database Configuration

In the Pilot Database, configure these settings as follows.

  • crop_service_uri: Must point to the externally reachable Crop Service endpoint. For example:

    • HTTP: http://hostname:8178/

    • HTTPS: https://hostname:8179/

Info: This must match:

  • Protocol (HTTP/HTTPS)

  • Public hostname

  • Public port

  • croptool_max_image_area (optional): Defines the maximum served image area.

    width × height (pixels)

    Images larger than this are scaled down proportionally, even if no crop is applied.

Default INI Values

When created initially:

[Logging]
LogLevel=Info
LogFileSize=500
 
[Network]
UseHttps=False
DefaultPort=8178
SecurePort=8179
BasePath=
PilotDataServerUri=
 
[Cache]
CacheMemoryLimitMegabytes=512
PhysicalMemoryLimitPercentage=75
PollingInterval=00:05:00
CropResultCacheMinutes=10
SourceImageCacheMinutes=10
MaxSourceImageCacheSizeMegabytes=50

Operational Notes

  • Restart the Crop Service after changing settings.

  • Ensure configured ports are open in firewalls.

  • For HTTPS:

    • Certificate Subject or SAN must match the public hostname.

    • Certificate must be trusted by clients.

  • Prefer reverse proxy header forwarding over manual BasePath configuration.

  • Do not edit legacy EXE .config files.

Health endpoint

The Crop Service exposes a lightweight health and diagnostics endpoint that reports basic runtime information, cache statistics, and key configuration paths. It supports content negotiation and returns JSON when requested via the Accept header. Otherwise, it responds with human-readable plain text.

Route: /health

The purpose is to:
• Verify the service is up and responding.
• Inspect basic process metrics (memory, handles, uptime).
• Inspect cache item counts.
• Discover important configuration paths (for example, INI and log file).

Example (JSON)

GET /health
Accept: application/json

Returns:

{
"cache": {
"cropResultCacheEntries": 0,
"sourceImageCacheEntries": 0
},
"configFilePath": "C:\\ProgramData\\Vizrt\\CropService\\cropservice.ini",
"logFilePath": "C:\\ProgramData\\Vizrt\\Vizrt Logging\\CropService\\cropservice.log",
"process": {
"handleCount": 898,
"memoryWorkingSet": "107 MB",
"privateMemoryBytes": "74 MB",
"uptime": "0.00:02:41"
},
"timestamp": "2026-02-13T13:33:55.1973069Z",
"version": "9.5.0.0022"
}

Example (plain text)

GET /health

Returns:

Timestamp: 2026-02-13T13:35:01.6806058Z
Log file: C:\ProgramData\Vizrt\Vizrt Logging\CropService\cropservice.log
 
Crop Service version: 9.5.0.0022
 
Process info:
PrivateMemoryBytes: 74 MB
MemoryWorkingSet: 107 MB
HandleCount: 953
Uptime: 0.00:03:48
 
Cache runtime stats:
Crop result cache entries: 0
Source image cache entries: 0
 
Configuration:
Product version: 0.0.0.11569
Config file: C:\ProgramData\Vizrt\CropService\cropservice.ini
 
[Logging]
LogLevel: Info
LogFileSize: 500 MB
 
[Network]
UseHttps: False
DefaultPort: 8178
SecurePort: 8179
BasePath: (none)
PilotDataServerUri: (none)
 
[Cache]
CacheMemoryLimitMegabytes: 511
PhysicalMemoryLimitPercentage: 75
PollingInterval: 00:05:00
CropResultCacheMinutes: 10
SourceImageCacheMinutes: 10
MaxSourceImageCacheSizeMegabytes: 50