This article is only applicable to on-premise installations. If you are a SaaS customer, ImageMagick is automatically installed and configured optimally.
ImageMagick is a software suite to create, edit, and compose bitmap images. It can read, convert and write images in a variety of formats. NetX is able to use this robust engine for generating thumbnails and previews of many image formats. This guide will instruct you on how to install the full version of ImageMagick on your server and configure NetX to connect to it for transcoding operations.
Installation
ImageMagick must be installed on the NetX application server.
Downloading the ImageMagick executable
Currently, NetX only supports version 6.9 of ImageMagick. If you go to the ImageMagick download site, you will most likely see versions of ImageMagick 7. Do not install version 7. Instead, download the latest version of 6.9 (choose the Q16-x64-static.exe file) available here: https://download.imagemagick.org/archive/binaries/
Installation wizard
- Log on to your NetX server and download the ImageMagick 6.x executable using the link posted above.
- Double-click to run the executable and start the installation wizard.
- When prompted to Open File - Security Warning, click Run.
- Accept the License Agreement and click Next.
- Click Next.
- Choose the path you would like the ImageMagick application folder to reside in. We recommend the default if you aren't sure.
- Choose the location where ImageMagick will install the program shortcuts. If you aren't sure, choose the default.
- Make sure that "Add application directory to your system path" is checked. All other checkboxes are optional. You can leave the defaults if you like.
- Click Install to begin the installation process.
- When the installation has completed, click Next.
- Click Finish to exit the wizard. You can uncheck view index.html.
Configuring NetX to use ImageMagick
Now that ImageMagick is installed, you will need to tell NetX how to use it for transcoding. This is achieved by editing a few properties in NetX.
-
Edit the exogen-config.xml file and setup the following properties (or add them from System > Properties). Note that the value of imagemagick.homeFolder needs to match the folder where ImageMagick was installed, as shown in the example below. Likewise, the value of imagemagick.exePath needs to reflect the full location of convert.exe.
<property> <name>imagemagick.homeFolder</name> <value>C:\Program Files\ImageMagick-6.9.3-Q16</value> </property> <property> <name>imagemagick.exePath</name> <value>C:\Program Files\ImageMagick-6.9.3-Q16\convert.exe</value> </property> <property> <name>imagemagick.enabled</name> <value>true</value> </property>
-
Restart NetX.
-
Log into your NetX server, and locate the ImageMagick properties in System > Properties. You should see the license info updated to reflect the new installation. If you see that the slashes for some paths have changed direction, don't worry, this is normal once NetX restarts and reads the property.
-
To test that ImageMagick itself is functioning properly, open a Windows command prompt and change directories to the ImageMagick application folder. Once inside that folder, run the following command:
convert -version
You can see an example of the command and output in the screenshot below:
Installation
ImageMagick must be installed on the NetX application server.
Ubuntu and other Debian-based distributions
-
Verifying that all software is up to date is highly recommended before beginning the installation process. To do so, run sudo apt-get update.
user@server:~$ sudo apt-get update
-
Run apt-get install imagemagick. The server will then determine any relevant software that needs to be installed to use ImageMagick.
user@server:~$ sudo apt-get install imagemagick
-
Test that ImageMagick has been installed correctly. ImageMagick is installed under the folder /usr/bin; running /usr/bin/convert -version from the subdirectory convert will return information regarding your newly installed ImageMagick software.
user@server:~$ /usr/bin/convert -version Version: ImageMagick 6.5.7-8 2009-11-26 Q16 http://www.imagemagick.org Copyright: Copyright (C) 1999-2009 ImageMagick Studio LLC Features: OpenMP
Red Hat Enterprise Linux
-
Verifying that all software is up to date is highly recommended before beginning the installation process. To do so, run sudo yum update.
[user@server ~]$ sudo yum update
-
Run sudo yum install ImageMagick.x86_64. The server will then determine any relevant software that needs to be installed to use ImageMagick.
[user@server ~]$ sudo yum install ImageMagick.x86_64
-
Test that ImageMagick has been installed correctly. ImageMagick is installed under the folder /usr/bin; running /usr/bin/convert -version from the subdirectory convert will return information regarding your newly installed ImageMagick software.
user@server:~$ /usr/bin/convert -version Version: ImageMagick 6.5.7-8 2009-11-26 Q16 http://www.imagemagick.org Copyright: Copyright (C) 1999-2009 ImageMagick Studio LLC Features: OpenMP
Configuration properties
Property | Description |
---|---|
imagemagick.limitMemory
|
This property limits the amount of memory allocated to ImageMagick while processing an image. This property's value should be a number, in megabytes. For more information regarding ImageMagick and memory limits, see their documentation. Value options: Number, in MB |
imagemagick.limitArea
|
This property limits the image area processed by ImageMagick. This property's value should be a number, in megapixels (MP) or gigapixels (GP), that reflects the largest image (by pixel count) that will be processed in memory; anything larger will use a disk cache to limit memory consumption. For more information regarding ImageMagick and area limits, see their documentation. Value options: Number, in MP or GP |
imagemagick.limitMap
|
This property limits the map processed by ImageMagick. This property's value should be a number, in megabytes. This property For more information regarding ImageMagick and area limits, see their documentation. Value options: Number, in MB |
imagemagick.limitThread
|
This property limits the number of threads processed by ImageMagick. This property's value should be a number, in megabytes. This property For more information regarding ImageMagick and area limits, see their documentation. Value options: Number |
imagemagick.scanAndRemoveBadXmp
|
This property allows you to specify an XMP field that will be ignored as the image is processed through ImageMagick. This is useful to cut down on resources and processing time if there is a large XMP field. This property's value should be formatted with the name of a file format (such as PSD), followed by the name of an XMP field, e.g. photoshop:DateCreated. These values should be delimited with a comma, as in this example: PSD,photoshop:DateCreated. Only one XMP field may be specified as a value for this property. Value options: format, XMP tag name |
imagemagick.jpgQuality
|
This property determines the quality of the output image. The value of this property should be a number between 1-100, representing a percentage of image quality. The default value is 70. Value options: 1-100 |
imagemagick.processTimeout
|
This property determines the length of time ImageMagick will spend before timing out. This value is in seconds. The default limit is 2700, or 45 minutes. Value options: Number, in seconds |
imagemagick.tifEndian
|
This property determines the byte order ImageMagick will use to process tiff images. The value options are msb (most significant bye) or lsb (least significant byte). The default value for this property is msb; if there is an issue processing an image using this setting, the system will fall back on lsb. Value options: msb or lsb |
imagemagick.optimizedProxyGeneration
|
If the value of this property is true, proxy generation (previews, thumbnails, zoom views) will be performed using the ImageMagick engine. If the value of this property is false, this proxy generation will be disabled. The default value for this property is true. Value options: true / false |
imagemagick.optimizedProxyRetainColorProfiles
|
If the value of this property is true, some XMP data will be stripped from any generated proxies, but their color profile will be maintained. If the value of this property is false, all XMP data will be removed from any generated proxies, including color profiles. This property is false by default. Value options: true / false |
imagemagick.postProcessing
|
If the value of this property is true, any embedded ICC color profiles will be stripped from the output file. If the value of this property is false, the embedded color profile will be maintained. This property is false by default. Value options: true / false |
image.colorspaceIdentification
|
If the value of this property is true, ImageMagick will identify the color space of the input image and use the color space in the output file in NetX. If the value of this property is false, this check will not take place. Value options: true / false |
xmp.packetMaxThreshold
|
This property limits the size of the XMP packet associated with an asset. If the asset meets this threshold, the XMP is scanned for any large values; these larger values are then stripped from the temporary input file. Note that the original asset will be maintained. The value of this property should be a number, in megabytes. It is not set by default. Value options: Number, in MB |
engine.proxy.strictSRGB
|
When this property is true, asset previews and thumbnails will convert to sRGB colorspace. When this property is false, previews and thumbnails will not be converted. Value options: true / false |
engine.zoom.strictSRGB
|
When this property is true, zoom tiles will be converted to sRGB colorspace when generated. When this property is false, zoom tiles will not be converted. Value options: true / false |
imagemagick.enabled |
When the value of this property is true, the ImageMagick engine is enabled. It will be automatically enabled if ImageMagick finds the binary in the default location, otherwise, it is disabled. This property is required. Value options: true / false |
imagemagick.homeFolder |
The value is the absolute path to the folder where the ImageMagick binaries live. This property is required. <property> <name>imagemagick.homeFolder</name> <value>C:\Program Files\ImageMagick-6.9.3-Q16</value> </property>Value options: Absolute path to the ImageMagick program folder |
imagemagick.stripMetadata
|
If the value of this property is true, all metadata will be stripped from the output file including all XMP, EXIF, or color profile data. If the value of this property is false, the output file's metadata will be preserved. Value options: true / false |