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.
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.
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