Dalang
Client-server based video editor. Powered with MLT and Actix.
Install / Use
/learn @iyxan23/DalangREADME
A video editor with a client-server based approach. Powered with MLT
|
:---------------------------------:|:----------------------------------------------:
| 
The interface is mostly unimplemented, the designs above acts as a reference
What is this?
A hobby project where I try to understand how video works and to make something that's somewhat production-ready. The dalang project aims to be a web-based video editor where the process happens in the server. The server is written in rust with the help of actix-web and good ol' actix actors, with the frontend being powered by vue. They use websocket and msgpack to communicate in between.
It's more of a project where I could throw anything I'm really curious about. The combination of alien framework and libraries like vue, actix (and its actor framework) with msgpack is pretty far from my current knowledge, and I want to try to learn those things.
Overview
Dalang is a web-based cloud video editor. Users logs in or registers an account of a dalang server, and start editing right on the browser. It does not use much resources to run in the client, because pretty much everything heavy is handled on the server; things such as video preview, rendering, and storage are done in the server. The client only acts as a facade to the server. It is primarily targets studios where they have big servers on LAN connections (where latency is pretty much zero). Imagine editing at that server's speed on just your regular work laptop. Despite that, it will also have options connections that has low-mid latency.
It will also be distributed. With the use of the actor programming paradigm, we could distribute these actors to multiple servers, and to connect them together to distribute load between servers and to not have a single-point-of-failure.
The Name
The name "dalang" comes from the Javanese culture of wayang performance, a traditional puppeteer show, where the person that sits and performs the performance is called the "dalang". It's as if you're the "dalang" of the show (the editor), moving puppets (clips) together to form a single video (a wayang performance).
Contributing?
I don't really think anybody would contribute to this; this is something of a hobby project of mine, that -might- will somehow, someday, will vanish in existence (like many of my other hobby projects). But if you do, that'd be awesome, since I'm looking for experiences working with someone else! :>
If you really do want to, I haven't done much documentation yet, so you'd have to read through the spaghetti code for now..
Related Skills
qqbot-channel
345.9kQQ 频道管理技能。查询频道列表、子频道、成员、发帖、公告、日程等操作。使用 qqbot_channel_api 工具代理 QQ 开放平台 HTTP 接口,自动处理 Token 鉴权。当用户需要查看频道、管理子频道、查询成员、发布帖子/公告/日程时使用。
docs-writer
100.0k`docs-writer` skill instructions As an expert technical writer and editor for the Gemini CLI project, you produce accurate, clear, and consistent documentation. When asked to write, edit, or revie
model-usage
345.9kUse CodexBar CLI local cost usage to summarize per-model usage for Codex or Claude, including the current (most recent) model or a full model breakdown. Trigger when asked for model-level usage/cost data from codexbar, or when you need a scriptable per-model summary from codexbar cost JSON.
arscontexta
2.9kClaude Code plugin that generates individualized knowledge systems from conversation. You describe how you think and work, have a conversation and get a complete second brain as markdown files you own.
