{"adoption": {"forks": 1557, "observed_at": "2026-08-28T04:10:05.315075+00:00", "stars": 7827}, "canonical_url": "https://ross.abutalabs.com/products/real-url", "card": {"archived": false, "artifact_type": "library", "description": "获取斗鱼&虎牙&哔哩哔哩&抖音&快手等 58 个直播平台的真实流媒体地址(直播源)和弹幕，直播源可在 PotPlayer、flv.js 等播放器中播放。", "domain": ["media", "web-development", "developer-tools"], "enriched": true, "function": ["web-scraping", "streaming", "parser"], "health_score": 20, "homepage": null, "language": "Python", "license": "GPL-2.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["wbt5/real-url"], "name": "wbt5/real-url", "platform": ["python", "cross-platform", "cli"], "pushed_at": "2024-06-07T01:36:57+00:00", "repo": "wbt5/real-url", "stars": 7827, "tags": ["live-streaming", "stream-url-extraction", "danmaku", "danmu", "chinese-platforms", "potplayer", "flv.js", "hls"], "topics": ["douyu", "huya", "bilibili", "python", "douyin", "kuaishou", "danmu", "streaming"], "urls": [], "use_cases": ["get the real stream URL for a douyu live room", "extract bilibili live stream source for playback in PotPlayer", "capture danmaku comments from huya streams", "record or watch douyin live streams in VLC", "parse kuaishou live stream links", "play chinese live streams in a local video player"], "what_it_is": "A Python collection of scripts that extracts real streaming URLs (live stream sources) and danmaku (bullet comments) from 59 Chinese and international live-streaming platforms such as Douyu, Huya, Bilibili, Douyin, Kuaishou, and Twitch. The extracted stream links can be played in players like PotPlayer, VLC, and flv.js/hls.js-based web players.", "when_to_avoid": ["you need a maintained production service with guaranteed uptime as platforms frequently break the parsers", "you need a GUI or turnkey recording application", "you require legal assurance for redistributing platform streams"], "when_to_choose": ["you need direct stream URLs from Chinese live platforms for personal playback or recording", "you want danmaku/bullet-comment capture alongside stream extraction", "you prefer simple standalone Python scripts you can run per platform"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/real-url", "repo": "wbt5/real-url", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.315075+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:34:08.666065+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "23399385f2fd2c625fd6976215c15448e0c06b810eb2c4958391030ca7258e52", "fetched_at": "2026-08-28T04:10:05.315075+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wbt5/real-url"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.315075+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:34:08.666065+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "23399385f2fd2c625fd6976215c15448e0c06b810eb2c4958391030ca7258e52", "fetched_at": "2026-08-28T04:10:05.315075+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wbt5/real-url"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:34:08.666065+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "23399385f2fd2c625fd6976215c15448e0c06b810eb2c4958391030ca7258e52", "fetched_at": "2026-08-28T04:10:05.315075+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wbt5/real-url"}], "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:05.315075+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.315075+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.315075+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:34:08.666065+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "23399385f2fd2c625fd6976215c15448e0c06b810eb2c4958391030ca7258e52", "fetched_at": "2026-08-28T04:10:05.315075+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wbt5/real-url"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.315075+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.315075+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:34:08.666065+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "23399385f2fd2c625fd6976215c15448e0c06b810eb2c4958391030ca7258e52", "fetched_at": "2026-08-28T04:10:05.315075+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wbt5/real-url"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.315075+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.315075+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.315075+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:34:08.666065+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "23399385f2fd2c625fd6976215c15448e0c06b810eb2c4958391030ca7258e52", "fetched_at": "2026-08-28T04:10:05.315075+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wbt5/real-url"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.315075+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:05.315075+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:34:08.666065+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "23399385f2fd2c625fd6976215c15448e0c06b810eb2c4958391030ca7258e52", "fetched_at": "2026-08-28T04:10:05.315075+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wbt5/real-url"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:34:08.666065+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "23399385f2fd2c625fd6976215c15448e0c06b810eb2c4958391030ca7258e52", "fetched_at": "2026-08-28T04:10:05.315075+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wbt5/real-url"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:34:08.666065+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "23399385f2fd2c625fd6976215c15448e0c06b810eb2c4958391030ca7258e52", "fetched_at": "2026-08-28T04:10:05.315075+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wbt5/real-url"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:34:08.666065+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "23399385f2fd2c625fd6976215c15448e0c06b810eb2c4958391030ca7258e52", "fetched_at": "2026-08-28T04:10:05.315075+00:00", "kind": "readme", "missing": false, "url": "https://github.com/wbt5/real-url"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2541, "days_push": 818, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}