Designing MAM Systems: End-To-End Workflow
This series provides a unique reference resource for those specifying, deploying and maintaining Media Asset Management Systems for production and archiving. It describes the types, terminology and technology of Media Asset Management systems. It discusses architecture, metadata, approaches to automation, integration and the pros and cons of bespoke Vs off-the-shelf systems.
You may also be interested in:
Media Asset Management systems are a fundamental element of the broadcast media supply chain. Although systems for news, delivery, production and archiving have many shared core technologies, each has evolved its own nuanced functionality to fit workflow demands. Many vendors offer different applications accordingly. This guide explores the fundamental principles of Media Asset Management system design and implementation with a firm eye on production and archiving... but many of the standards and best practices discussed here apply across all MAM systems.
Media Asset Management systems can become more complex as they evolve. The key to achieving long term success lies in a solid understanding of the underlying technology, design principles and terminology. Careful consideration of the scope of the system and following established standards and protocols which will streamline future expansion is critical.
Managing assets becomes a bigger and more complex task as the scope and scale of ingested content increases. AI provides leverage when wrangling these huge quantities of media assets, but knowing what happens under the hood of an asset management system is key to deploying it successfully.
Designing An End-To-End Content Manager
The architectural design of a truly end-to-end content system needs to accommodate the entire lifecycle from ingest to archiving taking deployment into account along the way.
Study the metadata required by each stage of the process to start with. Then isolate the core items that are important everywhere. The core items define the columns required in the spine table.
Then each of the specialized contexts will determine what needs to be implemented in a set of role tables that are attached to the spine when needed. The connection uses SQL joins based on the primary key value.
This is a very conventional database design technique and used in many database project designs.
Spine Table
Examine the Dublin Core specifications when developing the structure of your spine table. The schema in the table below describes 15 basic properties for media assets.
| Advisory | Definition |
|---|---|
| Title | This is the headline name. When defining the field structure in your database, make sure it is large enough to support the longest possible title you might need. Also make sure this field can carry Unicode text. |
| Creator | This is person or organization that initially created the asset. |
| Subject | Keywords or phrases that describe the subject. This is intended to be used by a search engine. Use controlled vocabularies or classification schemes. This data could be normalized and simply store tokenized values. |
| Description | Some humanly readable text that describes the asset. |
| Publisher | The person or more likely an organization that makes the asset available in its current form. This need not be the same as the creator. |
| Contributor | A person or organization that is not named in the creator field but has made a significant intellectual property contribution. |
| Date | The creation date of the asset. ISO 8601 format is preferred here (YYYY-MM-DD) which allows chronological arrangement with a simple alphanumeric sort. The YYYY format is allowed but is not as useful. |
| Type | The resource category. Use one of the enumerated types. |
| Format | The data format, dimensions and duration of the asset. This should be sufficient to identify the software needed to edit or view the asset. The Specification suggests this could use an enumerated list to provide better interoperability. |
| Identifier | This uniquely identifies the resource without risk of name space collisions. Networked resources could use a URL or URN value. ISAN and UUID values are also possibilities. |
| Source | Metadata describing a prior source that this asset was based on. This allows for provenance tracing. |
| Language | The primary language used by the content. Use one of the enumerated languages specified by ISO 639 as defined in RFC 1766. |
| Relation | The identifier of a second resource and its relationship to this asset. This might support the coupling of ST 2110 video and audio streams that are maintained separately and hence stored as different resources that need to be identified in the asset manager. |
| Coverage | This describes spatial and temporal coverage of the content. For example which territories the asset describes and when it was created. GPS data from cameras is useful here. Textual representation of the time period or using the ISO 8601 format is permitted. |
| Rights | A description of the licensing rights expressed as a link to an external rights management service. |
Clearly some of these values can be broken out to multiple sub-fields. Introducing extra columns is preferable to creating delimited content within a single field. Creating compound fields makes search queries more complex. The Dublin Core specification only describes a minimum level of functionality necessary for interoperation between different systems. It is often extended by proprietary implementations.
For example, Creation date can be augmented with a time value. The format field could be separated into:
- File format.
- Codec.
- Coding parameters.
- Bit-rate.
- Duration.
- Multi-track audio arrangement.
Additional fields can also be introduced. These might be helpful:
- Asset modification date.
- User ID who created the assets.
- User ID who most recently modified the asset.
- Published date.
Relational Role Tables To Support The Whole Lifecycle
Each stage of the production lifecycle needs to be supported. They all depend on a storage system. There is no need to create more than one repository but the metadata will benefit from some partitioning.
Build the role tables around each stage of the lifecycle. Clearly the program editors are not involved in licenses and marketing issues so their tools would not need to join with those role tables. They would need access to the ingested content, titles and slates and anything else that they could potentially import into an NLE.
These supporting roles would often be managed within a librarian application. Historically, Proximity Artbox was a good design. So good in fact that Apple purchased it as the foundation of the Final Cut Server librarian. That supported a very large number of metadata properties for each entity. Final Cut Server could extract assets based on queries and assemble them into containers formatted as Final Cut projects and then open the NLE with that project ready to edit. Final Cut Server is now discontinued but its implementation can inform our designs.
| Lifecycle stage | Requirements |
|---|---|
| Pre-production design & planning | Preparing assets for the shoot. Call sheets. Schedules. Set design. Experimental visual effects tests. |
| Staging | Studio sound stage or location booking and set construction. |
| Shooting | Logging all the footage as it is being shot. The quality of this metadata is important and often neglected. |
| Ingest or import | Logging the footage as it is ingested. That might be from tapes or incoming streams. |
| Post production and visual effects | Settings for visual effects filters and tools. |
| Titles and slates | Textual content, background artwork, styling and clip duration. |
| Editing | Log of non-destructive edit actions. Edit Decision Lists from proxy editing systems. |
| Accessibility support (audio description and subtitles) | Links to supporting data and sound tracks. |
| Distribution & syndication | Details of commercial arrangements and transactions. |
| Deployment for streaming on demand | Details of streaming parameter settings and formats available. Instructions for deployment on edge servers. |
| Embedding into web sites | Details of how to embed clips into player rectangles built with the <video> tag. |
| Deployment for linear broadcast and scheduling | Details of when the content needs to be played out and which head-end channel to use. |
| Rights control & licensing | Licensing details and transactions log. |
| Marketing | Promotional materials. Posters, flyers, artworks, logos, cast and crew biographies etc. |
| Revenue collection | Financial records, invoicing, credit control and bank transaction logs. |
| Archiving | Details of how the content is archived for long-term storage. |
| Repurposing | How to access the content for repurposing and future inclusion into other works. |
BBC News developed the Jupiter system to manage an entirely file-based workflow for news production. Around 2004 a design study for a ‘BBC Desktop of the future’ examined how to integrate the Jupiter workflow, ENPS and the News Online web content for News staff and present them in a unified user interface.
We should not deem any of these projects to be failures if they don’t survive for more than a few years. They are all incremental steps on a long journey and we learn a great deal from building and running each one. That knowledge is hard won and carried forward to extend and improve the architectural design of the next generation.
Employing Skilled Database Professionals Is Important
Skilled database specialists are needed to put this together or manage an off-the-shelf foundation. They will add features you might never think of based on their knowledge and experience. This is particularly important when creating queries to search the database. Subtle problems are only solved with advanced SQL techniques. Such as:
| Technique | What it does |
|---|---|
| Normalizing the data structure | Removes duplication and tokenizes the look up values. |
| Indexing | Speeds up searches and the insertion of new records. |
| Complex relational joins | Connects tables together in a variety of different ways. The connection is often based on some evaluated condition. The different kinds of joins allow for missing records in either side or mandate that both must be present. |
| Sub-queries | Nested queries to pre-fetch data which is then used within a higher-order query. |
| Temporary tables | An alternative to sub-queries that often improves performance and allows extremely complex multi-stage queries to be constructed. |
| Embedded functions | Date arithmetic can compute durations from start and end timestamps. Missing data can be filled with default values. String concatenation combines fields. String editing and replacement cleans the result text. Other various arithmetic and conditional modifications are applied to selected data results. This is very powerful when used skillfully. |
| Limits and offsets | Useful for creating paging user interfaces. For example a limit of 10 offset by 70 yields the 7th page containing 10 more search result items (70 to 79). |
| Stored procedures | Another alternative to sub-queries and temporary tables supports even more complex scripted queries to be executed in a single request. |
| Atomic queries with roll-backs and commits | Multi-stage data updates can be executed but the changes are not performed until the commit instruction is executed. If the update process fails for some reason, the data is rolled back to its exact state at the outset and all the pending changes are discarded. This is important if an update requires alterations to multiple tables which would corrupt the database if the change was incomplete. |
In Part 3 we consider integrating multiple systems and the pros and cons of off-the-shelf Vs bespoke systems.
You might also like...
Production–Delivery Convergence: Part 6 - Designing Experiences That Viewers Trust
Performance reliability is an invisible contract between a streaming service and its customer, and it is fundamental to guaranteeing viewer retention. The problem is that performance isn’t just about delivery. Here we identify where to look and why it’s c…
SMPTE Education Launches Summer 2026 Lineup Of IP And ST 2110 Courses
Boasting two standalone courses, an intensive boot camp, and a hands-on practical lab, SMPTE Education has launched its summer 2026 Lineup of IP and ST 2110 Courses.
Virtual Production For Broadcast: Principles, Terminology & Technology
The technology and techniques of virtual production, from the camera back through the video wall, processors, and rendering servers.
Standards: Video - Advanced Video Coding (AVC)
AVC remains one of the most widely deployed video codecs in the world, but navigating its profiles, levels and signaling mechanisms is far from straightforward.
Live Sports & Monetization: Public Service Broadcasters Maximizing Live Sports Opportunities
PSBs across the world are making the most of limited resources to enrich live sports coverage around ancillary content and platforms, and monetizing the resulting services. Here we focus on the content and coverage rather than technical issues around workflow…