GithubHelp home page GithubHelp logo

iyxan23 / dalang Goto Github PK

View Code? Open in Web Editor NEW
8.0 1.0 0.0 2.1 MB

Client-server based video editor. Powered with MLT and Actix.

License: GNU General Public License v3.0

JavaScript 14.04% HTML 0.69% Vue 3.81% Rust 80.96% CSS 0.51%
actix-actor cloud distributed-computing for-fun mlt rust-lang video-editor

dalang's Introduction

Dalang

Rust Hits-of-Code

A video editor with a client-server based approach. Powered with MLT

auth page projects list
editor page editor loading

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..

dalang's People

Contributors

dependabot[bot] avatar iyxan23 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.