AWS for M&E Blog

A deep dive into IMF and AWS Elemental MediaConvert

What is IMF? How does it differ from traditional files?

The Interoperable Master Format (IMF) is a standardized system for organizing and sharing digital content, which brings significant benefit to the media and entertainment (M&E) industry. It works as a universal framework that simplifies distribution of file-based audio and video across different platforms, devices, and regions on a global scale.

IMF is managed by an industry standards body, The Society of Motion Picture & Television (SMPTE). IMF is an international standard. By simplifying technical complexities, the standard enables consistent and compatible workflows for content exchange. IMF adapts to new technologies, which makes it a comprehensive, future-proof solution for the evolving digital media industry.

What problem does IMF solve?

Unlike traditional formats, IMF employs a modular approach by separating components like video, audio, and text into individual files. This modular approach increases flexibility by enabling content creators to produce multiple versions of content, customized to specific requirements and without the need to replicate all elements. IMF is beneficial for content creators who need to generate multiple versions of the same content for various platforms, devices, and regions. It solves several key problems for M&E organizations, making it a valuable solution for content creators, studios, broadcasters, and distributors:

  • Efficiency in content versioning: Content creators often need to produce multiple versions of the same content for different platforms, devices, regions, and languages. The IMF component-based structure allows for efficient versioning by reusing and customizing content components, reducing the time and resources required to create and manage these variations.
  • Streamlined distribution: Traditional file formats are bulky and inefficient for distributing content globally. IMF’s separation of components and standardized format streamlines the distribution process, making it easier to exchange content between businesses worldwide.

Structure of the package

An IMF package consists of multiple track files of picture, audio, timed text subtitles, etc. Each track file carries a single kind of essence. The package also contains metadata describing how these essences are combined to create a certain version of the content.

The image depicts the structure of an IMF (Interoperable Master Format) Package, which is a standard file format used in the media and entertainment industry. The package consists of several components, including a Composition Playlist (CPL), which contains information about the video, audio, and other tracks that make up the final media asset. The package also includes a Packing List (PKL), an Output Profile List (OPL), and an Asset Map, which provide additional metadata and organisational information about the contents of the package. The image visually represents the relationships and dependencies between these various elements that make up the complete IMF Package.

IMF package structure

  • The Composition Playlist (CPL) defines the order and timing of the components that make up the final version of the content. It specifies which video, audio, subtitle, and other components to use and how they should be synchronized for playback.

Reference:

http://download.opencontent.netflix.com.s3.amazonaws.com/SolLevante/imf/SolLevante_IMF_DolbyVision_PQP3D65_UHD_24fps/CPL_0a207596-a0f5-458a-811e-a97a4286d00c.xml

  • The Packing List (PKL) is a document that lists all the components and files within the IMF package, including technical information such as file sizes and hash values. It helps users quickly identify and verify the contents of the package.

Reference:

http://download.opencontent.netflix.com.s3.amazonaws.com/SolLevante/imf/SolLevante_IMF_DolbyVision_PQP3D65_UHD_24fps/PKL_51e5f3c5-44b3-4001-9c90-9a19087982d3.xml

<?xml version="1.0" encoding="UTF-8" standalone="no" ?><PackingList xmlns="http://www.smpte-ra.org/schemas/429-8/2007/PKL">
<Id>urn:uuid:e9c1d8e3-efdc-4779-9c59-5fb9dec9c107</Id>
<AnnotationText>Sparks_DoVi_Test</AnnotationText>
<IssueDate>2016-11-01T19:21:20-00:00</IssueDate>
<Issuer></Issuer>
<Creator>Clipster 6.1.0.0 Beta (build 111731)</Creator>
<AssetList>
<Asset>
<Id>urn:uuid:fb7e0add-cffb-4888-8d31-e45a12f6a8e4</Id>
<Hash>j+owYehehGXDdae+F2ZcPRJJd68=</Hash>
<Size>10582</Size>
<Type>text/xml</Type>
<OriginalFileName>CPL_fb7e0add-cffb-4888-8d31-e45a12f6a8e4.xml</OriginalFileName></Asset>
<Asset>
<Id>urn:uuid:7949f738-b55c-4d3d-a4a9-49faf917c72c</Id>
<Hash>Od6TSBZoqMcp/hDy5m6VV5LbY94=</Hash>
<Size>46234035639</Size>
<Type>application/mxf</Type>
<OriginalFileName>20161103_1023_SPARKS_4K_P3_PQ_4000nits_DoVi.mxf</OriginalFileName></Asset>
<Asset>
<Id>urn:uuid:cbd4508a-5bf3-4d5f-8e3c-9630c08c2d1d</Id>
<Hash>tQJfewNndI5gOaFl6UBSSxpjrpI=</Hash>
<Size>66203519</Size>
<Type>application/mxf</Type>
<OriginalFileName>20161101_1048_SPARKS_DOVI_TEST_Scratch_Audio.mxf</OriginalFileName></Asset></AssetList></PackingList>
  • Asset Map: Before we understand an asset map, we must also know what an IMP (IMF Master Package) is. One IMP can have one or more CPLs. An IMP can be complete or incomplete.
    • Complete IMP: Contains all assets for all compositions.
    • Partial IMP: Contains incomplete compositions with some missing assets that are required in the composition.

