This document will show how to extract metadata from file paths and use it in CatDV fields.

In this example we shall extract and use metadata from both folder names and file names. Our sample files are as follows:


The folder heirarchy includes:

  • the type of programme (Nature or Entertainment)
  • the location (London or Uganda)
  • the type of media (Live Action or Motion Graphics)

The file name includes:

  • the type of content (SUB for Submarine and BLDGS for Buildings)
  • Season (SSN1 for Season 1 etc)
  • Episode (EP3 for Episode 3 etc)
  • Scene (SC5 for Scene 5 etc)

The CatDV Worker can interpret the folder and file path and update CatDV metadata accordingly.


Set up a Worker Watch Folder

First set up a Worker job to watch a folder for incoming media. Give the job a meaningful name and point the worker at the relevant file location, including subdirectories:



Publish to a Catalog

For this example we shall not move or transcode the media, just ingest into CatDV and publish to some user fields.


Publish to catalog worker webinar eg

In this case we are extracting metadata from the folder and file structure as:

User Field Content Formula Description
90 Programme
$q is the parent folder name
91 Media
$Q is the grandparent folder name
92 Type
$R is the great grandparent folder name
95 Content
$1 is the first part of the file name
then replacing the abbreviations with expanded versions
96 Season
$2{s/SSN1/Season 1/s/SSN2/Season 2/s/SSN3/Season 3/s/SSN4/Season4/}
$2 is the second part of the file name
97 Episode
$3{s/EP1/Episode 1/s/EP2/Episode 2/s/EP3/Episode 3/s/EP4/Episode 4/s/EP5/Episode 5/}
$3 is the third part of the file name
98 Scene
$4 is the fourth part of the file name (with no substitutions)

$1,$2,$3,$4 are all parts of the file name (separated by space, hyphen or underline) ie PART1 PART2_PART3-PART4.mxf

We use a Regular Expressions to substitute abbreviations for expanded descriptions. The form for a Regex substitution in CatDV is :

<DATA TO CHANGE>{s/find1/replace1/s/find2/replace2/s/find3/replace3/<ETC>}

In our case we are using $s which is the file name (excluding the rest of the path).

Here’s the data imported shown in the desktop client: