SpaTrackerV2 is a 3D point tracking system that processes video input to estimate camera motion, depth, and track user-selected points in 3D space. It integrates multiple depth estimation models (ZoeDepth, DepthAnything, DepthPro) with a transformer-based tracking architecture, offering both offline (full video) and online (sliding window) processing modes. The system provides a Gradio-based web interface for interactive point selection with SAM assistance and outputs 2D tracking videos, 3D visualizations (HTML), and numerical trajectory data. Evaluation modules support benchmarking against datasets like Sintel and CVO. The codebase demonstrates modular design with reusable components for I/O, geometry, alignment, and visualization, though it relies heavily on specific external models and libraries.
ffmpeg-concat is a Node.js CLI tool and library for concatenating video files with OpenGL-based transitions. It extracts frames from input videos using ffmpeg, applies GLSL transitions between consecutive frames using headless-gl, and transcodes the result to MP4. The architecture is modular with separate modules for frame extraction, transition rendering, audio handling, and final encoding. Key entry points are lib/index.js (library API) and lib/cli.js (command-line interface). The system relies on ffmpeg as a system dependency and wraps it with fluent-ffmpeg for Node.js integration. The code demonstrates solid engineering practices with clear separation of concerns, proper error handling, and test coverage. However, the dependency ecosystem shows signs of age - many packages date to 2018-2019, and the Travis CI configuration uses outdated Node.js versions. The OpenGL-based transition system is the core innovation, allowing complex visual transitions that would be difficult to implement with ffmpeg filter graphs alone. This is a practical tool for video editors and developers needing programmatic video concatenation with visual effects. It's not a research project or data pipeline - it's a production-ready library with CLI support.
This repository is a desktop application for extracting subtitles from video files using OCR and subtitle detection. It integrates PaddleOCR inference models for text recognition, uses a separate binary tool (VideoSubFinder) for detecting subtitle regions, and employs the Sushi library for subtitle synchronization. The application is written in Python with a PyQt-based GUI (gui.py) and provides a modular backend with separate modules for OCR, subtitle detection, concurrent task management, and hardware acceleration. The project includes pre-compiled binaries for Windows, Linux, and macOS, as well as CI/CD workflows for building Windows executables. While the overall architecture is functional and suitable for its purpose, the code's internal quality and reusability cannot be fully assessed without inspecting source contents. The repository is actively maintained and has a large user base, but it is primarily a monolithic application rather than a reusable library.
FunGen is a desktop application for generating funscripts (motion scripts for interactive haptic devices) from video content using AI-based computer vision. It provides a full GUI built with Dear ImGui, supporting video playback via mpv, real-time and offline object detection (YOLO), optical flow analysis, and a plugin system for funscript transformations. The application integrates device control for hardware like The Handy, OSR, and Buttplug.io, and includes batch processing, watched folders, and a WebSocket API. The codebase is large and well-structured with many reusable components (plugin architecture, async YOLO worker, undo/redo system, checkpointing, theme management), but the project is explicitly deprecated in favor of a native binary rewrite (FunGen 2). The repository is kept for reference and no longer actively developed, leading to high technical drift and potential compatibility issues with current dependencies.
This repository contains a Windows desktop application for converting and editing video files, primarily targeting the WebM format. Built with Windows Forms and targeting .NET Framework 4.8, the application provides a graphical user interface for applying various video filters (trim, crop, resize, overlay, subtitles, etc.) and encoding the output using FFmpeg. It includes features for downloading online videos (via yt-dlp), uploading results to services like Gfycat and ShareX, and checking for application and dependency updates. The application follows a modular design where each video filter is implemented as a separate user control responsible for generating its corresponding processing script (AviSynth or FFmpeg). These filters are combined during encoding to form a complex processing pipeline. Additional notable components include a frame caching system for efficient video preview and a robust process-wrapping pattern for integrating external command-line tools. Despite its functional completeness, the project has been explicitly frozen by its maintainers, with no further updates planned. This results in high technical drift due to dependencies on outdated technologies (such as 32-bit AviSynth) and the inability to adapt to changes in online video platforms or evolving codec standards.
This repository is a collection of command-line C++ tools that simulate analog composite video artifacts and vintage VHS degradation effects. The primary program, ffmpeg_ntsc, decodes input video via FFmpeg, applies a chain of emulated NTSC/PAL encoding, VHS tape defects, audio hiss and crosstalk, then re-encodes the result as interlaced H.264. The codebase also includes many experimental or disabled utilities for specific effects like posterization, chroma keying, scanimate raster distortion, and raw composite capture processing. All tools are standalone monolithic executables built on legacy (pre-4.0) FFmpeg APIs, using autotools for configuration. The architecture is single-file per tool with significant code duplication, global mutable state, and extensive technical comments on analog video standards. There are no unit tests, and the code suffers from deprecated library APIs, making it compile only against older FFmpeg versions. The project is best suited for producing retro-looking video content, but its development appears to have stalled, with many tools disabled in the build system and no active maintenance.