{"adoption": {"forks": 68, "observed_at": "2026-08-28T04:05:30.341924+00:00", "stars": 1742}, "canonical_url": "https://ross.abutalabs.com/products/video-compare", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Split-screen video comparison tool using FFmpeg and SDL2", "domain": ["media", "developer-tools"], "enriched": true, "function": ["video-processing", "gui", "cli"], "health_score": 99, "homepage": null, "language": "C++", "license": "GPL-2.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["pixop/video-compare"], "name": "pixop/video-compare", "platform": ["windows", "cli", "cross-platform"], "pushed_at": "2026-08-17T18:57:13+00:00", "repo": "pixop/video-compare", "stars": 1742, "tags": ["video-comparison", "split-screen", "ffmpeg", "sdl2", "quality-analysis", "video", "linux", "macos"], "topics": ["ffmpeg", "video", "sdl2", "comparison", "ui", "cli", "stb-image"], "urls": [], "use_cases": ["compare two video files side by side", "visually check codec compression quality differences", "compare videos with different resolutions or frame rates in sync", "analyze the impact of resizing algorithms on video", "compare image sequences or still images", "spot differences between original and encoded video with subtraction mode"], "what_it_is": "A split-screen video comparison tool written in C++ that uses FFmpeg libraries and SDL2 for interactive playback. It lets users visually compare two videos (or images) of differing formats side by side, with analysis modes like subtraction and stacked views.", "when_to_avoid": ["you need automated, headless video quality metrics like VMAF or SSIM in a pipeline", "you only need simple video playback without comparison features", "you require a GUI-only workflow without command-line launch"], "when_to_choose": ["you need frame-accurate visual comparison of two videos played in sync", "the videos differ in resolution, frame rate, color format, or container", "you want an interactive tool with zoom, time-shift, and subtraction analysis modes"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/video-compare", "repo": "pixop/video-compare", "role": "main", "score": 96}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.341924+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:29:56.013072+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fc4e6cf4549842ef44d70554ac0c329513658b97fe297bf9a4102fe6f013b0b", "fetched_at": "2026-08-28T04:05:30.341924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pixop/video-compare"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.341924+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:29:56.013072+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fc4e6cf4549842ef44d70554ac0c329513658b97fe297bf9a4102fe6f013b0b", "fetched_at": "2026-08-28T04:05:30.341924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pixop/video-compare"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:29:56.013072+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fc4e6cf4549842ef44d70554ac0c329513658b97fe297bf9a4102fe6f013b0b", "fetched_at": "2026-08-28T04:05:30.341924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pixop/video-compare"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.341924+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.341924+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.341924+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:29:56.013072+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fc4e6cf4549842ef44d70554ac0c329513658b97fe297bf9a4102fe6f013b0b", "fetched_at": "2026-08-28T04:05:30.341924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pixop/video-compare"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.341924+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.341924+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:29:56.013072+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fc4e6cf4549842ef44d70554ac0c329513658b97fe297bf9a4102fe6f013b0b", "fetched_at": "2026-08-28T04:05:30.341924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pixop/video-compare"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.341924+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.341924+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.341924+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:29:56.013072+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fc4e6cf4549842ef44d70554ac0c329513658b97fe297bf9a4102fe6f013b0b", "fetched_at": "2026-08-28T04:05:30.341924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pixop/video-compare"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.341924+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:30.341924+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:29:56.013072+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fc4e6cf4549842ef44d70554ac0c329513658b97fe297bf9a4102fe6f013b0b", "fetched_at": "2026-08-28T04:05:30.341924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pixop/video-compare"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:29:56.013072+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fc4e6cf4549842ef44d70554ac0c329513658b97fe297bf9a4102fe6f013b0b", "fetched_at": "2026-08-28T04:05:30.341924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pixop/video-compare"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:29:56.013072+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fc4e6cf4549842ef44d70554ac0c329513658b97fe297bf9a4102fe6f013b0b", "fetched_at": "2026-08-28T04:05:30.341924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pixop/video-compare"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:29:56.013072+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7fc4e6cf4549842ef44d70554ac0c329513658b97fe297bf9a4102fe6f013b0b", "fetched_at": "2026-08-28T04:05:30.341924+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pixop/video-compare"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 92}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2802, "days_push": 16, "days_rel": 56, "gap_med": 27, "n_releases_24m": 20}, "score": 96, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}