Hi
- I’ve been working on something for scripting video editing - it’s like FFMPEG “on steroids” - you get a canvas object to draw to (like HTML, with JS), and a bunch of classes and helpers for drawing / reading media - and because it’s not GPU draw loop based (but GPU-accelerated), it can be really really fast - I did some initial tests and (approximately) 20-100x faster than other python based video scripting toolkits
The goal is that it works like a quick scripting library, either for media operations or creative coding, so it goes something like this:
cvt generate my-new-script.js
// template script is auto-generated
cvt run my-new-script.js /path/to/videos/*.mp4 --preview --nowrite
// opens a window and doesnt write (for testing your script)
cvt library add my-new-script.js
// saves to library at ~/.cvt
cvt run my-new-script@v1.0.0 /path/to/videos/*.mp4
// optionally select a version
cvt publish my-new-script
// maybe (auto git commit and push)
I’ve made the repo private because I get funny about being “watched” whenever you start making something good, but it would be great to have some testers (and contributors, if its your thing) for the weeks ahead - you will need to know basic javascript and how to use a terminal / CLI - and stuff I’m looking specific help for is:
- building examples and tests (just mucking around with it), either as examples in documentation or way to work out bugs / improve features, a lot of work is going into “DX” (like UX but for how you use a CLI / dev tool)
- testing on different platforms - it involves some C/C++ that gets compiled with node bindings, so need to setup build targets for different platforms
- building DirectShow and MediaFoundation (Linux) videograbbers (to cover PCI grabbers and capture dongles) - one now exists for MacOS, but others could be adapted from elsewhere (zero-copy w/ SharedArrayBuffer via NAPI)
If you’re interested ping me at g[at]sinnott.cc with your github handle + overview of your setup and machine (and what you’d like to try out)