teres icon indicating copy to clipboard operation
teres copied to clipboard

use vapoursynth api directly in rust to execute plugin calls

Open animafps opened this issue 3 years ago • 6 comments

There exists a vapoursynth api wrapper for rust: https://github.com/YaLTeR/vapoursynth-rs so to optimize and create total memory safety we can call all the plugin calls within rust then push the resulting buffer to ffmpeg.

This will allow for easier config management and code base because we wouldnt need to create a temp script and can allow for our own plugin integration within the codebase

This is very long term improvement and currently better to implement a vspipe replacement in rust and call it

animafps avatar Dec 09 '22 02:12 animafps

You can just pass arguments to the script itself though. (That is what Smoothie does.)

Aetopia avatar Dec 25 '22 03:12 Aetopia

You can just pass arguments to the script itself though. (That is what Smoothie does.)

Huh? What arguments, its about removing the entire need for scripting

animafps avatar Dec 25 '22 03:12 animafps

You can just pass arguments to the script itself though. (That is what Smoothie does.)

I see what you are meaning tho, to turn it into a static vpy script and pass args which i will do in the meantime before thinking about wrapping vapoursynth

animafps avatar Dec 31 '22 06:12 animafps

https://github.com/animafps/rustsynth - new wrapper

GitHub
a safe vapoursynth wrapper to rust. Contribute to animafps/rustsynth development by creating an account on GitHub.

animafps avatar Jan 15 '23 08:01 animafps

Leiko in CTT made a good point that its prob easier to run without trying to abstract vapoursynth and run everything in house

like libav the input then manipulate the video with libtorch or ncnn and then better handle everything on the gpu with kernels/opengl then output again through libav

so dont need to make stupid plugins that are hard to control but would def require a lot of work

would require less opinionated coding especially around the wrapper

OR an idea focus teres on just blending not interpolation which could be way more optimized for a workflow and stop teres from being a jack of all trades, master of none

animafps avatar Oct 16 '23 09:10 animafps

https://github.com/atzuur/pixie still wip

https://github.com/unknownopponent/video-blender closest to what you described, though it's all CPU (atzur claimed it still goes zoom zoom 🏎)

didn't manage to compile it with Visual Studio, a GCC compliant version would be cool 🌝

GitHub
Simple and fast video filtering. Contribute to atzuur/pixie development by creating an account on GitHub.
GitHub
Contribute to unknownopponent/Video-Blender development by creating an account on GitHub.

couleurm avatar Oct 17 '23 11:10 couleurm