The vidformer Tools
vidformer is a highly modular suite of tools that work together:
-
vidformer-py: A Python 🐍 client for declarative video synthesis
- Provides an easy-to-use library for symbolically representing transformed videos
- Acts as a client for a VoD server (i.e., for yrden)
- Using vidformer-py is the best place to get started
-
libvidformer: The core data-oriented declarative video editing library
- An embedded video processing execution engine with low-level interfaces
- Systems code, written in Rust 🦀
- You should use if: You are building a VDBMS or other multimodal data-system infrastructure.
- You should not use if: You just want to use vidformer in your workflows or projects.
-
yrden: A vidformer Video-on-Demand server
- Provides vidformer services over a REST-style API
- Allows for client libraries to be written in any language
- Serves video results via HLS streams
- Designed for local single-tenant use
- You should use if: You want to create faster video results in your workflows or projects.
- Note that yrden servers may be spun up transparently by client libraries, so you might use yrden without realizing it.
-
igni: A planned scale-out Video-on-Demand server
- Will allow for scalable and secure public-facing VOD endpoints
Client libraries in other languages: Writing a vidformer client library for other languages is simple. It's a few hundred lines of code, and you just have to construct some JSON. Contributions or suggestions for other languages are welcome.
Other VoD servers: We provide yrden as a simple reference VoD server implementation. If you want to scale-out deployments, multi-tenant deployments, or deep integration with a specific system, writing another VoD server is needed. (In progress work)