FADGI’s embARC Now Supports FFV1!

Today’s guest post is from Kate Murray, Digital Projects Coordinator in Digital Collections Management and Services at the Library of Congress and Bertram Lyons, Partner at AVP.

FADGI (Federal Agencies Digital Guidelines Initiative) is pleased to announce a new release of its free open source application embARC with support for FFV1 encoding. embARC, short for “metadata embedded for archival content,” enables users to audit and correct embedded metadata to comply with FADGI guidelines. The new embARC release, v.1.1.0, adds support for FFV1 in MXF to existing functionality for DPX (Guidelines for Embedded Metadata within DPX File Headers for Digitized Motion Picture Film) and MXF (SMPTE RDD 48: MXF Archive and Preservation Format) files.

logo of a boat on water

Figure 1. FADGI embARC logo

As described in a previous blog post, embARC was first released in 2019 and is developed with support from the Library of Congress and FADGI and in collaboration with AVP and PortalMedia. Major updates in 2021 introduced the first beta release of the CLI as well as the first official release of the GUI with functionality for the MXF file format.

What’s New with embARC for 2022

This 2022 update adds two essential components: support for FFV1 in MXF as defined in RDD 48 Amendment 1 and validation and display of the MXF manifest. The new version also includes improved performance for nested directory processing issues, correction for a DPX large file count processing bug and DPX and MXF write files improvement. Full details are available in the user guides: embARC GUI User Guide for both Windows and Mac (https://bit.ly/embARC-GUI) and embARC CLI User Guide (https://bit.ly/embARC-CLI).

FFV1 in MXF Support

FFV1, standardized by IETF (Internet Engineering Task Force) as RFC 9043: FFV1 Video Coding Format Versions 0, 1, and 3 in August 2021, is designed to support a wide range of lossless intra-frame video applications such as long-term audiovisual preservation, scientific imaging, screen recording, and other video encoding scenarios that seek to avoid the generational loss of lossy video encodings. RDD 48 Amendment 1 adds a “mapping” of FFV1 to the MXF Generic Container for the first time. The mapping provides directions for encoders and decoders to interpret the video essence content within the file. Part of this mapping includes defining Society of Motion Picture and Television Engineers (SMPTE) ULs or Universal Labels for specific points of metadata and registering these labels for global use. Examples of these labels define the video essence as frame-wrapped or clip-wrapped, the version of FFV1, and the maximum bitrate. Although these labels are defined within the RDD 48 framework, users of any flavor of MXF can make use of the ULs to create, validate or otherwise use the FFV1 encoding within an MXF wrapper.

The new release of embARC recognizes these FFV1 ULs such as the “FFV1PictureSubDescriptor” for defining the CDCI (Color Difference Component Image) or RGBA (Red Green Blue Alpha) picture essence and the “FFV1Version” for defining the image data as conforming to FFV1 version 1, 2 or 3.

Figure 2. FFV1 Picture Descriptors including declaration of FFV1 version 3.

MXF Manifest

The MXF Manifest is an XML data structure that provides an inventory of the RDD 48 file’s parts and expresses the relationships between them, as well as a structure to contain part-level Message Integrity Codes (MIC, also called Media Integrity Check) data at the level of the edit unit (generally the same as a frame of video). RDD 48 defines an XML schema for the Manifest which embARC now recognizes and labels as “manifest.xml”.

Figure 3. MXF Manifest

Where to find embARC and supporting material

embARC is available for download now in both Windows and Mac GUI versions from the FADGI website along with all user guides – all at no cost and with defined open source licenses. The embARC beta CLI is available on GitHub.

FADGI also provides a set of public domain FFV1 in MXF sample files for testing with rights free imagery data. These were created by Oliver Morgan of Metaglue and represent a variety of components including a variety of constructions including standard definition (SD) and high definition (HD); interlaced and progressive; and a range of frame rates,  all with timecode, captions and CRC fixity data. The files have valid UL and descriptor content based on RDD 48 Amd 1.

The FADGI team will be presenting the FFV1 update in embARC at the No Time to Wait 6 conference later this month which focuses on “sharing open source solutions, contributing to open standards, and maintaining open workflows.”

Comments about embARC, and indeed any FADGI project, are always welcome! Let us know what functionality you’d like to see added or improved for future releases.