{"adoption": {"forks": 948, "observed_at": "2026-08-28T04:10:31.023600+00:00", "stars": 9401}, "canonical_url": "https://ross.abutalabs.com/products/video-subtitle-extractor", "card": {"archived": false, "artifact_type": "application", "description": "视频硬字幕提取，生成srt文件。无需申请第三方API，本地实现文本识别。基于深度学习的视频字幕提取框架，包含字幕区域检测、字幕内容提取。A GUI tool for extracting hard-coded subtitle (hardsub) from videos and generating srt files. ", "domain": ["media", "deep-learning"], "enriched": true, "function": ["ocr", "video-processing", "machine-learning", "gui"], "health_score": 84, "homepage": null, "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["YaoFANGUK/video-subtitle-extractor"], "name": "YaoFANGUK/video-subtitle-extractor", "platform": ["windows", "python"], "pushed_at": "2026-04-09T15:27:37+00:00", "repo": "YaoFANGUK/video-subtitle-extractor", "stars": 9401, "tags": ["hardsub", "subtitles", "srt", "subtitle-extraction", "video-to-text", "offline-ocr", "video", "natural-language-processing", "macos", "linux", "gpu"], "topics": ["deep-learning", "ocr", "subtitles", "srt", "hardsub", "extract", "ripper", "subrip"], "urls": [], "use_cases": ["extract hard-coded subtitles from a video to an srt file", "rip burned-in subtitles without uploading video to online OCR services", "batch extract subtitles from multiple videos", "generate srt or txt files from hardsub videos", "recognize Chinese, English, Japanese, Korean and other subtitles locally", "remove watermarks and channel logos text from extracted subtitles"], "what_it_is": "A GUI application that extracts hard-coded (burned-in) subtitles from videos and generates SRT subtitle files using local deep-learning-based OCR. It detects subtitle regions in video frames, recognizes text in 87 languages, and deduplicates lines without requiring any third-party OCR APIs.", "when_to_avoid": ["the video already has soft/embedded subtitle tracks you can extract directly with ffmpeg", "you need real-time subtitle extraction during playback", "you cannot install Python/CUDA or run heavy deep-learning models on your machine", "you need frame-accurate results on CPU only - precise mode is very slow"], "when_to_choose": ["you need subtitles from videos with burned-in text and no external subtitle file exists", "you want fully local OCR with no third-party API keys or cloud uploads", "you need multilingual subtitle extraction including CJK languages", "you want GPU-accelerated batch processing with a GUI"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/video-subtitle-extractor", "repo": "YaoFANGUK/video-subtitle-extractor", "role": "main", "score": 70}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.023600+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:22:11.101747+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4008be862cfb0487945383a7278703408c34587c1a1715199c3d4ffc26c02b8d", "fetched_at": "2026-08-28T04:10:31.023600+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YaoFANGUK/video-subtitle-extractor"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.023600+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:22:11.101747+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4008be862cfb0487945383a7278703408c34587c1a1715199c3d4ffc26c02b8d", "fetched_at": "2026-08-28T04:10:31.023600+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YaoFANGUK/video-subtitle-extractor"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:22:11.101747+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4008be862cfb0487945383a7278703408c34587c1a1715199c3d4ffc26c02b8d", "fetched_at": "2026-08-28T04:10:31.023600+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YaoFANGUK/video-subtitle-extractor"}], "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:10:31.023600+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.023600+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.023600+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:22:11.101747+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4008be862cfb0487945383a7278703408c34587c1a1715199c3d4ffc26c02b8d", "fetched_at": "2026-08-28T04:10:31.023600+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YaoFANGUK/video-subtitle-extractor"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.023600+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.023600+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:22:11.101747+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4008be862cfb0487945383a7278703408c34587c1a1715199c3d4ffc26c02b8d", "fetched_at": "2026-08-28T04:10:31.023600+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YaoFANGUK/video-subtitle-extractor"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.023600+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.023600+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.023600+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:22:11.101747+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4008be862cfb0487945383a7278703408c34587c1a1715199c3d4ffc26c02b8d", "fetched_at": "2026-08-28T04:10:31.023600+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YaoFANGUK/video-subtitle-extractor"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.023600+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:31.023600+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:22:11.101747+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4008be862cfb0487945383a7278703408c34587c1a1715199c3d4ffc26c02b8d", "fetched_at": "2026-08-28T04:10:31.023600+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YaoFANGUK/video-subtitle-extractor"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:22:11.101747+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4008be862cfb0487945383a7278703408c34587c1a1715199c3d4ffc26c02b8d", "fetched_at": "2026-08-28T04:10:31.023600+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YaoFANGUK/video-subtitle-extractor"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:22:11.101747+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4008be862cfb0487945383a7278703408c34587c1a1715199c3d4ffc26c02b8d", "fetched_at": "2026-08-28T04:10:31.023600+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YaoFANGUK/video-subtitle-extractor"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:22:11.101747+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4008be862cfb0487945383a7278703408c34587c1a1715199c3d4ffc26c02b8d", "fetched_at": "2026-08-28T04:10:31.023600+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YaoFANGUK/video-subtitle-extractor"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 76, "longevity": 100, "rhythm": 46}, "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": 2159, "days_push": 146, "days_rel": 151, "gap_med": 345, "n_releases_24m": 2}, "score": 70, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}