Tellur is a component-oriented video editing library. It aims to be a general-purpose library capable of handling various video styles.
- Rich expressions like motion graphics
- Variety-show style telops/captions
- Calm tones suitable for explainer videos, etc.
Each element in a video is represented by a combination of components as shown below.
Components are functional and pure, enabling caching at the subtree level.
Additionally, GPU rendering is implemented for most built-in components, making it extremely fast.
Comparison with Similar Tools
Remotion (React)
- Pros: Since it has its own rasterizer, it is easy to create rich expressions that go beyond the limitations of HTML/CSS.
- Cons: The writing style cannot compete with the conciseness of JSX.
Manim (Python)
- Pros: Rendering is fast, and it provides a full suite of tools for video production regardless of genre, including timelines, layouts, and live previews.
- Cons: Complex mathematical expressions are still immature.
Getting Started
You can create a timeline project from a template using tellur create. This generates a Cargo.toml (a cdylib crate) and sample scenes. If executed within a Cargo workspace, it also automatically handles member registration and tellur dependencies.
$ tellur create my-video
You can specify the display name of the timeline with --title (defaults to the directory name if omitted).
Live Preview
tellur live provides a browser preview with hot-rebuilding of the project.
$ tellur live --project path/to/your-video --gpu
Crate Structure
| crate | Role |
|---|---|
tellur |
Facade. Re-exports everything below. tellur CLI (cli feature) |
tellur-core |
Component model, layout, easing, events, text, LaTeX math |
tellur-renderer |
GPU/CPU rasterization and ffmpeg encoding |
tellur-macros |
#[component] and #[derive(Keyable)] |
tellur-live |
Live preview server |
tellur-plugin |
Dynamic library ABI used by live preview |
Requirements
- ffmpeg: Required for encoding.
- fontconfig (Linux only): Required for font detection.
Documentation
- Layout system tutorial — the canvas and flow worlds:
Layer,Frame,Flex, anchors, and clipping (日本語) - Time system tutorial —
Phase,Window, events, and the placement-clock world (日本語)
For AI coding agents, an authoring skill captures the idiomatic "Tellur style" on top of the tutorials.
A getting-started tutorial is under preparation.
License
MIT