Show HN: Vidformer – Drop-In Acceleration for Cv2 Video Annotation Scripts
Hi HN, this is a project I've been working on as part of my PhD.Vidformer is a system that makes video annotation or transformation scripts practically instant. Traditional scripts that render full videos can take minutes—Vidformer speeds this up by optimizing execution and using on-demand rendering, so results appear immediately instead of waiting for entire videos to render. It works as a drop-in replacement for OpenCV's cv2, meaning most scripts can adopt it by simply changing "import cv2" to "import vidformer.cv2 as cv2"—no need to rewrite code or sacrifice flexibility. Vidformer is written in Rust and uses FFmpeg libraries for low-level video access.Under the hood, Vidformer runs code with symbolic references to frames and tracks frame modifications to build a declarative representation of the task. Then, when rendering, it can transparently distribute the workload across many cores and efficiently use additional memory for caching frames. Further, it can expose a Video on Demand endpoint and only render segments once requested; this lets playback begin instantly.Repo: https://github.com/ixlab/vidformerThe "Open in Colab" notebook is a great place to start. Would love to hear feedback! Comments URL: https://news.ycombinator.com/item?id=43257704 Points: 3 # Comments: 0
Hi HN, this is a project I've been working on as part of my PhD.
Vidformer is a system that makes video annotation or transformation scripts practically instant. Traditional scripts that render full videos can take minutes—Vidformer speeds this up by optimizing execution and using on-demand rendering, so results appear immediately instead of waiting for entire videos to render. It works as a drop-in replacement for OpenCV's cv2, meaning most scripts can adopt it by simply changing "import cv2" to "import vidformer.cv2 as cv2"—no need to rewrite code or sacrifice flexibility. Vidformer is written in Rust and uses FFmpeg libraries for low-level video access.
Under the hood, Vidformer runs code with symbolic references to frames and tracks frame modifications to build a declarative representation of the task. Then, when rendering, it can transparently distribute the workload across many cores and efficiently use additional memory for caching frames. Further, it can expose a Video on Demand endpoint and only render segments once requested; this lets playback begin instantly.
Repo: https://github.com/ixlab/vidformer
The "Open in Colab" notebook is a great place to start. Would love to hear feedback!
Comments URL: https://news.ycombinator.com/item?id=43257704
Points: 3
# Comments: 0