Addons

Digital Asset Management (DAM)

Updated: March 18, 2024

The Digital Asset Management addon of the Nuxeo Platform provides multimedia files management (pictures, audio and video).

Installation

This add-on requires no specific installation steps. It can be installed like any other package from the Marketplace or from the Admin tab.

It is also possible to install it from the Startup wizard.

However some features depend on external software for conversion and transcoding. See the page Installing and Setting Up Related Software.

After you installed Nuxeo DAM, you have three new document types available.

Functional Overview

The Nuxeo DAM document types are fully integrated in the Nuxeo Platform and are available alongside the other document types. They can be created the same ways as the platform default document types, they get the same metadata, the same workflows, etc.

Web UI

Pictures

Pictures are specific files. To take into account the specificities of pictures, additional information are available such as:

  • Rotate actions
  • Dimensions
  • Format
  • ...

Pictures can be created and edited in workspaces and folders like any other document type. You can also classify and organize them in collections.

When you import a document having the Picture facet on your platform, additional formats are available on it. The default ones are:

  • Thumbnail: the picture is converted to JPG and resized to 100 px height or width.
  • Small: the picture is converted to JPG and resized to 280 px height or width.
  • Medium: the picture is converted to JPG and resized to 550 px height or width.
  • FullHD: the picture is converted to JPG and resized to 1,920 px height or width.
  • OriginalJpeg: the picture is converted to JPG but the original size is kept. This export is done even if the original picture was a JPG file.
    The original and medium pictures can be the same size when you download them if the original is smaller or equal to medium size.

To download the format that you want, click on  in front of it.

Videos

Video is a document types dedicated to the management of videos files and can be created or edited like any other files.

Viewing Videos

Video documents can be viewed from their View tab where a video player is available.

Converting Videos

It is possible to convert the video to various formats from the Web UI user interface:

  • WebM
  • MP4

To convert the video, click on  corresponding to the format you want.

Browsing Assets

Once DAM installed and assets documents created, a new search type is displayed in the left menu, the Assets search. This search will let you search by assets metadata, such as:

  • Type
  • Format
  • Width
  • Height
  • Etc.

The Assets search leverages Elasticsearch to provide a quicker and more efficient search. The search form uses Elasticsearch aggregates for most fields: aggregate fields values are filtered so as to display only relevant values and show the count of matching documents for each value.

The Assets search form offers several search criteria, that you can associate to define your search and find documents. Search results use the thumbnail view by default. Clicking on a document thumbnail will lead you directly to the document.

To search documents using detailed criteria:

  1. Click on the Assets tab.
  2. Fill in the form with your criteria and/or select the search criteria corresponding to your needs.
    The search results will be automatically updated according to the criteria selected.

Technical Overview

Picture

Schema

  • picture: Used to store picture views.
  • image_metadata: Used to store EXIF metadata.

Some IPTC metadata are stored within dublincore. More information Binary Metadata

See http://explorer.nuxeo.org/nuxeo/site/distribution/10.10/viewContribution/org.nuxeo.ecm.platform.picture.coreTypes--schema.

Facets

  • Picture: The facet to put on Document Types that should be considered as Picture . This facet comes with the following schemas: file (to store the picture file), picture, image_metadata and iptc.
  • MultiviewPicture: The marker facet to be put on document types already having Picture facet to instantiate MultiviewPictureAdapter.

See http://explorer.nuxeo.org/nuxeo/site/distribution/10.10/viewContribution/org.nuxeo.ecm.platform.picture.coreTypes--doctype.

Document Type

  • Picture: This is the default type in Nuxeo that handles picture files. It comes with the Picture and MultiviewPicture facets.

See http://explorer.nuxeo.org/nuxeo/site/distribution/10.10/viewContribution/org.nuxeo.ecm.platform.picture.coreTypes--doctype .

Listeners

  • pictureChangedListener: Synchronous listener checking if the main Picture file has changed. If so, pre-fills all the picture views with a placeholder and trigger an event updatePictureview to notify asynchronous listeners.
  • pictureViewListener: Asynchronous listener computing the picture views.

