Configuring Dynamic Media Cloud Services

Dynamic Media Cloud Service provides support for cloud services such as hybrid publishing and delivery of images and video, video analytics, and video encoding, among other things.

As part of the configuration, you need to enter a registration ID, video service URL, image service URL, replication service URL and replication username and password.  You should have received all this information as part of the account provisioning process. If you did not receive this information, contact your Adobe Experience Manager Administrator or Adobe Technical Support to obtain the info.  

Nota

If you use Adobe Experience Manager set up for different environments, such as one for development, one for staging, and one for live production, you need to configure Dynamic Media Cloud Services for each one of those environments.

See also Video.

Hybrid publishing and delivery is a core feature of the Dynamic Media addition to Adobe Experience Manager. 

Hybrid publishing lets you deliver Dynamic Media assets, such as images, image presets, sets and video, from the cloud instead of from the local On-Premise publish nodes.

Other content, such as Dynamic Media viewers, Site pages, and static content will continue to be served from the On-Premise publish nodes.

If you are a customer of Dynamic Media, you are required to use hybrid delivery as the delivery mechanism for all Dynamic Media content.

Hybrid publishing architecture for videos

file

Hybrid publishing architecture for images

file

The following are prerequisites for configuring and using hybrid publishing and hybrid delivery:

  • Adobe Experience Manager 6.0 General availability
  • Adobe Experience Manager 6.0 Service Pack 1
  • Dynamic Media 6.0 Feature Pack 1

The configuration tasks below reference the following terms:

Term Dynamic Media Enabled Description
Local author node White check mark in a green circle

The local author node that you deploy to On-Premise.

Note: Only local author node needs to have Dynamic Media enabled.

Local publish node White "X" in a red square.

The local publish node that you deploy to On-Premise.

Note: Local publish node must not have Dynamic Media enabled, otherwise assets will be delivered from the local publish node when they should actually be delivered from the Image Service publish node.

Image Service publish node White check mark in a green circle. The publish node that you run on Data Centers that are managed by Adobe. Refers to the image service URL.

Enabling Dynamic Media

Dynamic media is disabled by default. To take advantage of dynamic media features, you need to enable dynamic media on Author node. Before enabling, make sure to review the technical requirements.

By enabling Dynamic Media, these features will be available in the UI and every uploaded image asset receives a cqdam.pyramid.tiff rendition that is used for fast delivery of dynamic image renditions. Those PTIFFs have significant advantages by enabling Dynamic Media features (single master, dynamic renditions, interactive visualization (zoom)), but they come at the cost of an up to 1.3x-1.5x size increase over the original asset. However, you will not have to store any static renditions.

If you do not have license for Dynamic Media, keep dynamic media disabled to ensure compliance with your license contract.

If you want to use Scene7 in AEM, you should keep Dynamic Media disabled unless you are using a specific scenario. Dynamic Media is disabled by default.

Nota

Only Author node needs to have Dynamic Media enabled. Local publish node must not have Dynamic Media enabled, otherwise assets will be delivered from the local publish node when they should actually be delivered from the Image Service publish node.

To enable dynamic media, you need to enable it in CRXDE Lite and also need to start the image server.

