Versioning with IMF
The Interoperable Master Format
With more and more versions of each piece of content being produced for more countries and delivered to more devices, it’s become highly important to develop more efficient workflows for creating, storing and exchanging versions.
Technology is making the world seem ever smaller, yet now more than ever, audiences want their locality and their culture reflected in the media they consume. It’s increasingly the case that you can’t be a global player unless you’re a local player too.
This appetite for high quality, localised content brings an enormous opportunity for media companies, it also brings great cost and complexity. IMF can help.
Latest IMF Updates
What is IMF?
IMF is a form of component based media, allowing content producers and distributors to manage multiple versions of their content highly efficiently while retaining the quality of the master asset. For example, in an IMF workflow, you store and manage only the elements of video and audio that are unique between versions, reusing that which is shared rather than duplicating content. This creates dramatic savings in storage and file transfer. Meanwhile, the unique identification of every media item and composition means that the genealogy of content is clear, simplifying content tracking, rights management, and QC.
Browse the other tabs to find out what the DPP IMF Project Group has done to date to support implementers who acquire, master and distribute content in long and short form using our IMF technical specifications.
The DPP IMF for Broadcast & Online specification gives us a fantastic head start in creating automated workflows to ensure that our costs are kept under control as versioning expands.
Tim Bertioli, VP International Operations, VICE Media
What do all the documents mean?
From the IMF standards published by SMPTE, to the specifications published by the DPP, and each individual broadcaster’s delivery requirements, there are a lot of documents that can help you implement IMF. Our IMF Operational Guidance is a great place to start as it explains IMF workflows, and links you to the other technical documents where required.
The diagram below summarises how many of these documents fit together, with the arrows showing the references from one document to another:
SMPTE TSP 2121
Our IMF specification builds on the existing IMF standard (ST 2067) developed by the Society of Motion Picture and Television Engineers (SMPTE), which was designed for streamlining the distribution of premium feature film content.
While the foundations of IMF can be applied to most content, there are some ways in which the standards were not well aligned to the needs of broadcasters and online content producers. That’s why the DPP and SMPTE have published TSP 2121.
TSP 2121 makes it possible to automate the content supply chain, simplify the versioning process, enable workflow efficiencies, and reduce QC and archive storage costs. All while maintaining the quality of the original asset. The result is significant cost, storage and time savings.
Two specifications, one family
TSP 2121-1 IMF Application DPP (ProRes) supports the specific needs of broadcasters and online content distributors. It constrains elements of the SMPTE IMF standard and adds features such as ProRes, HLG and control track audio description.
TSP 2121-4 IMF Application Constraint DPP (JPEG2000) constrains most of the same features as TSP 2121-1, but supports further use cases by enabling the use of an alternative codec, JPEG2000. This specification was developed in collaboration with the North American Broadcasters Association.
DPP Recommendation: Carriage of User Metadata in IMF
IMF makes provisions for some mandatory and some optional user-provided metadata. Adopters of IMF in the broadcast and online distribution industry may require additional metadata to be carried with the bundle. So we've published a Recommendation which defines the usage of common user metadata elements, and their carriage in SMPTE TSP 2121 IMF Packages.
In particular, it addresses the use-case of carrying metadata intended for downstream packaging into an AMWA AS-11 file.
The DPP Test Lab offers a testing programme for products and services which are designed to support IMF for Broadcast & Online. Testing and certification allow buyers to choose your products with confidence, knowing they’ll be truly interoperable.
You can learn more about the programme on the DPP Test Lab page.
Implementing IMF for Broadcast & Online
As with any DPP technical work, the publication of specifications is just the start. Our role is to ensure that the industry can deliver. We've created guidelines, best practice documents, operations guidelines and delivery templates that you can use as well. We also share news on the progress of implementation through our insight reports, IMF news, and the DPP Tech Network.
These documents provide practical guidance for implementing IMF in your organisation.
Learn about the benefits of IMF, and hear from those who are using it today:
IMF Media Management API
IMF offers great efficiencies by storing media as components which can then be packaged together to make specific versions, which can then be transformed into various output formats. This means more individual files to manage, but IMF makes this easier as each file has a universal identifier. Nonetheless, it poses a question: How do you get products and services to exchange assets if all they have is an ID … or two … or a thousand?
That’s where the IMF Media Management API (imf-mm-api) comes in. It’s an open source API (application programming interface) to allow the exchange of IMF assets. The project has been a collaboration across manufacturers, broadcasters and other companies involved in the development and standardisation of IMF.
IMF API Hackathon
In 2019, we held a virtual hackathon around the IMF MM API. Learn more with these news posts:
The IMF-MM-API API offers a minimum viable set of operations and data to fulfil a set of requirements defined by the contributors to the project. Those requirements are:
- Finding assets from IDs
- As an Application I want to authenticate with the imf-mm-apiservice so that I can process IMF Assets
- As an Application I want to resolve a list of URLs for an Asset ID so that I can optimally access the Asset
- As an Application I want to register a URL for an Asset ID so that other applications can access the Asset
- As an Application I want to de-register a URL for an Asset ID so that other applications don’t Error 404 and annoy their users
- Finding IMF IDs from registered IDs (EIDR, MAM etc.)
- As an Application I want to resolve a list of Asset IDs for a ContentVersionIdentifier so that I can enumerate the assets required for processing
- As an Application I want to register a list of Asset IDs for a ContentVersionIdentifier so that other applications can enumerate the assets required for processing
- As an Application I want to de-register a alist of Asset IDs for a ContentVersionIdentifier so that other applications don’t Error
- Optimising a deliver without holding state
- As an Application I want to negotiate with a downstream application so that I can deliver only the IMF Assets the downstream application requires
It is also worth noting some additional principles that were applied in the design of the API:
- The API is authenticated so that access can be controlled, and to follow best practice for building zero-trust systems.
- The API returns lists of URLs for an asset, not a single URL. This is because an asset may live in multiple locations (e.g. online, near-line, cloud) and only the application knows which is best for its own use.
- Any identifier found in ContentVersionList is supported by the API.
- The API enables two applications to negotiate delivery, in order that they do not need to maintain information about the state of other applications. You can see this easily in this example:
App1: "Hello App2, here's a PKL with Asset1, Asset2, Asset3, Asset4" App2: "Hello App1, I need to retrieve Asset2, Asset3" App1: "Hello App2, here's a Delivery PKL and AM, with Asset2, Asset3" App2: "Hello App1, Thanks"App1: "Here's Delivery xx Receipt"
Huge thanks must be given to Mr MXF, also known as Bruce Devlin, who put the project together. Other contributing members included CineCert, Dalet, EditShare, EIDR, ReinMain University, Marquise, OwnZones, PBS, Prime Focus Technologies, Signiant, and Turner.
Layered Video Tracks in IMF
The component based nature of IMF allows multiple versions of a programme to be created, managed and distributed more efficiently. However, it has historically been limited to a single concurrent video track in any composition; a restriction which limits certain use cases that could otherwise realise the benefit of IMF’s full capabilities.
Many content providers have business requirements for overlaying multiple video tracks, for use-cases such as sign language interpretation, localisation, branding or advertising.
The plug-in described in our white paper and defined in our Recommendation simplifies the process of storing, editing, positioning, and compositing such video overlays by creating an Auxiliary Image Sequence in IMF.
IMF for Advertising
Online advertising has changed beyond recognition over the past five years with the introduction of personalised and hyper-targeted adverts. Recently, broadcast platforms have also started to offer addressable advertising.
We’re working with DPP members to generate a common framework for delivering a high volume of advertising content with IMF. We’re also looking at how component-based workflows will bring efficiencies across the supply chain and unlock new commercial opportunities.
By using our previously published IMF documents as the foundation for this work, we'll ensure that personalisation can be achieved through best practice models common to both programming and advertising.
The benefits available to the advertising workflow are summarised in our business benefits report:
The IMF for Advertising workflow builds on the existing TSP 2121-1 specification. Our Recommendation DPP003, which specifies methods for carriage of metadata in IMF, has been updated to incorporate advertising-specific metadata. In 2020, a Delivery Requirements document will also be added.
To find out more or to get involved with this work, please get in touch.
Rowan de Pomerai
Head of Delivery and Growth