Introduction

Welcome to MADAM

MADAM is a digital asset management library. It aims to facilitate the handling of image, audio, and video files by helping out with several tasks:

Processing
MADAM has a very extensible processing architecture. With the various operators offered by MADAM, for example, images can be optimized for display on mobile devices by resizing them, converting them to a different file format, or sharpening them.
Organization
MADAM helps you to organize media data by customizable backends to read and store media files. Once the files are stored, the backend can be queried based on the metadata that is present in the media files (e.g. XMP, Exif, …) or based on derived properties such as file size or the duration of a sound file.

The Overview section will give an introduction to the concepts and vocabulary used in MADAM. If you rather want to get started immediately, have a look at the Quickstart section.

File format support

MADAM supports a wide range of file formats for video, image, and audio data. This is achieved by using several external open source libraries. Pillow and piexif (for metadata) are used to read, process, or write image files. FFmpeg is used to read, process, or write audio and video files.

Note

The support of file formats heavily depends on the configuration of your local system. The formats shown in the following list should be available on most configurations. However, it represents only a fraction of the formats supported by the underlying libraries.

Audio
  • MP3
  • OGG
  • WAV / RIFF WAVE
Image
  • PNG
  • JPEG / JFIF
  • GIF
Video
  • AVI
  • Matroska (MKV), WebM
  • MPEG2 transport stream
  • OGG
  • Quicktime, MPEG4
Vector graphics
  • SVG

Adding support for a new format often just means adding a mapping of the library format name to a MIME type to one of the existing processors. If you want to integrate a new library or tool into MADAM, a new madam.core.Processor or madam.core.MetadataProcessor will have to be implemented. See Overview section for more details.