{"adoption": {"forks": 399, "observed_at": "2026-08-28T04:09:00.129641+00:00", "stars": 4798}, "canonical_url": "https://ross.abutalabs.com/products/bililiverecorder", "card": {"archived": false, "artifact_type": "application", "description": "录播姬 | mikufans 生放送录制", "domain": ["media", "self-hosted"], "enriched": true, "function": ["video-processing", "streaming", "gui", "cli", "http-server"], "health_score": 96, "homepage": "https://rec.danmuji.org", "language": "C#", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["BililiveRecorder/BililiveRecorder"], "name": "BililiveRecorder/BililiveRecorder", "platform": ["windows", "cross-platform", "dotnet"], "pushed_at": "2026-08-26T17:42:20+00:00", "repo": "BililiveRecorder/BililiveRecorder", "stars": 4798, "tags": ["bilibili", "live-stream-recording", "flv", "stream-recorder", "wpf", "docker", "video", "automation", "linux", "macos"], "topics": ["bilibili", "bilibili-live", "stream", "flv", "dotnet-core", "wpf"], "urls": [], "use_cases": ["record bilibili live streams automatically", "monitor multiple live rooms and record when they go live", "repair broken flv recordings from bilibili", "run a headless live stream recorder in docker", "archive vtuber livestreams 24/7"], "what_it_is": "BililiveRecorder (录播姬) is a free, open-source tool for recording Bilibili (mikufans) live streams, available as a Windows desktop app with WPF GUI and a cross-platform CLI version with an HTTP API and web management UI. It monitors rooms, starts recording automatically when a stream goes live, records multiple rooms simultaneously, and includes a toolbox to repair broken FLV recordings.", "when_to_avoid": ["you want to record your own stream locally (use OBS instead)", "you need to record platforms other than Bilibili", "you need a video editor or transcoding tool"], "when_to_choose": ["you need to record Bilibili live streams reliably with automatic start", "you want to record many rooms at once on low-end hardware or a server", "you need to fix corrupted FLV files recorded from Bilibili servers"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/bililiverecorder", "repo": "BililiveRecorder/BililiveRecorder", "role": "main", "score": 85}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.129641+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:18:38.655253+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f43b7f5d04451c2199a6b0eac3a54a9fa392d4c5f68ec2884be7bbcf21ed498", "fetched_at": "2026-08-28T04:09:00.129641+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BililiveRecorder/BililiveRecorder"}, {"content_hash": "db94af9ea13d9d885bcca84e58ba2909382bfe967f8ff9b3e2e619ca468f647a", "fetched_at": "2026-08-29T09:01:46.874087+00:00", "kind": "homepage", "missing": false, "url": "https://rec.danmuji.org"}, {"content_hash": "18520af18003ca30492de44668d55b5a323db51f7a009a76a39d93ec0a53daef", "fetched_at": "2026-08-29T09:01:46.883116+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/install/versions"}, {"content_hash": "a0a95e1158f11d5fc48907b02cf7809b2810411640bc411f9bb89fb6e7566b4e", "fetched_at": "2026-08-29T09:01:46.885056+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/install/desktop"}, {"content_hash": "d1f99934b1f5124107ff0e5b9588ba5557e104af0531622344ff3f2b7cf09bd8", "fetched_at": "2026-08-29T09:01:46.886824+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/user/faq"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.129641+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:18:38.655253+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f43b7f5d04451c2199a6b0eac3a54a9fa392d4c5f68ec2884be7bbcf21ed498", "fetched_at": "2026-08-28T04:09:00.129641+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BililiveRecorder/BililiveRecorder"}, {"content_hash": "db94af9ea13d9d885bcca84e58ba2909382bfe967f8ff9b3e2e619ca468f647a", "fetched_at": "2026-08-29T09:01:46.874087+00:00", "kind": "homepage", "missing": false, "url": "https://rec.danmuji.org"}, {"content_hash": "18520af18003ca30492de44668d55b5a323db51f7a009a76a39d93ec0a53daef", "fetched_at": "2026-08-29T09:01:46.883116+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/install/versions"}, {"content_hash": "a0a95e1158f11d5fc48907b02cf7809b2810411640bc411f9bb89fb6e7566b4e", "fetched_at": "2026-08-29T09:01:46.885056+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/install/desktop"}, {"content_hash": "d1f99934b1f5124107ff0e5b9588ba5557e104af0531622344ff3f2b7cf09bd8", "fetched_at": "2026-08-29T09:01:46.886824+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/user/faq"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:18:38.655253+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f43b7f5d04451c2199a6b0eac3a54a9fa392d4c5f68ec2884be7bbcf21ed498", "fetched_at": "2026-08-28T04:09:00.129641+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BililiveRecorder/BililiveRecorder"}, {"content_hash": "db94af9ea13d9d885bcca84e58ba2909382bfe967f8ff9b3e2e619ca468f647a", "fetched_at": "2026-08-29T09:01:46.874087+00:00", "kind": "homepage", "missing": false, "url": "https://rec.danmuji.org"}, {"content_hash": "18520af18003ca30492de44668d55b5a323db51f7a009a76a39d93ec0a53daef", "fetched_at": "2026-08-29T09:01:46.883116+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/install/versions"}, {"content_hash": "a0a95e1158f11d5fc48907b02cf7809b2810411640bc411f9bb89fb6e7566b4e", "fetched_at": "2026-08-29T09:01:46.885056+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/install/desktop"}, {"content_hash": "d1f99934b1f5124107ff0e5b9588ba5557e104af0531622344ff3f2b7cf09bd8", "fetched_at": "2026-08-29T09:01:46.886824+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/user/faq"}], "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:09:00.129641+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.129641+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.129641+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:18:38.655253+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f43b7f5d04451c2199a6b0eac3a54a9fa392d4c5f68ec2884be7bbcf21ed498", "fetched_at": "2026-08-28T04:09:00.129641+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BililiveRecorder/BililiveRecorder"}, {"content_hash": "db94af9ea13d9d885bcca84e58ba2909382bfe967f8ff9b3e2e619ca468f647a", "fetched_at": "2026-08-29T09:01:46.874087+00:00", "kind": "homepage", "missing": false, "url": "https://rec.danmuji.org"}, {"content_hash": "18520af18003ca30492de44668d55b5a323db51f7a009a76a39d93ec0a53daef", "fetched_at": "2026-08-29T09:01:46.883116+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/install/versions"}, {"content_hash": "a0a95e1158f11d5fc48907b02cf7809b2810411640bc411f9bb89fb6e7566b4e", "fetched_at": "2026-08-29T09:01:46.885056+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/install/desktop"}, {"content_hash": "d1f99934b1f5124107ff0e5b9588ba5557e104af0531622344ff3f2b7cf09bd8", "fetched_at": "2026-08-29T09:01:46.886824+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/user/faq"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.129641+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.129641+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:18:38.655253+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f43b7f5d04451c2199a6b0eac3a54a9fa392d4c5f68ec2884be7bbcf21ed498", "fetched_at": "2026-08-28T04:09:00.129641+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BililiveRecorder/BililiveRecorder"}, {"content_hash": "db94af9ea13d9d885bcca84e58ba2909382bfe967f8ff9b3e2e619ca468f647a", "fetched_at": "2026-08-29T09:01:46.874087+00:00", "kind": "homepage", "missing": false, "url": "https://rec.danmuji.org"}, {"content_hash": "18520af18003ca30492de44668d55b5a323db51f7a009a76a39d93ec0a53daef", "fetched_at": "2026-08-29T09:01:46.883116+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/install/versions"}, {"content_hash": "a0a95e1158f11d5fc48907b02cf7809b2810411640bc411f9bb89fb6e7566b4e", "fetched_at": "2026-08-29T09:01:46.885056+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/install/desktop"}, {"content_hash": "d1f99934b1f5124107ff0e5b9588ba5557e104af0531622344ff3f2b7cf09bd8", "fetched_at": "2026-08-29T09:01:46.886824+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/user/faq"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.129641+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.129641+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.129641+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:18:38.655253+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f43b7f5d04451c2199a6b0eac3a54a9fa392d4c5f68ec2884be7bbcf21ed498", "fetched_at": "2026-08-28T04:09:00.129641+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BililiveRecorder/BililiveRecorder"}, {"content_hash": "db94af9ea13d9d885bcca84e58ba2909382bfe967f8ff9b3e2e619ca468f647a", "fetched_at": "2026-08-29T09:01:46.874087+00:00", "kind": "homepage", "missing": false, "url": "https://rec.danmuji.org"}, {"content_hash": "18520af18003ca30492de44668d55b5a323db51f7a009a76a39d93ec0a53daef", "fetched_at": "2026-08-29T09:01:46.883116+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/install/versions"}, {"content_hash": "a0a95e1158f11d5fc48907b02cf7809b2810411640bc411f9bb89fb6e7566b4e", "fetched_at": "2026-08-29T09:01:46.885056+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/install/desktop"}, {"content_hash": "d1f99934b1f5124107ff0e5b9588ba5557e104af0531622344ff3f2b7cf09bd8", "fetched_at": "2026-08-29T09:01:46.886824+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/user/faq"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.129641+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:00.129641+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:18:38.655253+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f43b7f5d04451c2199a6b0eac3a54a9fa392d4c5f68ec2884be7bbcf21ed498", "fetched_at": "2026-08-28T04:09:00.129641+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BililiveRecorder/BililiveRecorder"}, {"content_hash": "db94af9ea13d9d885bcca84e58ba2909382bfe967f8ff9b3e2e619ca468f647a", "fetched_at": "2026-08-29T09:01:46.874087+00:00", "kind": "homepage", "missing": false, "url": "https://rec.danmuji.org"}, {"content_hash": "18520af18003ca30492de44668d55b5a323db51f7a009a76a39d93ec0a53daef", "fetched_at": "2026-08-29T09:01:46.883116+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/install/versions"}, {"content_hash": "a0a95e1158f11d5fc48907b02cf7809b2810411640bc411f9bb89fb6e7566b4e", "fetched_at": "2026-08-29T09:01:46.885056+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/install/desktop"}, {"content_hash": "d1f99934b1f5124107ff0e5b9588ba5557e104af0531622344ff3f2b7cf09bd8", "fetched_at": "2026-08-29T09:01:46.886824+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/user/faq"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:18:38.655253+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f43b7f5d04451c2199a6b0eac3a54a9fa392d4c5f68ec2884be7bbcf21ed498", "fetched_at": "2026-08-28T04:09:00.129641+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BililiveRecorder/BililiveRecorder"}, {"content_hash": "db94af9ea13d9d885bcca84e58ba2909382bfe967f8ff9b3e2e619ca468f647a", "fetched_at": "2026-08-29T09:01:46.874087+00:00", "kind": "homepage", "missing": false, "url": "https://rec.danmuji.org"}, {"content_hash": "18520af18003ca30492de44668d55b5a323db51f7a009a76a39d93ec0a53daef", "fetched_at": "2026-08-29T09:01:46.883116+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/install/versions"}, {"content_hash": "a0a95e1158f11d5fc48907b02cf7809b2810411640bc411f9bb89fb6e7566b4e", "fetched_at": "2026-08-29T09:01:46.885056+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/install/desktop"}, {"content_hash": "d1f99934b1f5124107ff0e5b9588ba5557e104af0531622344ff3f2b7cf09bd8", "fetched_at": "2026-08-29T09:01:46.886824+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/user/faq"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:18:38.655253+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f43b7f5d04451c2199a6b0eac3a54a9fa392d4c5f68ec2884be7bbcf21ed498", "fetched_at": "2026-08-28T04:09:00.129641+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BililiveRecorder/BililiveRecorder"}, {"content_hash": "db94af9ea13d9d885bcca84e58ba2909382bfe967f8ff9b3e2e619ca468f647a", "fetched_at": "2026-08-29T09:01:46.874087+00:00", "kind": "homepage", "missing": false, "url": "https://rec.danmuji.org"}, {"content_hash": "18520af18003ca30492de44668d55b5a323db51f7a009a76a39d93ec0a53daef", "fetched_at": "2026-08-29T09:01:46.883116+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/install/versions"}, {"content_hash": "a0a95e1158f11d5fc48907b02cf7809b2810411640bc411f9bb89fb6e7566b4e", "fetched_at": "2026-08-29T09:01:46.885056+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/install/desktop"}, {"content_hash": "d1f99934b1f5124107ff0e5b9588ba5557e104af0531622344ff3f2b7cf09bd8", "fetched_at": "2026-08-29T09:01:46.886824+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/user/faq"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:18:38.655253+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "2f43b7f5d04451c2199a6b0eac3a54a9fa392d4c5f68ec2884be7bbcf21ed498", "fetched_at": "2026-08-28T04:09:00.129641+00:00", "kind": "readme", "missing": false, "url": "https://github.com/BililiveRecorder/BililiveRecorder"}, {"content_hash": "db94af9ea13d9d885bcca84e58ba2909382bfe967f8ff9b3e2e619ca468f647a", "fetched_at": "2026-08-29T09:01:46.874087+00:00", "kind": "homepage", "missing": false, "url": "https://rec.danmuji.org"}, {"content_hash": "18520af18003ca30492de44668d55b5a323db51f7a009a76a39d93ec0a53daef", "fetched_at": "2026-08-29T09:01:46.883116+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/install/versions"}, {"content_hash": "a0a95e1158f11d5fc48907b02cf7809b2810411640bc411f9bb89fb6e7566b4e", "fetched_at": "2026-08-29T09:01:46.885056+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/install/desktop"}, {"content_hash": "d1f99934b1f5124107ff0e5b9588ba5557e104af0531622344ff3f2b7cf09bd8", "fetched_at": "2026-08-29T09:01:46.886824+00:00", "kind": "site_page", "missing": false, "url": "https://rec.danmuji.org/user/faq"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 59}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3096, "days_push": 7, "days_rel": 276, "gap_med": 26, "n_releases_24m": 12}, "score": 85, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}