A web application that allows for the searching of videos, images, and 3d assets at The Molecule VFX.
The code for this project is proprietary, no link is available.
Built a set of python tools for taking an intelligent snapshot of a directory of media assets. Built a thumbnail and video transcoder that functions on a variety of formats and codecs, utilizing FFmpeg, ImageMagik, and various RAW image decoders (See Combustion). Built a React web app using Material interface components and a Redux state store. Built an Express REST API that communicates with a MongoDB and employs a custom search algorithm, wrapped in a Docker container and deployed in the production web stack.
The inspiration for this tool was to create our own version of Pond5 that would allow quicker and more meaningful search results than flipping thru files within our file server.
In its most basic form, this web tool allows a user to search the entire video assets directory at once, see thumbnails and playable videos of each asset, and gather assets into a collection to share them, or bring them into Nuke.
After its initial release, we added a browse view, which gave a visual representation of the file system. This was necessary because individuals didn't know what they could search for, so even with a good search algorithm, many queries would return zero results.
The third release included the collections page, which allowed the management of collections of assets created from a user's cart. This is useful when one individual finds assets for another and provides more context and information than sending an email of file paths.
Future releases will include an intelligent tagging workflow, in hopes that valuable tags will be used as the main identifier in our search algorithm. Additionally, we will catalog other types of assets such as images and 3D models, and allow them to be searched and displayed in the same manner.
From above: Presenting during our company-wide launch of the Asset Browser.
On Tuesday, March 12th, I presented the Asset Browser to the NYC employees of The Molecule VFX. Later that week, I recorded a launch/tutorial video and distributed it to our LA office. It was a long-awaited product, having been discussed for many years, and in development for about 6 months.
The technology is very simple at a high-level: Given a collection of metadata & thumbnails, provide a searchable database with an intuitive interface. A challenge many before us have solved, but when tailored to the visual effects world, takes on a new shape with new questions to be answered.
The majority of my development time was spent on the first part of the sentence above: building a collection of metadata, thumbnails, and low-resolution preview videos. The Molecule's collection of assets is massive, relatively unorganized, and was built throughout the company's life (founded in 2005). This was the larger technical challenge, and yet our solution was no less elegant than the web tool that most individuals see and use.
I imagine that The Molecule is not alone in the shape and size of their asset library. This opens an opportunity for us to sell or license the software. Both the information gathering tool and the search web app would be valuable to other small-mid size companies who want a solution that is cheaper and more custom than existing cloud-based tools.
As an OCD individual, whose main role at The Molecule was to manage the pipeline, I can tell you that nothing is every perfectly clean and organized. This is especially relevant to digital files that are being shared collaboratively with an entire company.
Organizing, renaming, and cleaning up The Molecule's video assets was a personal focus of mine. However, when we built the Asset Browser, it eliminated the need, as it no longer mattered how files were organized when a user can search the entire breadth of the collection in one query. Their folder structure will be even more insignificant once we implement valuable tags that describe the content, instead of ambiguous/poor folder and file names.
Regardless, here is the naming scheme we've employed for all new assets that we ingest into our library:
Folder name is restricted to: one noun or one adjective
Folder containing image sequence: Given two text names from the previous two parent folders, followed by a number
Image Sequence Name: reflects parent folder name exactly, followed by frame number
A simple example of a file named using this scheme