embARC is a free, open source application that enables users to audit and correct embedded metadata of a subset of MXF files, as well as both individual DPX files or an entire DPX sequence, while not impacting the image data. MXF, short for Material Exchange Format, is an object-based file format that wraps video, audio, and other bitstreams ("essences"), optimized for content interchange or archiving by creators and/or distributors, and intended for implementation in devices ranging from cameras and video recorders to computer systems. DPX, short for Digital Picture Exchange, is a pixel-based (raster) file format intended for very high quality moving image content with attributes defined in a binary file header.
embARC, short for “metadata embedded for archival content,” is in active development by the Federal Agencies Digital Guidelines Initiative (FADGI) to support two major guideline projects:
- Guidelines for Embedded Metadata within DPX File Headers for Digitized Motion Picture Film.
- SMPTE RDD 48: MXF Archive and Preservation Format
- Including RDD 48 Amendment 1: Mapping FFV1 to MXF
- Import DPX files to support FADGI’s Guidelines for Embedded Metadata within DPX File Headers for Digitized Motion Picture Film as well as required SMPTE 268 metadata rules.
- Audit and correct internal metadata of both individual files or an entire DPX sequence while not impacting the image data.
- Import and inspect MXF files.
- Audit and correct internal metadata of one or more MXF files at a time.
- Download embedded text based and binary based data.
Import the source code into eclipse or the IDE of your choice. Import MAJ and DROID projects and include alongside embARC. Include droid-core
, droid-core-interfaces
, and maj
as projects in the build path.
There are separate tests for each supported file type (DPX & MXF) included in the src/tests folder. Tests include reading, writing, and file format detection.
Set up a run configuration with embARC as the target project and com.portalmedia.embarc.gui.Main
as the main class. Include Java 1.8 or equivalent in project execution environment.
- Update GUI
version
in build.gradle - Write a summary of changes in Changelog.md
- Run gradle clean
- To create embARC for MacOS, run gradle task macAppBundle/createDMG. When complete find embARC-x.x.x.dmg in the build/distributions folder.
- To create embARC for Windows, run gradle task launch4j/createExe. When complete find embARC-x.x.x.exe in the build/launch4j folder.
- To package embARC for Windows as an installer: use Inno Setup on a Windows machine. Place a copy of the embARC_exe_installer.iss file included at the root of this repo alongside your recently created embARC-x.x.x.exe. Open the .iss file in Inno Setup and edit the "MyAppVersion" property and any other properties therein as needed. Run the script. When complete, find embARC-x.x.x.exe packaged as an installer in the Output folder.
embARC CLI is a free, open source application that enables users to audit embedded metadata of DPX and MXF files from the command line.
embARC, short for “metadata embedded for archival content,” is in active development by the Federal Agencies Digital Guidelines Initiative (FADGI) to support two major guideline projects:
Guidelines for Embedded Metadata within DPX File Headers for Digitized Motion Picture Film. SMPTE RDD 48: MXF Archive and Preservation Format
java -jar [path/to/embARC-CLI.jar] [input] [output] [options]
- [input]: path to target DPX file or DPX sequence folder
- [output]:
-csv <filepath/newfile.csv>
CSV formatted output-json <filepath/newfile.json>
JSON formatted output
- [options]
-print
Print file metadata to console-conformanceInputJSON
Input validation json file-conformanceOutputCSV
Output validation csv file-applyChangesFromJSON
Apply metadata changes from JSON file
java -jar [path/to/embARC-CLI.jar] [input] [options]
- [input]: path to target MXF file
- [options]:
-print
Print file metadata to console-downloadTDStream
Write text data stream to local directory-downloadBDStream
Write binary data stream to local directory-streamOutputPath
Specify data stream output directory
- Update CLI
version
in build.gradle - Write a summary of changes in Changelog-CLI.md
- Switch to CLI settings (
version
andmainClassName
) in build.gradle - Run gradle clean
- Run gradle task shadow/shadowJar. When complete find embARC-CLI-x.x.x.jar in the build/libs folder.