See http://explorer.nuxeo.org/nuxeo/site/distribution/10.10/viewContribution/org.nuxeo.ecm.platform.picture.listeners--listener.

File Manager Plug-in

The plug-in Imageplugin is contributed to the File Manager to create Picture documents when the imported file mime type matches one of the contributed image/* mime types.

See http://explorer.nuxeo.org/nuxeo/site/distribution/10.10/viewContribution/org.nuxeo.ecm.platform.picture.filemanager.contrib--plugins.

Picture conversions

Picture conversions are used to generate the picture views of document having the Picture facet. Default picture conversions (Thumbnail, Small, Medium and OriginalJpeg) are contributed to the pictureConversions extension point. They are marked as default and so are always generated, their associated filters are not evaluated. If the default conversions are not necessary, they can be disabled using Nuxeo Studio.

Video

The Nuxeo Platform provides an add-on with the following video features:

  • Extract video information
  • In-browser HTML5 video player (fallback on Flash player if needed)
  • Storyboard extraction and time based navigation

Schema

  • video: Used to store the video info, the transcoded videos and the storyboard.

See http://explorer.nuxeo.org/nuxeo/site/distribution/10.10/viewContribution/org.nuxeo.nuxeo.ecm.platform.video.doctype--schema.

Facets

  • Video: Facet to put on Document Types that should be considered as Video. This facet comes with the following schemas: file (to store the video file), video and picture (to store the preview screenshot).
  • HasStoryboard: Marker facet to be set on types for which you want to generate Storyboard, types on which you already added the Video facet.
  • HasVideoPreview: Marker facet to be set on types for which you want to generate a video preview (screenshot), and on which you already added the Video facet.

See http://explorer.nuxeo.org/nuxeo/site/distribution/10.10/viewContribution/org.nuxeo.nuxeo.ecm.platform.video.doctype--doctype.

Document Type

  • Video: This is the default type in the Nuxeo Platform that handles video files. It comes with the VideoHasStoryboard and HasVideoPreview facets.

See http://explorer.nuxeo.org/nuxeo/site/distribution/10.10/viewContribution/org.nuxeo.nuxeo.ecm.platform.video.doctype--doctype.

Listeners

  • videoChangedListener: Synchronous listener checking if the main Video file has changed, if so extract the video information (stored in vid:info) and trigger and event videoChanged to notify asynchronous listeners.
  • videoStoryboardListener: Asynchronous listener generating the preview screenshots (stored as picture views in the picture schema) and the storyboard of the video (stored in vid:storyboard).
  • videoAutomaticConversions: Asynchronous listener computing the transcoded videos from the video conversions marked as automatic. Transcoded videos are stored in vid:transcodedVideos.

See http://explorer.nuxeo.org/nuxeo/site/distribution/10.10/viewContribution/org.nuxeo.platform.video.core.listeners--listener.

File Manager Plug-in

The plug-in VideoImporter is contributed to the File Manager to create Video documents when the imported file mime type matches video/*.

See http://explorer.nuxeo.org/nuxeo/site/distribution/10.10/viewContribution/org.nuxeo.ecm.platform.video.filemanager.contrib--plugins.

Conversion Operations

More complex conversions can be performed using the video conversion operations:

  • Add Watermark to Video
  • Concatenate Video
  • Slice Video
  • Extract Video Closed Captions

Be sure you have both ffmpeg and ccextractor installed, both of which are required by certain operations.

Locate the operation you wish to use on the Automation Documentation page and copy its JSON definition to the Automation Operations Registry in Nuxeo Studio  (Settings > Registries > Automation Operations) . The operation will then be exposed in Studio and can be implemented in an Automation Chain.

Add a Photo Watermark to a Video

To add a company logo to your videos, create a simple Automation Chain in Nuxeo Studio.

  1. From the Automation menu, select User Actions and create a new User Action.
  2. Add a button in the Contextual Tools category to trigger the Automation Chain.
  3. Under the Action Activation menu, select the permissions required to activate the User Action and add the Video document type to the activation conditions.
  4. Enter the name of your Automation Chain, and click Create.

Then create your Automation Chain as follows:

- Context.FetchDocument
- Context.SetInputAsVar:
    name: theVideoToConvert
- Repository.GetDocument:
    value: /default-domain/workspaces/watermarks/NuxeoLogo
- Context.SetInputAsVar:
    name: watermark
- Context.RestoreDocumentInput:
    name: theVideoToConvert
- Video.AddWatermark:
    watermark: Context["watermark"]
    x: '0'
    y: '0'
- WebUI.DownloadFile

When navigating on an existing Video document in Nuxeo, clicking the User Action button you created triggers the operation, taking the video as input and the watermark image as a parameter. By default the watermark will appear in the top left corner. This can be modified by attributing different values to the optional x and y parameters. The watermarked video is then automatically downloaded.

Concatenate Videos

To merge two or more videos together sequentially, a User Action can be added to the Document List Toolbar so that Video documents in the same folder can easily be selected and concatenated:

- Seam.GetSelectedDocuments
- Video.Concat
- WebUI.DownloadFile

The resulting video is then automatically downloaded. The videos you wish to concatenate should all be of the same format.

Slice Videos

You can edit the length of the videos using the Video Slice operations. The following automation chain will download a zip file with 5-second snippets of the original video:

- Context.FetchDocument
- Video.SliceInParts:
    duration: 00:00:05
- Blob.CreateZip:
    filename: SlicedVideos
- WebUI.DownloadFile

Or you can specify the start time and duration of the clip and download it directly:

- Context.FetchDocument
- Video.Slice:
    duration: 00:00:10
    encode: 'true'
    startAt: 00:00:23
- WebUI.DownloadFile
Extract Video Subtitles

Creating a separate transcript of a Video document is easily done if the video has subtitles. By adding a User Action that triggers the following automation chain on all Video documents, you can instantly download a simple text file of the video's subtitles.

- Context.FetchDocument
- Video.ExtractClosedCaptions:
    outFormat: ttxt
- WebUI.DownloadFile

Exposed Extension Points

The VideoService exposed two extension points:

  • videoConversions : Extension point to contribute video conversions that will be available on the VideoService.

    Default conributions

    <extension target="org.nuxeo.ecm.platform.video.service.VideoService"
      point="videoConversions">
      <videoConversion name="MP4 480p" converter="convertToMP4" height="480"/>
      <videoConversion name="WebM 480p" converter="convertToWebM" height="480"/>
      <videoConversion name="Ogg 480p" converter="convertToOgg" height="480"/>
    </extension>
    

  • automaticVideoConversions : Extension point to contribute which video conversion should be done automatically (through the videoAutomaticConversions listener).

    Default contributions

    <extension target="org.nuxeo.ecm.platform.video.service.VideoService"
      point="automaticVideoConversions">
      <automaticVideoConversion name="MP4 480p" order="0" />
      <automaticVideoConversion name="WebM 480p" order="10" />
    </extension> 
    

Audio 

Schema

  • audio: Used to store audio related information.

See http://explorer.nuxeo.org/nuxeo/site/distribution/10.10/viewContribution/org.nuxeo.nuxeo.ecm.platform.audio.doctype--schema.

Facets

  • Audio: Facet to put on document types that should be considered as Audio. This facet comes with the following schemas: file (to store the audio file), and audio.

See http://explorer.nuxeo.org/nuxeo/site/distribution/10.10/viewContribution/org.nuxeo.nuxeo.ecm.platform.audio.doctype--doctype.

Document Type

  • Audio: This is the default type in the Nuxeo Platform that handles audio files. It comes with the Audio facet.

See http://explorer.nuxeo.org/nuxeo/site/distribution/10.10/viewContribution/org.nuxeo.nuxeo.ecm.platform.audio.doctype--doctype.

File Manager Plug-in

The plug-in AudioImporter is contributed to the File Manager to create Audio documents when the imported file mime type matches audio/*.

See http://explorer.nuxeo.org/nuxeo/site/distribution/10.10/viewContribution/org.nuxeo.ecm.platform.audio.filemanager.contrib--plugins.