{"adoption": {"forks": 91, "observed_at": "2026-08-28T04:04:22.370116+00:00", "stars": 1324}, "canonical_url": "https://ross.abutalabs.com/products/obs-captions-plugin", "card": {"archived": false, "artifact_type": "plugin", "description": "Closed Captioning OBS plugin using Google Speech Recognition", "domain": ["accessibility", "media"], "enriched": true, "function": ["speech-recognition", "audio-processing", "streaming"], "health_score": 95, "homepage": null, "language": "C++", "license": "GPL-2.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["ratwithacompiler/OBS-captions-plugin"], "name": "ratwithacompiler/OBS-captions-plugin", "platform": ["windows", "cross-platform"], "pushed_at": "2026-08-25T06:36:55+00:00", "repo": "ratwithacompiler/OBS-captions-plugin", "stars": 1324, "tags": ["obs-plugin", "closed-captions", "twitch", "google-speech-api", "subtitles", "srt", "accessibility", "live-streaming", "macos", "linux"], "topics": [], "urls": [], "use_cases": ["add closed captions to twitch livestreams", "generate srt subtitle files from stream recordings", "caption microphone audio automatically in obs", "display open captions via text sources for platforms without caption support", "transcribe live streams for deaf and hard-of-hearing viewers", "filter or replace words in live captions"], "what_it_is": "An OBS Studio plugin that generates closed captions for live streams using the Google Cloud Speech Recognition API. It leverages Twitch's built-in caption support so viewers can optionally see captions on livestreams and VODs without any extension, and can also save transcripts as SRT or text files.", "when_to_avoid": ["you use Streamlabs OBS (SLOBS), which doesn't support third-party plugins", "you need native captions for non-western character set languages like Japanese or Russian", "you stream to platforms other than Twitch with native caption support", "you use the AMD hardware encoder on Windows"], "when_to_choose": ["you stream on Twitch and want optional closed captions for viewers", "you need SRT or text transcripts of your streams or recordings", "you want captions only when your mic is unmuted for safety", "you want a standalone OBS plugin with no extra tools or websites"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/obs-captions-plugin", "repo": "ratwithacompiler/OBS-captions-plugin", "role": "main", "score": 83}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.370116+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:47:01.797292+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45db765173eb32bc7d3f92c56db74a63c623d11532403f71fb496f2d1ced4e23", "fetched_at": "2026-08-28T04:04:22.370116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ratwithacompiler/OBS-captions-plugin"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.370116+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:47:01.797292+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45db765173eb32bc7d3f92c56db74a63c623d11532403f71fb496f2d1ced4e23", "fetched_at": "2026-08-28T04:04:22.370116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ratwithacompiler/OBS-captions-plugin"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:47:01.797292+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45db765173eb32bc7d3f92c56db74a63c623d11532403f71fb496f2d1ced4e23", "fetched_at": "2026-08-28T04:04:22.370116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ratwithacompiler/OBS-captions-plugin"}], "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:22.370116+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.370116+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.370116+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:47:01.797292+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45db765173eb32bc7d3f92c56db74a63c623d11532403f71fb496f2d1ced4e23", "fetched_at": "2026-08-28T04:04:22.370116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ratwithacompiler/OBS-captions-plugin"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.370116+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.370116+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:47:01.797292+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45db765173eb32bc7d3f92c56db74a63c623d11532403f71fb496f2d1ced4e23", "fetched_at": "2026-08-28T04:04:22.370116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ratwithacompiler/OBS-captions-plugin"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.370116+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.370116+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.370116+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:47:01.797292+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45db765173eb32bc7d3f92c56db74a63c623d11532403f71fb496f2d1ced4e23", "fetched_at": "2026-08-28T04:04:22.370116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ratwithacompiler/OBS-captions-plugin"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.370116+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.370116+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:47:01.797292+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45db765173eb32bc7d3f92c56db74a63c623d11532403f71fb496f2d1ced4e23", "fetched_at": "2026-08-28T04:04:22.370116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ratwithacompiler/OBS-captions-plugin"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:47:01.797292+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45db765173eb32bc7d3f92c56db74a63c623d11532403f71fb496f2d1ced4e23", "fetched_at": "2026-08-28T04:04:22.370116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ratwithacompiler/OBS-captions-plugin"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:47:01.797292+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45db765173eb32bc7d3f92c56db74a63c623d11532403f71fb496f2d1ced4e23", "fetched_at": "2026-08-28T04:04:22.370116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ratwithacompiler/OBS-captions-plugin"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:47:01.797292+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "45db765173eb32bc7d3f92c56db74a63c623d11532403f71fb496f2d1ced4e23", "fetched_at": "2026-08-28T04:04:22.370116+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ratwithacompiler/OBS-captions-plugin"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 52}, "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": 2608, "days_push": 8, "days_rel": 322, "gap_med": 18.0, "n_releases_24m": 3}, "score": 83, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}