{"adoption": {"forks": 39, "observed_at": "2026-08-28T04:04:11.342090+00:00", "stars": 1267}, "canonical_url": "https://ross.abutalabs.com/products/subrenamer", "card": {"archived": false, "artifact_type": "application", "description": "🎞 字幕文件批量改名和自动调轴工具 | Batch rename subtitle files to match video names with one-click.", "domain": ["media", "files", "cross-platform", "developer-tools"], "enriched": true, "function": ["gui", "file-system", "developer-tools"], "health_score": 35, "homepage": null, "language": "C#", "license": "GPL-2.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["qwqcode/SubRenamer"], "name": "qwqcode/SubRenamer", "platform": ["windows", "dotnet"], "pushed_at": "2025-03-01T12:36:35+00:00", "repo": "qwqcode/SubRenamer", "stars": 1267, "tags": ["subtitle-renamer", "srt", "anime", "bangumi", "subtitle-sync", "emby", "jellyfin", "avalonia", "macos", "linux", "desktop"], "topics": ["avalonia", "subtitle", "video", "bilibili", "video-player", "renamer", "srt", "anime", "bangumi", "subtitles", "dotnet", "subtitle-conversion", "subtitle-correction", "subtitle-files", "subrip", "vlc", "srt-subtitles", "emby", "jellyfin"], "urls": [], "use_cases": ["batch rename subtitle files to match video names", "auto-load subtitles in any video player by matching filenames", "sync subtitle timing with video audio automatically", "organize anime episode subtitles for Emby or Jellyfin", "match multilingual subtitle files to videos", "manually match video and subtitle files with custom rules or regex"], "what_it_is": "SubRenamer is a cross-platform desktop GUI tool that batch renames subtitle files to match their corresponding video file names with one click, so media players auto-load subtitles. It also supports automatic subtitle timeline syncing via integrated FFsubsync and FFmpeg.", "when_to_avoid": ["you need general-purpose batch file renaming beyond subtitles", "you only need a CLI/scripted renaming workflow", "you need subtitle format conversion or editing of subtitle content"], "when_to_choose": ["you have many episodes with mismatched video and subtitle filenames", "you want one-click automatic matching instead of manual renaming", "you need subtitle timeline auto-sync alongside renaming", "you want a small cross-platform GUI tool for subtitle management"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/subrenamer", "repo": "qwqcode/SubRenamer", "role": "main", "score": 34}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.342090+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:03:43.825567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2502e44cd93ec4fa7dac244fc0234eab8541f672449a4167377887f113e07350", "fetched_at": "2026-08-28T04:04:11.342090+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qwqcode/SubRenamer"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.342090+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:03:43.825567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2502e44cd93ec4fa7dac244fc0234eab8541f672449a4167377887f113e07350", "fetched_at": "2026-08-28T04:04:11.342090+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qwqcode/SubRenamer"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:03:43.825567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2502e44cd93ec4fa7dac244fc0234eab8541f672449a4167377887f113e07350", "fetched_at": "2026-08-28T04:04:11.342090+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qwqcode/SubRenamer"}], "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:04:11.342090+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.342090+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.342090+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:03:43.825567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2502e44cd93ec4fa7dac244fc0234eab8541f672449a4167377887f113e07350", "fetched_at": "2026-08-28T04:04:11.342090+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qwqcode/SubRenamer"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.342090+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.342090+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:03:43.825567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2502e44cd93ec4fa7dac244fc0234eab8541f672449a4167377887f113e07350", "fetched_at": "2026-08-28T04:04:11.342090+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qwqcode/SubRenamer"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.342090+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.342090+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.342090+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:03:43.825567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2502e44cd93ec4fa7dac244fc0234eab8541f672449a4167377887f113e07350", "fetched_at": "2026-08-28T04:04:11.342090+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qwqcode/SubRenamer"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.342090+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:11.342090+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:03:43.825567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2502e44cd93ec4fa7dac244fc0234eab8541f672449a4167377887f113e07350", "fetched_at": "2026-08-28T04:04:11.342090+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qwqcode/SubRenamer"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:03:43.825567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2502e44cd93ec4fa7dac244fc0234eab8541f672449a4167377887f113e07350", "fetched_at": "2026-08-28T04:04:11.342090+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qwqcode/SubRenamer"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:03:43.825567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2502e44cd93ec4fa7dac244fc0234eab8541f672449a4167377887f113e07350", "fetched_at": "2026-08-28T04:04:11.342090+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qwqcode/SubRenamer"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:03:43.825567+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2502e44cd93ec4fa7dac244fc0234eab8541f672449a4167377887f113e07350", "fetched_at": "2026-08-28T04:04:11.342090+00:00", "kind": "readme", "missing": false, "url": "https://github.com/qwqcode/SubRenamer"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 9, "longevity": 100, "rhythm": 28}, "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": 2628, "days_push": 550, "days_rel": 657, "gap_med": 32.5, "n_releases_24m": 3}, "score": 34, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}