Video Fingerprinting
In this post I want to share my experiments on how to generate video fingerprints.
Read moreLoom is a Headless Media Asset Management System which is still in early development. At the moment there are no public sources or binaries available for download. If you are however interested in the development process or have general question I recommend to checkout my blog.
Loom is a private project which is not backed by a company. The design, development is done by Johannes Schüth.
Assets of any sort can be feed into Loom. Stored assets will be processed and made available via S3 and REST API.
Additional contents (e.g. metadata, tags, ratings, text, numbers, free JSON) can also be stored in Loom along with your assets.
The REST and GraphQL API allows you to retrieve and update the assets and their connected contents.
A selection of the key features of the MetaLoom platform. Items marked (planned) are on the roadmap; everything else is implemented.
The whole architecture of Loom has a developer centric design which makes it easy to adapt it to your needs. Read the docs
The Loom server provides a powerful REST API which can be used to manage all resources, including a Java client and a generated OpenAPI specification. Read the docs
A built-in conversational assistant backed by a server-side agentic loop. It answers questions about your assets in natural language, with per-chat Skills, a persistent Memory bank, publishable Sessions and an optional isolated coding sandbox. Read the docs
In addition to REST the server also provides a GraphQL API which allows you to fetch nested data in one step. Read the docs
Loom comes with a powerful permission system. Permissions can be granted on an object level via users, groups and roles. Read the docs
SSO IAM providers such as RedHat Keycloak, Auth0 and Okta are natively supported. No need for complicated plugins. Read the docs
Existing assets can be referenced from disk. Alternatively files can be uploaded and stored locally (S3 backend planned). Read the docs
A perceptual media fingerprint can be generated for video content. These fingerprints can be used for asset blacklisting and similarity search using nearest neighbor search. Read the docs
Images can be resized and cropped. The focalpoint can be set on images in order to help generation of cropped images for responsive designs.
Contact-sheet thumbnails are automatically generated from video content by the Cortex thumbnail node. Read the docs
Stored metadata can be indexed for full-text and vector search (Elasticsearch, Lucene and Qdrant integrations). Read the docs
Loom comes with a system which allows you to tag assets, collections and content. Read the docs
Beyond the structured models, Loom lets you attach custom metadata to any element it stores, together with user-generated content such as comments, reactions, ratings and annotations kept alongside your assets. Read the docs
Selective data can be exported and re-imported in another instance.
Metadata from images, videos and documents is automatically extracted by Cortex nodes (hashes, transcripts, captions, OCR, faces, scenes …) and made accessible via the API. Read the docs
These various features help you to integrate Loom into your environment.
You can choose between different persistence backends — In-Memory, Filesystem, and PostgreSQL (jOOQ / Hibernate). Read the docs
Monitoring data is exposed via a Prometheus scrape endpoint, so you can track instance status from a Grafana dashboard. Read the docs
Media processing runs on a fleet of Cortex worker daemons that register with Loom and execute node tasks it dispatches. Scale out by adding workers, and pin heavy node kinds (face detection, speech-to-text) to dedicated or GPU hardware. Read the docs
The CLI can be used to run admin tasks and also trigger synchronization tasks for new assets. Read the docs
Loom supports Kubernetes and ships a Helm Chart that helps you deploy it in your K8S cluster; Cortex workers deploy as scalable Deployments. Read the docs
Extensions can be registered in order to extend the functionality of Loom, and custom Cortex processing nodes can be authored in Java or Python. Read the docs
Assets can be referenced from an existing S3 bucket or you can choose to use a bucket to store newly uploaded assets.
In this post I want to share my experiments on how to generate video fingerprints.
Read more
In this post I want to walk you through a PoC I created that covers database handling with Vert.x and jOOQ.
Read more
In this post I would like to share how I approach the design for Loom.
Read more
If you want to know more about MetaLoom you can get in touch via Email.