An asset map is a file that provides a comprehensive view of the IMF package contents. It includes information about the CPLs, essence files, and auxiliary files, along with their relationships and dependencies. This makes it easier to navigate and understand the package structure. In short, the asset map provides the location of all files included in the specific delivery.

Reference:

http://download.opencontent.netflix.com.s3.amazonaws.com/SolLevante/imf/SolLevante_IMF_DolbyVision_PQP3D65_UHD_24fps/ASSETMAP.xml

<?xml version="1.0" encoding="UTF-8" standalone="no" ?><AssetMap xmlns="http://www.smpte-ra.org/schemas/429-9/2007/AM"><Id>urn:uuid:5ebde054-9bf4-4d73-8f63-0eca1d65e98e</Id><AnnotationText>Sparks_DoVi_Test</AnnotationText><Creator>Clipster 6.1.0.0 Beta (build 111731)</Creator><VolumeCount>1</VolumeCount><IssueDate>2016-11-01T19:21:20-00:00</IssueDate><Issuer></Issuer>
<AssetList>
<Asset>
<Id>urn:uuid:e9c1d8e3-efdc-4779-9c59-5fb9dec9c107</Id>
<PackingList>true</PackingList>
<ChunkList>
<Chunk>
<Path>PKL_e9c1d8e3-efdc-4779-9c59-5fb9dec9c107.xml</Path><VolumeIndex>1</VolumeIndex></Chunk></ChunkList></Asset>
<Asset>
<Id>urn:uuid:fb7e0add-cffb-4888-8d31-e45a12f6a8e4</Id>
<ChunkList>
<Chunk>
<Path>CPL_fb7e0add-cffb-4888-8d31-e45a12f6a8e4.xml</Path><VolumeIndex>1</VolumeIndex></Chunk></ChunkList></Asset>
<Asset>
<Id>urn:uuid:7949f738-b55c-4d3d-a4a9-49faf917c72c</Id>
<ChunkList>
<Chunk>
<Path>20161103_1023_SPARKS_4K_P3_PQ_4000nits_DoVi.mxf</Path><VolumeIndex>1</VolumeIndex></Chunk></ChunkList></Asset>
<Asset>
<Id>urn:uuid:cbd4508a-5bf3-4d5f-8e3c-9630c08c2d1d</Id>
<ChunkList>
<Chunk>
<Path>20161101_1048_SPARKS_DOVI_TEST_Scratch_Audio.mxf</Path><VolumeIndex>1</VolumeIndex></Chunk></ChunkList></Asset></AssetList></AssetMap>
  • Output Profile Lists (OPL) contain additional instructions for downstream processing of compositions.

What are the benefits of IMF?

IMF serves as a standardized framework, ensuring compatibility across different systems. It enables comprehensive checks during the process of incorporating packages into a specific content-processing ecosystem within the media supply chain, ensuring compatibility and quality assurance. Its powerful versioning mechanism enables a faster and more lightweight turnaround for both fixes and versions of content. Because subsequent content versions often reuse track files from an original submission, IMF can save storage space and processing time.

  • Content archiving and preservation: IMF’s component-based approach simplifies content archiving and preservation. Organizations can store and retrieve individual components, which makes it easier to access and repurpose content in the future.
  • Cost Reduction: By reducing the need to create and manage numerous individual files for different versions of content, IMF can lead to cost savings in production and distribution processes.
  • Global standardization and interoperability: As it is managed by SMPTE, IMF ensures both interoperability and standardization, facilitating the exchange and processing of packages across diverse systems, software, and hardware worldwide.
  • Flexibility: IMF’s component-based approach allows for flexibility in content creation and adaptation. It is well-suited for evolving industry standards and consumer demands.

Getting started with transcoding IMF package using AWS Elemental MediaConvert

