The Digital Asset Management addon of the Nuxeo Platform provides multimedia files management (pictures, audio and video).
This addon requires no specific installation steps. It can be installed like any other package from the Marketplace or from the Admin tab.
However some features depend on external software for conversion and transcoding. See the page Installing and Setting Up Related Software.
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.
Pictures are specific files. To take into account the specificities of pictures, additional information are available such as:
- Rotate actions
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.
Video is a document types dedicated to the management of videos files and can be created or edited like any other files.
Video documents can be viewed from their View tab where a video player is available.
It is possible to convert the video to various formats from the Web UI user interface:
To convert the video, click on corresponding to the format you want.
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:
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
- 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.
picture: Used to store picture views.
image_metadata: Used to store EXIF metadata.
Some IPTC metadata are stored within dublincore. More information Binary Metadata
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),
MultiviewPicture: The marker facet to be put on document types already having
Picturefacet to instantiate
Picture: This is the default type in Nuxeo that handles picture files. It comes with the
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
updatePictureviewto notify asynchronous listeners.
pictureViewListener: Asynchronous listener computing the picture views.
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 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.
The Nuxeo Platform provides an addon 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
video: Used to store the video info, the transcoded videos and the storyboard.
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),
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
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: This is the default type in the Nuxeo Platform that handles video files. It comes with the
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
videoChangedto notify asynchronous listeners.
videoStoryboardListener: Asynchronous listener generating the preview screenshots (stored as picture views in the
pictureschema) and the storyboard of the video (stored in
videoAutomaticConversions: Asynchronous listener computing the transcoded videos from the video conversions marked as automatic. Transcoded videos are stored in
VideoImporter is contributed to the File Manager to create
Video documents when the imported file mime type matches
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
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.
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
y parameters. The watermarked video is then automatically downloaded.
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.
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
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
VideoService exposed two extension points:
videoConversions: Extension point to contribute video conversions that will be available on the VideoService.Default contributions
<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
<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: Used to store audio related information.
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: This is the default type in the Nuxeo Platform that handles audio files. It comes with the
AudioImporter is contributed to the File Manager to create
Audio documents when the imported file mime type matches