Aller au contenu

Copy Metadata Node

By Kriss Norde

Copy Metadata transfers the metadata from one stream to another. Useful when a node in the chain (e.g. Background, Renderer 3D) has wiped or reset the stream's metadata and you want to recover the metadata of an original input (typically the MediaIn). Output = the main image with the metadata of the source stream.

Overview

Copy Metadata has two inputs: a main image (that receives the new metadata) and a source image (whose metadata is taken). The visible image stays the one from the main input; only the metadata container is replaced or merged.

Typical case: a 3D composite starts from a Renderer 3D that does not have the original shot's metadata (TimeCode, Source Filename, etc.). You connect the original MediaIn to the Source input of Copy Metadata and the 3D image to the main input → the output has the 3D image + the metadata of the original shot.

Where to find this node

  • Effects Library: Tools > Metadata > Copy Metadata
  • Quick add: right-click in the Node Editor → Add Tool > Metadata > Copy Metadata

Copy Metadata vs Set Metadata

Set Metadata
One Field/Value pair written explicitly. To add a few specific fields.
Copy Metadata
All the fields of another image, transferred as a block. To recover a complete container without knowing each field individually.

Rule of thumb: adding a few custom fields = Set Metadata. Recovering the complete metadata of another stream = Copy Metadata.

Inputs

  • Image Input (orange) - the image whose pixels are kept.
  • Source Input (green) - the image whose metadata is copied onto the main image.

Setup

Recovering metadata after Renderer 3D:
MediaIn ─────────────────────────┐
    │                            │
    └── Camera Tracker → ... ─── Renderer 3D ─── Copy Metadata ─── MediaOut
                                                  ↑
                       (Source = original MediaIn)

Recovering metadata after Background:
Background → ... → Copy Metadata (Source = MediaIn) → MediaOut

Preserving metadata through a complex chain:
MediaIn ─────────────────────┐
    │                        │
    └── Beauty Comp ─── Copy Metadata ─── Saver
                          ↑
                  (Source = MediaIn)

Merging metadata from two streams:
Shot A ──┐
         ├── Merge → Copy Metadata (Mode = Merge)
Shot B ──┘                ↑
                  (Source = Shot A for TC,
                   Shot B for other fields)

Controls tab

Operation (default: Replace)
Replace: fully replaces the target metadata with the source metadata. Merge: merges (source fields overwrite target fields with the same name, the rest is kept).
Field Filter (default: All)
All = every field. Restricted = a list of specific fields to copy (by name). Allows a selective transfer.
Skip Empty Source Fields (default: On)
When on, empty source fields are not copied (keeps the existing target values when the source is empty).

Use cases

  • Recovering metadata after Renderer 3D - the 3D render does not have the TimeCode of the live action shot; Copy Metadata from the original MediaIn = TC restored for the conform.
  • Keeping metadata after Background - Background is synthetic, with no source metadata. Copy Metadata recovers the metadata of the parent stream.
  • Bridging between Saver and Loader - in a multi-pass EXR pipeline: restore the metadata of the source Loader at the Saver for consistent cataloging.
  • Conform after a complex Merge - a Merge of several streams can lose the metadata of the main stream. Copy Metadata downstream to recover it from the stream you consider the priority.
  • Restoration comp pipeline - restoring old archives: each cleanup step can lose the source metadata. A final Copy Metadata = clean archives with their context preserved.
  • Unified multi-source composite - a comp with assets from several origins: Copy Metadata to assign a "canonical source" to the whole chain.

Tips

  • Place it right before the Saver - to make sure the output file holds the right metadata, make Copy Metadata the last node before the Saver/MediaOut.
  • Source = original MediaIn in most cases. Feed the MediaIn directly into the green input with no intermediate transform.
  • Replace for a full reset, Merge for additions. Replace is more predictable, Merge avoids accidentally losing custom fields already attached.
  • Field Filter for surgical cases - copy only TimeCode and Filename, for example, and keep all the other metadata the comp has already accumulated.
  • Check the result - Set Metadata with the expression =Image.Metadata.TimeCode right after Copy Metadata, then display it in a Text+ to confirm the content.
  • No performance penalty - Copy Metadata does not touch the pixels, only the container. Negligible CPU cost.
  • To quickly test whether a field exists before copying it, use the Has Metadata node in parallel.