Transcoding an IMF (Interoperable Master Format) package using AWS Elemental MediaConvert is easy with its simple user interface. Transcoding involves a few important steps. Following is a high-level overview of the process:

1. Set up AWS environment:

a. Ensure you have an AWS account and access to AWS Elemental MediaConvert.

2. Prepare Your IMF Package:

a. Make sure your IMF package is stored in an Amazon S3 bucket, and you have the necessary permissions to access it. Sample files for video, audio, and other components of IMF can be used from the following link for quick testing:

http://download.opencontent.netflix.com.s3.amazonaws.com/index.html?prefix=SolLevante/imf/SolLevante_IMF_DolbyVision_PQP3D65_UHD_24fps/

3. Create a MediaConvert Job:

a. Log in to the AWS Management Console.

b. Navigate to the AWS Elemental MediaConvert service.

c. Create a new job:

d. Under Input file URL, specify the source IMF package’s location in your S3 bucket. This is the path to the CPL package. If there are any supplemental IMF Packages as asset map, the IMP should also be specified in the appropriate field. Refer to the following screenshot.

This image depicts the input configuration interface of Elemental MediaConvert, a cloud-based video processing service. The interface allows users to specify input file URLs, select video generators or supplemental IMPs (Interoperable Master Packages), configure decryption settings, and access video selector options for video correction and input filtering.

Fig 2: Input configuration in AWS Elemental MediaConvert

e. Configure the job settings, including the desired output format, codec, resolution, and other parameters. Refer to : https://docs.aws.amazon.com/mediaconvert/latest/ug/output-settings.html

f. Define output settings for the transcoded files.

This image depicts the output configuration interface of Elemental MediaConvert. The interface allows users to define input files, create output file groups, configure encoding settings such as video codec, resolution, frame rate, and bitrate, as well as container and other job-related settings. This interface provides users with a comprehensive set of tools to customise the output of their video content.

Fig 3: Output Configuration in AWS Elemental MediaConvert

4. Start the transcoding job:

a. Submit the job, and AWS Elemental MediaConvert will initiate the transcoding process.

5. Monitor job progress:

a. You can monitor the status and progress of your transcoding job using the AWS Elemental MediaConvert console.

6. Transcoded output:

a. Once the job is complete, the transcoded files is stored in your specified S3 bucket.

7. Verify transcoded content:

a. Verify the quality and compatibility of the transcoded content to ensure it meets your requirements.

Following are additional tips and considerations for transcoding content using MediaConvert:

  • Be mindful of the input and output settings when configuring your transcoding job. Ensure that they match your desired output format and requirements.
  • MediaConvert offers various presets for common transcoding scenarios. You can choose a preset that closely matches your desired output settings to simplify the configuration process.
  • Consider creating a custom job template in MediaConvert if you have specific transcoding requirements that you use frequently. This can save you time and effort when setting up future jobs.
  • It’s important to thoroughly test your transcoded content to ensure it meets your quality and compatibility standards before distributing it.
  • MediaConvert provides detailed documentation and guides that can help you with the specific configurations and options available for transcoding IMF packages. Review the official documentation for in-depth instructions and best practices.

Conclusion

In this blog post, we outline the concept of IMF packages and highlight the benefits of using them to simplify and streamline the management and processing of master audiovisual content across multiple versions. In addition, we discussed the procedure for generating transcoding tasks in AWS Elemental MediaConvert using IMF packaged master files.

Please note that AWS services and features may evolve over time; therefore, it’s good practice to refer to AWS Elemental MediaConvert documentation and resources for the latest information and guidance on transcoding IMF packages.

https://docs.aws.amazon.com/mediaconvert/latest/ug/what-is.html

https://aws.amazon.com/about-aws/whats-new/2019/01/aws-elemental-mediaconvert-adds-imf-input-enhances-caption-burn-in-support/

https://docs.aws.amazon.com/mediaconvert/latest/ug/IMSC-in-MXF.html

https://docs.aws.amazon.com/elemental-server/latest/ug/using-imf-inputs.html

Sanjay Singh

Sanjay Singh

Sanjay Singh is Senior Media & Entertainment Architect in ProServe. With close to 20 years of experience, he is responsible for building industry solutions for Media and Entertainment customers.

Akhilesh Parashar

Akhilesh Parashar

Akhilesh Parashar is a Senior Specialized Technical Account Manager supporting AWS Elemental Media Services. Akhilesh has more than 17 years of experience working in the media industry, and content delivery networks at big media houses.