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:
- Click on the
Assets
tab. - 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
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
andiptc
.MultiviewPicture
: The marker facet to be put on document types already havingPicture
facet to instantiateMultiviewPictureAdapter
.
Document Type
Picture
: This is the default type in Nuxeo that handles picture files. It comes with thePicture
andMultiviewPicture
facets.
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 eventupdatePictureview
to notify asynchronous listeners.pictureViewListener
: Asynchronous listener computing the picture views.
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.
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.
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
andpicture
(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 theVideo
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 theVideo
facet.
Document Type
Video
: This is the default type in the Nuxeo Platform that handles video files. It comes with theVideo
,HasStoryboard
andHasVideoPreview
facets.
Listeners
videoChangedListener
: Synchronous listener checking if the main Video file has changed, if so extract the video information (stored invid:info
) and trigger and eventvideoChanged
to notify asynchronous listeners.videoStoryboardListener
: Asynchronous listener generating the preview screenshots (stored as picture views in thepicture
schema) and the storyboard of the video (stored invid:storyboard
).videoAutomaticConversions
: Asynchronous listener computing the transcoded videos from the video conversions marked as automatic. Transcoded videos are stored invid:transcodedVideos
.
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/*
.
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.
- From the Automation menu, select User Actions and create a new User Action.
- Add a button in the Contextual Tools category to trigger the Automation Chain.
- Under the Action Activation menu, select the permissions required to activate the User Action and add the Video document type to the activation conditions.
- 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 thevideoAutomaticConversions
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.
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), andaudio
.
Document Type
Audio
: This is the default type in the Nuxeo Platform that handles audio files. It comes with theAudio
facet.
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/*
.