To enable Dynamic Media:

  1. In AEM, touch Tools > CRXDE Lite.

     

    file
  2. Navigate to /etc/dam/dynamicmediaconfig.

  3. Set the value of dynamicMediaEnabled from False to True, and then touch Save All.

    Nota

    Be sure you restart AEM after you set the flag to True to enable dynamic media features.

  4. Return to AEM Sites, and touch Tools > Web Console > OSGi > Bundles (or navigate to http://<host>:<port>/system/console/bundles).

  5. On the Adobe Experience Manager Web Console Bundles page, under the Name column of the table, locate Adobe CQ DAM Scene7 Dynamic Imaging (com.adobe.cq.dam.cq-scene7-imaging) bundle.

  6. Under the Actions column of the table, touch the Start button (right arrow) to start the bundle; the bundle's status becomes Active as seen in the following screen shot.

    file
  7. Request http://<host>:<port>/is/image and make sure Image Server is now running. 

    Nota

    To ensure that thumbnails render correctly in your deployment, see Troubleshooting Thumbnail Generation.

Disabling Dynamic Media

Dynamic media is disabled by default. However, if you have previously enabled dynamic media, you may want to turn it off at a later time.

To do this, you need to disable the configuration in CRXDE Lite and also need to restart the Image Server.

See also Enabling Dynamic Media.

To disable Dynamic Media:

  1. In AEM, touch Tools > CRXDE Lite.

  2. Navigate to /etc/dam/dynamicmediaconfig.

  3. Set the value of dynamicMediaEnabled from True to False and click Save All.

    Nota

    After the Dynamic Media functionality is switched off, the workflow step that generates the cqdam.pyramid.tiff rendition will be skipped automatically. This also disables dynamic rendition support and other Dynamic Media features.

  4. Return to AEM Sites, and touch Tools > Web Console > OSGi > Bundles (or navigate to http://<host>:<port>/system/console/bundles).

  5. On the Adobe Experience Manager Web Console Bundles page, under the Name column of the table, locate Adobe CQ DAM Scene7 Dynamic Imaging (com.adobe.cq.dam.cq-scene7-imaging) bundle.

  6. Under the Actions column of the table, touch the Stop button (small black square) to stop the bundle; the bundle's status becomes Resolved.

  7. Request http://<host>:<port>/is/image and make sure Image Server is no longer running.

    Nota

    To troubleshoot issues with Dynamic Media, see the following logs in the crx-quickstart/logs/ directory:

    • ImageServer-<PortId>yyyy><mm>-<dd>.log - The ImageServer log provides statistics and analytical information used for analyzing the behavior of the internal ImageServer process.
    • s7access-<yyyy><mm><dd>.log - The s7access log records each request made to Dynamic Media through /is/image and /is/content.

    These logs are only used when Dynamic Media is enabled. They are not included in the Download Full package that is generated from the system/console/status-Bundlelist page; when calling Customer Support if you have a Dynamic Media issue, please append both these logs to the issue.

If you installed AEM to a different port or context path ...

If you are deploying AEM to an application server and have Dynamic Media enabled, you need to configure the self domain in the externalizer. Otherwise, thumbnail generation for assets will not work properly for dynamic media assets.

In addition, if you run quickstart on a different port or context path, you also have to change the self domain.

When Dynamic Media is enabled, the static thumbnail renditions for image assets are generated using Dynamic Media. For thumbnail generation to work properly for dynamic media, AEM must perform a URL request to itself and must know both the port number and the context path.

In AEM:

  • The self domain in the externalizer is used to retrieve both the port number and context path.
  • If no self domain is configured, the port number and context path are retrieved from the Jetty HTTP service.

In an AEM QuickStart WAR deployment, the port number and context path cannot be derived, therefore you must configure a self domain. See externalizer documentation on how to configure the self domain.

Nota

In an AEM Quickstart stand-alone deployment, a self domain generally does not need to be configured because the port number and context path can be auto-configured. However, if all network interfaces are turned off, you need to configure the self domain.

Configuring video and imaging (optional) in Dynamic Media Cloud Services

  1. In AEM, touch Tools > Operations > Cloud > Cloud Services.

  2. On the Cloud Services page, under Dynamic Media Cloud Services, touch Configure Now.

  3. In the Create Configuraiton dialog box, enter a title and optional name for the configuration you are creating.

  4. Tap Create.

  5. in the Edit Component dialog box, in the Registration ID field, type your registration ID.

  6. In the Video Service URL field, enter the video service URL for the Dynamic Media Gateway.

  7. (Optiona) In the Image Service URL field, enter the image service URL for the Dynamic Media Gateway.

    Specifying this URL, which is optional, allows for non-Hybrid Publishing set-ups.

  8. Tap OK.

  9. Near the upper-left corner of the page, touch Cloud Services to return to the Cloud Services page. In the left rail, touch Cloud > Operations > Tools to return to the AEM Site.

    You will now configure imaging.

Configuring imaging

Hybrid image delivery works by publishing image assets from on-premise Author and replicating them to the on-demand Replication service (the Replication Service URL). Assets are then delivered by way of the on-demand image delivery service (the Image Service URL).

To configure imaging:

  1. In AEM, in the left rail, touch Tools > CRXDE Lite.

  2. In the left rail, expand etc > cloudservices > dynamicmediaservices > jcr:content.

     

  3. In the Properties tab area, under the Name column, select imageserviceURL to highlight the entire row.

  4. Under the Value column, double-tap the value field to open the field for typing.

  5. In the Value field, enter the URL for the Image Service URL. For example, http://companyname.assetsadobe.com

    The imageserviceUrl is the URL from which Dynamic Media images are delivered; it is not the URL where the assets are published to. You specify the publish URL when you configure the Replication Agent later in the steps.

  6. Near the upper-left corner of the CRXDE Lite page, touch Save All.

    You will now configure the Replication Agent. The Replication Agent publishes Dynamic Media assets such as images, video metadata, and sets to the Image Service Host publish node. The Replication Agent is not enabled by default. 

  7. In AEM, touch Tools > Operations > Replication > Agents on author.

  8. On the Agents on author page, touch Dynamic Media Agent (publish).

  9. Touch Edit.

  10. In the Agent Settings dialog box, in the Settings tab, check Enabled to turn on the agent.

  11. Touch the Transport tab. In the URI field, enter the Replication Service URL used to publish content from on-premise Author node to Image Service publish node for cloud-based delivery (for example, https://NA1-replicate.assetsadobe.com).

    Note: If you set the URI to your local on-premise publish server, you will have two replication agents replicating content.

  12. Specify the Replication account user name and password in the respective fields, and then touch OK.

    You can continue the configuration by optionally setting up the filtering of assets for replication. Or, you can continue to the final task of Delivering Assets instead.

     

(Optional) Customizing the filtering assets in the default replication agent

After enabling Dynamic Media in AEM, Image and Video content get published to both the AEM publish nodes that you manage, and also to the Dynamic Media publish nodes that are Adobe manages.

Note that not all Dynamic Media content needs to be available in both places. It is possible to save significant space on your local AEM publish node. You can do this by filtering out the PTIFF image renditions and original video content. To do so, you can complete the following steps:

  1. Download the filter_defaultagent_dm_renditions.zip package.

  2. In AEM, click/Tap Tools > CRXDE Lite.

  3. On the CRXDE Lite toolbar, click/tap the Package icon.

  4. On the CRX Package Manager page, near the top, click/tap Upload Package.

  5. In the Upload Package dialog box, browse to and select the filter_defaultagent_dm_renditions.zip package that you downloaded earlier, and then click/tap OK.

  6. In the table list of packages, locate the package name filter_defaultagent_dm_renditions.zip that you just uploaded, and then click/tap Install to the right of the name.

  7. In AEM, click/tap Tools > CRXDE Lite.

  8. In the left folder tree, navigate to /etc/replication/agents.author/publish/jcr:content/damRenditionFilters  to review the filters.

    Included filters:

    • No cqdam.pyramid.tiff rendition for images.
    • No original and cqdam.pyramid.tiff rendition for videos.
    file

(Optional) Customizing the filtering of assets for replication

In non-Dynamic Media deployments, you replicate all assets (both images and video) from your On-premise author environment to the On-premise publish node. This workflow is necessary because the On-premise publish servers also deliver the assets.

However, in Dynamic Media deployments, because assets are delivered by way of the cloud, there is no need to replicate those same assets to AEM local/On-premise publish nodes. Such a "hybrid publishing" workflow avoids extra storage costs and longer processing times to replicate assets. Other content, such as Dynamic Media viewers, Site pages, and static content continue to be served from the On-Premise publish nodes.

Besides replicating the assets, the following non-assets are also replicated:

  • Dynamic Media Delivery configuration: /etc/dam/imageserver/configuration/jcr:content/settings
  • Image Presets: /etc/dam/imageserver/macros
  • Viewer Presets: /etc/dam/presets/viewer

The filters provide a way for you to exclude assets from being replicated to the On–premise publish node. You can use the default filters that we provide--which meet most common use cases you may encounter--or you can optionally customize the filters to meet your particular needs using regular expressions. 

The following filters are active by default:

  Filter Mimetype Renditions
Dynamic Media Hybrid Image Delivery

filter-images

filter-sets

 

Starts with image/

Contains application/ and ends with set.

The out-of-the-box "filter-images" (applies to single images assets) and "filter-sets" (applies to Spin Sets, Image Sets, and Mixed Media Sets) will:
  • Include PTIFF images and Metadata for replication. Any rendition starting with cqdam.
  • Exclude from replication the original image and static image renditions.
Dynamic Media Hybrid Video Delivery filter-video Starts with video/ The out-of-the-box "filter-video" will:
  • Include proxy video renditions, PTIFF thumbnail/poster image, metadata (both at parent video and video renditions) for replication. Any rendition starting with cqdam.
  • Exclude from replication the original video and static thumbnail renditions.
 

filter-images

filter-sets

filter-video

Starts with image/

Contains application/ and ends with set.

Starts with video/

You configure the Transport URI to point to your local On-premise publish server instead of the Adobe Dynamic Media Cloud Replication Service URL.

The out-of-the-box "filter-images", "filter-sets" and "filter-video" will:

  • Include PTIFF image and metadata for replication. However, because they do not exist in the JCR-for those running AEM - Scene7 integration-it effectively does nothing.
  • Exclude from replication the original image, static image renditions, original video, and static thumbnail renditions.

 

To optionally customize the filtering of assets for replication:

  1. In AEM, in the left rail, touch Tools > CRXDE Lite.

  2. To define the Mime Type for the filter, you can locate the Mime Type as follows:

    In the left rail, expand content > dam > <locate_your_asset> > jcr:content > metadata, and then in the table, locate dc:format.

    The following graphic is an example of an asset's path to dc:format.

    file

    Notice that the dc:format for the asset Fiji Red.jpg is image/jpeg.

    To have this filter apply to all images, regardless of their format, double-tap dc:format to unlock its mime-type field under the Value column. Set the value to image/*  where * is a regular expression that is applied to all images of any format.

    To have the filter apply only to images of the type JPEG, then you would enter a value of image/jpeg.

     

    For example, navigate to content/dam/<locate your asset>/jcr:content/renditions. Using the example path below, if you only wanted to replicate the PTIFF (Pyramid TIFF), then you would enter +cqdam,* which includes all the renditions that start with cqdam. In the the example below, it is cqdam.pyramid.tiff .

    If you only wanted to replicate the original, then you would enter +original .

  3. Define what renditions you want to include or exclude from replication.

    Characters that you can use to filter for replication include the following:

    Character to use How it filters assets for replication
    * Wildcard character
    + Includes assets for replication.
    - Excludes assets from replication.

    For example, navigate to content/dam/<locate your asset>/jcr:content/renditions. Using the example path below, if you only wanted to replicate the PTIFF (Pyramid TIFF), then you would enter +cqdam,* which includes all the renditions that start with cqdam. In the the example below, it is cqdam.pyramid.tiff .

    If you only wanted to replicate the original, then you would enter +original .

    file

Delivering assets

After you complete all the tasks above, activated Dynamic Media assets are served from the Image Service publish node. In AEM, this ability shows up in a Copy Image URL, Copy Viewer URL, Embed Viewer Code, and in the WCM. 

While Dynamic Media assets are retrieved from the Image Service publish node, the Dynamic Media viewers are always served from the local publish node.

Important Note: only Author node needs to have Dynamic Media enabled. The Local publish node must not have Dynamic Media enabled, otherwise assets will be delivered from the local publish node when it should be delivered only from the Image Service publish node.

Copying an image URL

  • Touch an activated image asset.
  • Touch a Dynamic Image Preset.
  • Touch URL. The Copy URL dialog box displays a URL similar to following (link is not intended to be active): 

http://IMAGESERVICEPUBLISHNODE/is/image/content/dam/path/to/Image.jpg?$preset$

Where IMAGESERVICEPUBLISHNODE refers to the Image Service URL.

Copying a viewer URL

  • Touch an activated asset.
  • Near the upper-right corner of the page, touch the Eye icon, and select Viewer Preset.
  • Touch one of the presets.
  • Touch URL. The Copy URL dialog box displays a URL similar to the following (not intended to be an active link):

http://LOCALPUBLISHNODE/etc/dam/viewers/s7viewers/html5/BasicZoomViewer.html?asset=/content/dam/path/to/Image.jpg&config=/etc/dam/presets/viewer/Zoom_dark&serverUrl=http://IMAGESERVICEPUBLISHNODE/is/image/&contentRoot=%2F

Where LOCALPUBLISHNODE refers to the regular local publish node and IMAGESERVICEPUBLISHNODE refers to the Image Service URL.

Copying a viewer's embed code

  • Touch an activated asset.
  • Near the upper-right corner of the page, touch the Eye icon, and select Viewer Preset.
  • Touch one of the presets.
  • Touch Embed Code. The Copy Embed Code dialog box displays a code snippet similar to the following:
<style type="text/css">
    #s7basiczoom_div.s7basiczoomviewer{
         width:100%;
         height:auto;
    }
</style>
<script
 type="text/javascript" src="http://LOCALPUBLISHNODE/etc/dam/viewers/s7viewers/html5/js/BasicZoomViewer.js"></script>
<div id="s7basiczoom_div"></div>
<script type="text/javascript">
    var s7basiczoomviewer = new s7viewers.BasicZoomViewer({
        "containerId" : "s7basiczoom_div",
        "params" : {
            "serverurl" : "http://IMAGESERVICEPUBLISHNODE/is/image/",
            "contenturl" : "http://LOCALPUBLISHNODE/",
            "config" : "/etc/dam/presets/viewer/Zoom_dark",
            "asset" : "/content/dam/path/to/Image.jpg" }
    }).init();
</script>
        

Las muestras de código se muestran con fines de ilustración únicamente.

Where LOCALPUBLISHNODE refers to the regular local publish node and IMAGESERVICEPUBLISHNODE refers to the Image Service URL.

WCM Dynamic Media component

WCM pages that reference Dynamic Media image components reference the delivery service.

Configuring Dynamic Media Image Delivery servers

Configuring the Dynamic Media Delivery Server involves editing the Adobe CQ Scene7 ImageServer bundle and the Adobe CQ Scene7 PlatformServer bundle.

Nota

Dynamic Media works out-of-the-box after it is enabled. However, you can optionally choose to fine tune your installation by configuring Dynamic Media Image Delivery servers to meet certain specifications or requirements.

Prerequisite: Before you configure Dynamic Media Image Delivery server, ensure that your VM of Windows includes an installation of the Microsoft Visual C++ Libraries. The libraries are necessary to run Dynamic Media Image Delivery server. You can download the Microsoft Visual C++ 2010 Redistributable Package (x64) here.

To configure Dynamic Media Image Delivery servers:

  1. In AEM (Adobe Experience Manager), tap Tools > Web Console.

  2. On the Adobe Experience Manager Web Console Configuration page, tap OSGi > Configuration to list all the bundles that are currently running within AEM.

    The Dynamic Media Delivery Servers are found under the following names in the list:

    • Adobe CQ Scene7 ImageServer
    • Adobe CQ Scene7 PlatformServer
  3. In the list of bundles, to the right of Adobe CQ Scene7 ImageServer, tap the Edit icon.

  4. In the Adobe CQ Scene7 ImageServer dialog box, set the following default value options:

    Nota

    In most cases, there is no need to change the default values. However, if you do change the default values, you must restart the bundle for the changes to take affect.

    Property Default value Description
    TcpPort.name empty Port number to use for communication with the ImageServer process. By default free port is automatically detected.
    AllowRemoteAccess.name empty

    Allow or disallow remote access to ImageServer process. If false, the image server listens only on localhost.

    Default externalizer settings that point to the localhost need to specify the actual domain or IP address of the specific VM instance. The reason for this is because  the localhost may be pointing to the parent system of the VM.

    Domains or IP addresses for the VM may need to have a host file entry so that it can resolve itself.

    MaxRenderRgnPixels 16 MPixels Maximum size in megapixels that is rendered.
    MaxMessageSize 16 MBytes Maximum message size in megabytes that is delivered.
  5. Tap Save.

  6. In the list of bundles, to the right of Adobe CQ Scene7 PlatformServer, tap the Edit icon.

  7. In the Adobe CQ Scene7 PlatformServer dialog box, set the following default value options:

    Nota

    In AEM 6.0, the Dynamic Media Delivery Servers use their own disk cache to cache responses. The AEM 6.0 HTTP cache and the Dispacher cannot be used to cache responses from the Dynamic Media Delivery Server.

    Property Default value Description
    Catalog root /etc/dam/imageserver/configuration/jcr:content/settings Default manifest settings. See Default Manifest below.
    Cache enabled Checked Whether or not the response cache is enabled
    Cache roots cache One or more paths to the response cache folders. Relative paths are resolved against the internal s7imaging bundle folder.
    Cache Max Size 200000000 Maximum size of response cache in bytes.
    Cache Max Entries 100000 Maximum number of entries allowed in the cache.

    Default Manifest

    The default manifest lets you configure the defaults that are used to generate the Dynamic Media Delivery responses. You can fine tune quality (JPEG quality, resolution, resampling mode), caching (expiration),  and prevent the rendering of images that are too large (defaultpix, defaultthumbpix, maxpix).

    The location of the default manifest configuration is taken from the Catalog root default value of the Adobe CQ Scene7 PlatformServer bundle. By default this value is located at the following path within Tools > CRXDE Lite:

    /etc/dam/imageserver/configuration/jcr:content/settings

    Property Default value Description
    bkgcolor FFFFFF

    Default background color. RGB value used to fill in any area of a reply image which does not contain actual image data.

    See also BkgColor in the Image Serving API.

    defaultpix 300,300

    Default view size. The server constrains reply images to be no larger than this width and height, if the request does not specify the view size explicitly using wid=, hei=, or scl=.

    Specified as two integer numbers, 0 or larger, separated by a comma. Width and height in pixels. Either or both values may be set to 0 to keep them unconstrained. Does not apply to nested/embedded requests.

    See also DefaultPix in the Image Serving API.

    defaultthumbpix 100,100

    Default thumbnail size. Used instead of attribute::DefaultPix for thumbnail requests (req=tmb).

    The server constrains reply images to be no larger than this width and height, if a thumbnail request (req=tmb) does not specify the size explicitly not specify the view size explicitly using wid=, hei=, or scl=.

    Specified as two integer numbers, 0 or larger, separated by a comma. Width and height in pixels. Either or both values may be set to 0 to keep them unconstrained. 

    Does not apply to nested/embedded requests.

    See also DefaultThumbPix in the Image Serving API. 

    expiration 10

    Default client cache time to live. Provides a default expiration interval in case a particular catalog record does not contain a valid catalog::Expiration value.

    Real number, 0 or greater. Number of hours until expiration since the reply data was generated. Set to 0 to always expire the reply image immediately, which effectively disables client caching. Set to -1 to mark as never expire.

    See also Expiration in the Image Serving API. 

    jpegquality 75

    Default JPEG encoding attributes. Specifies the default attributes for JPEG reply images.

    Integer number and flag, separated by a comma. The first value is in the range 1..100 and defines the quality. The second value may be 0 for normal behavior, or 1 to disable the RGB chromaticity down-sampling usually employed by JPEG encoders.

    See also JpegQuality in the Image Serving API.

    maxpix 2000,2000

    Reply image size limit. Maximum reply image width and height that is returned to the client.

    The server returns an error if a request causes a reply image whose width or height is larger than attribute::MaxPix.

    See also MaxPix in the Image Serving API.

    resmode SHARP2

    Default resampling mode. Specifies the default resampling and interpolation attributes to be used for scaling image data.

    Used when resMode= is not specified in a request.

    Allowed values include BILIN, BICUB, or SHARP2.

    Enum. Set to 2 for bilin, 3 for bicub, or 4 for sharp2 interpolation mode. Use sharp2 for best results.

    See also ResMode in the Image Serving API.

    resolution 72

    Default object resolution. Provides a default object resolution in case a particular catalog record does not contain a valid catalog::Resolution value.

    Real number, larger than 0. Typically expressed as pixels per inch, but may also be in other units, such as pixels per meter.

    See also Resolution in the Image Serving API.

​