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.
HTTPS
Used to configure secure communication and certificate binding.
Use HTTPS: Check this option to enable HTTPS.
UseHttps=True | FalseIf
Trueservice listens onSecurePort.If
Falseservice listens onDefaultPort.
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,
BasePathshould 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:00Crop 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=InfoLogFileSize=500[Network]UseHttps=FalseDefaultPort=8178SecurePort=8179BasePath=PilotDataServerUri=[Cache]CacheMemoryLimitMegabytes=512PhysicalMemoryLimitPercentage=75PollingInterval=00:05:00CropResultCacheMinutes=10SourceImageCacheMinutes=10MaxSourceImageCacheSizeMegabytes=50Operational 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
.configfiles.
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: /healthThe 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 /healthAccept: application/jsonReturns:
{ "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 /healthReturns:
Timestamp: 2026-02-13T13:35:01.6806058ZLog file: C:\ProgramData\Vizrt\Vizrt Logging\CropService\cropservice.logCrop Service version: 9.5.0.0022Process info:PrivateMemoryBytes: 74 MBMemoryWorkingSet: 107 MBHandleCount: 953Uptime: 0.00:03:48Cache runtime stats:Crop result cache entries: 0Source image cache entries: 0Configuration:Product version: 0.0.0.11569Config file: C:\ProgramData\Vizrt\CropService\cropservice.ini[Logging]LogLevel: InfoLogFileSize: 500 MB[Network]UseHttps: FalseDefaultPort: 8178SecurePort: 8179BasePath: (none)PilotDataServerUri: (none)[Cache]CacheMemoryLimitMegabytes: 511PhysicalMemoryLimitPercentage: 75PollingInterval: 00:05:00CropResultCacheMinutes: 10SourceImageCacheMinutes: 10MaxSourceImageCacheSizeMegabytes: 50