$ show n00mkrad/flowframes
Flowframes is a Windows desktop application for AI-based video frame interpolation. It provides a GUI (WinForms) to orchestrate interpolation using models like RIFE, DAIN, and FLAVR, running on CUDA (PyTorch) or NCNN (Vulkan) backends. The core pipeline extracts frames from input videos via FFmpeg, runs AI inference to generate intermediate frames, and re-encodes the result. It supports batch processing, resume from interruption, various output formats (video, GIF, image sequences), and hardware acceleration detection. The architecture is a monolithic C# application that spawns external processes (FFmpeg, Python scripts, NCNN binaries) and manages their lifecycle. The codebase includes a legacy CodeLegacy folder with near-duplicate files, indicating incomplete refactoring. It also bundles a large vendored Python environment (pip, setuptools, etc.) for the AI runtimes, which introduces maintenance overhead. Despite these issues, the application is functional and actively maintained, with useful utilities like a Fraction struct for rational FPS arithmetic and a rolling average class for performance monitoring.
The LLM identified 2 files worth highlighting for reuse:
A self-contained struct for rational number arithmetic (numerator/denominator). Used for FPS calculations. It provides reduction, conversion to double, and basic arithmetic operators. Fully reusable in any project needing rational number handling.
A generic class that computes a rolling average over a fixed-size window. Supports pushing new values and retrieving the current average. Useful for performance metrics (e.g., FPS, encoding speed). Minimal dependencies and easy to extract.