Imaging Transcoding Library imaging-transcoding-library
Adobe’s Imaging Transcoding Library is a proprietary image processing solution that can perform core image-handling functions, including:
- Encoding
- Transcoding (converting supported formats)
- Image resampling, using PS and Intel IPP algorithms
- Bit depth and color profile preservation
- JPEG quality compression
- Image resizing
Imaging Transcoding Library provides CMYK support and full alpha support, except CMYK -Alpha.
In addition to supporting a wide range of file formats and profiles, Imaging Transcoding Library has significant advantages over other third-party solutions when it comes to performance, scalability, and quality. Here are some of the key benefits of using Imaging Transcoding Library:
- Scales with increasing file size or resolution: Scaling is primarily achieved by the patented ability of Imaging Transcoding Library to re-size while decoding files. This ability ensures that runtime memory usage is always optimum and is not a quadratic function of increasing file size or resolution megapixels. Imaging Transcoding Library can process larger and high-resolution (containing higher megapixels) files. Third-party tools, such as ImageMagick is unable to handle large files and crashes while processing such files.
- Photoshop quality compression and resizing algorithms: Consistency with industry standard in terms of quality of down sampling (smooth, sharp and automatic bicubic) and compression quality. Imaging Transcoding Library further assesses the quality factor of input image, and intelligently uses optimum tables and quality settings for output image. This ability produces files of optimal size without compromising on visual quality.
- High throughput: The response time is lower and throughput is consistently higher than ImageMagick. Therefore, Imaging Transcoding Library should decrease the wait time for users and the cost of hosting.
- Scale better with concurrent load: Imaging Transcoding Library performs optimally under concurrent load conditions. It provides high throughput with optimum CPU performance, memory usage, and low response time, which helps reduce the cost of hosting.
Supported platforms supported-platforms
Imaging Transcoding Library is available only for RHEL 8, RHEL 7 and CentOS 7 distributions.
Usage usage
The command line arguments for Imaging Transcoding Library can include the following:
-destMime PNG/JPEG: Mime type of output rendition
-BitDepth 8/16: Preserves Bit Depth. Bitdepth '4' is automatically converted to '8'
-preserveBitDepth: Downscales Bit Depth (No upscaling)
-preserveCMYK: Preserves CMYK color space
-jpegQuality: Provides jpeg quality parameter (0-12 , corresponding to Photoshop qualities)
-ResamplingMethod BiCubic/Lanczos/PSBicubic: Provides resampling methods. PSBicubic is a Photoshop quality resampling method.
-resize
You can configure the following options for the -resize
parameter:
X
: Works similar to Experience Manager. For example, -resize 319.WxH
: Aspect ratio is not maintained, For example,-resize 319x319
.Wx
: Fixes the width and calculates the height maintaining the aspect ratio. For example,-resize 319x
.xH
: Fixes the height and calculates the width maintaining the aspect ratio. For example,-resize x319
.
-AllowUpsampling (Resizes smaller images)
-input <fileName>
-output <fileName>
Configure Imaging Transcoding Library configuring-imaging-transcoding-library
To configure ITL processing, create a configuration file and update the workflow to execute it.
Create configuration file for extracted bundle create-conf-file
To configure the library, create a CONF file to indicate the libraries using the following steps. You need administrator or root permissions.
-
Download the Imaging Transcoding Library package from Software Distribution and install it using the Package Manager. The package is compatible with Experience Manager 6.5.
-
To know a bundle id for
com.day.cq.dam.cq-dam-switchengine
, log in to the Web Console and click OSGi > Bundles. Alternatively, to open the bundles console, accesshttps://[aem_server:[port]/system/console/bundles/
URL. Locatecom.day.cq.dam.cq-dam-switchengine
bundle and its ID. -
Ensure that all the required libraries are extracted, by checking the folder using the command
ls -la /aem65/author/crx-quickstart/launchpad/felix/bundle<id>/data/binaries/
, where the folder name is constructed using the bundle ID. For example, the command isls -la /aem65/author/crx-quickstart/launchpad/felix/bundle588/data/binaries/
if bundle id is588
. -
Create
SWitchEngineLibs.conf
file to link to the library.code language-shell cd `/etc/ld.so.conf.d` touch SWitchEngineLibs.conf vi SWitchEngineLibs.conf
-
Add
/aem65/author/crx-quickstart/launchpad/felix/bundle<id>/data/binaries/
path to the conf file usingcat SWitchEngineLibs.conf
command. -
Execute
ldconfig
command to create the necessary links and cache. -
In the account that is used to start Experience Manager, edit
.bash_profile
file. AddLD_LIBRARY_PATH
by adding the following.code language-shell LD_LIBRARY_PATH=. export LD_LIBRARY_PATH
-
To ensure that the value of the path is set to
.
, useecho $LD_LIBRARY_PATH
command. The output should just be.
. If the value is not set to.
, restart the session.
Configure DAM Update Asset workflow configure-dam-asset-update-workflow
Update the DAM Update Asset workflow to use the library for processing images.
-
In Experience Manager user interface, select Tools > Workflow > Models.
-
From the Workflow Models page, open the DAM Update Asset workflow model in edit mode.
-
Open the Process Thumbnails workflow process step. In the Thumbnails tab, add the MIME types for which you want to skip the default thumbnail generation process in the Skip Mime Types list.
For example, if you want to create thumbnails for a TIFF image using Imaging Transcoding Library, specifyimage/tiff
in the Skip Mime Types field. -
In the Web Enabled Image tab, add the MIME types for which you want to skip the default web rendition generation process in Skip List. For example, if you skipped MIME type
image/tiff
in the above step, addimage/tiff
to the skip list. -
Open the EPS thumbnails (powered by ImageMagick) step, navigate to the Arguments tab. In the Mime Types list, add the MIME types you want Imaging Transcoding Library to process. For example, if you skipped the MIME type
image/tiff
in the above step, addimage/jpeg
to the Mime Types list. -
Remove the default commands if any exist.
-
Toggle side panel and from the list of steps add SWitchEngine Handler.
-
Add commands to the SwitchEngine Handler based on your custom requirements. Tune the parameters of commands that you specify to meet your requirements. For example, if you want to preserve the color profile of your JPEG image, add the following commands to the Commands list:
SWitchEngine -input ${file} -destMime PNG -resize 48 -output ${directory}cq5dam.thumbnail.48.48.png
SWitchEngine -input ${file} -destMime PNG -resize 140x100 -output ${directory}cq5dam.thumbnail.140.100.png
SWitchEngine -input ${file} -destMime PNG -resize 319 -output ${directory}cq5dam.thumbnail.319.319.png
SWitchEngine -input ${file} -destMime JPEG -resize 1280 -preserveCMYK -output ${directory}cq5dam.web.1280.1280.jpeg
-
(Optional) Generate thumbnails from an intermediate rendition using a single command. The intermediate rendition acts as source to generate static and web renditions. This method is faster than the earlier method. However, you cannot apply custom parameters to thumbnails using this method.
-
To generate web renditions, configure parameters in the Web-Enabled Image tab.
-
Sync the updated DAM Update Asset workflow model. Save the workflow.
To verify the configuration, upload a TIFF image and monitor the error.log file. You will notice INFO
messages with mentions of SwitchEngineHandlingProcess execute: executing command line
. The logs mention the renditions generated. Once the workflow completes, you can view the new renditions in Experience Manager.