{"adoption": {"forks": 139, "observed_at": "2026-08-28T04:05:22.183225+00:00", "stars": 1687}, "canonical_url": "https://ross.abutalabs.com/products/dandanplayforandroid", "card": {"archived": false, "artifact_type": "application", "description": "弹弹play 概念版，弹弹play系列应用安卓平台上的实现，是一个提供了视频播放（本地+局域网）和弹幕加载（在线+本地）功能的本地播放器", "domain": ["media", "entertainment", "android-tools"], "enriched": true, "function": ["video-processing", "gui", "http-client", "search-engine"], "health_score": 95, "homepage": null, "language": "Kotlin", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["xyoye/DanDanPlayForAndroid"], "name": "xyoye/DanDanPlayForAndroid", "platform": ["jvm"], "pushed_at": "2026-07-06T11:14:52+00:00", "repo": "xyoye/DanDanPlayForAndroid", "stars": 1687, "tags": ["video-player", "danmaku", "bullet-comments", "anime", "local-playback", "smb", "webdav", "ftp", "subtitles", "dandanplay", "android"], "topics": [], "urls": [], "use_cases": ["play local videos with danmaku overlay on android", "watch anime from smb or webdav with auto-matched subtitles", "download danmaku for videos", "browse weekly anime episode updates", "stream videos over lan with bullet comments", "block danmaku by keyword or regex"], "what_it_is": "DanDanPlay Concept Edition is an Android local video player that combines video playback (local and network sources like SMB, FTP, WebDAV) with danmaku (bullet comment) loading and display. It also provides automatic subtitle matching and anime information browsing, powered by the dandanplay open API.", "when_to_avoid": ["you need an iOS or desktop player", "you want a general-purpose player without danmaku features", "you need user account features (disabled in open-source build)"], "when_to_choose": ["you want an android player with danmaku support for anime", "you need lan/network playback (SMB/FTP/WebDAV) with danmaku", "you want automatic subtitle and danmaku matching"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dandanplayforandroid", "repo": "xyoye/DanDanPlayForAndroid", "role": "main", "score": 85}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.183225+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:38:55.068028+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6904d05c192a19aa39f60221b58dac56f279e2bd8ad65b7b2a28f34557e895c", "fetched_at": "2026-08-28T04:05:22.183225+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xyoye/DanDanPlayForAndroid"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.183225+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:38:55.068028+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6904d05c192a19aa39f60221b58dac56f279e2bd8ad65b7b2a28f34557e895c", "fetched_at": "2026-08-28T04:05:22.183225+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xyoye/DanDanPlayForAndroid"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:38:55.068028+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6904d05c192a19aa39f60221b58dac56f279e2bd8ad65b7b2a28f34557e895c", "fetched_at": "2026-08-28T04:05:22.183225+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xyoye/DanDanPlayForAndroid"}], "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:05:22.183225+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.183225+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.183225+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:38:55.068028+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6904d05c192a19aa39f60221b58dac56f279e2bd8ad65b7b2a28f34557e895c", "fetched_at": "2026-08-28T04:05:22.183225+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xyoye/DanDanPlayForAndroid"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.183225+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.183225+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:38:55.068028+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6904d05c192a19aa39f60221b58dac56f279e2bd8ad65b7b2a28f34557e895c", "fetched_at": "2026-08-28T04:05:22.183225+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xyoye/DanDanPlayForAndroid"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.183225+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.183225+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.183225+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:38:55.068028+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6904d05c192a19aa39f60221b58dac56f279e2bd8ad65b7b2a28f34557e895c", "fetched_at": "2026-08-28T04:05:22.183225+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xyoye/DanDanPlayForAndroid"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.183225+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.183225+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:38:55.068028+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6904d05c192a19aa39f60221b58dac56f279e2bd8ad65b7b2a28f34557e895c", "fetched_at": "2026-08-28T04:05:22.183225+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xyoye/DanDanPlayForAndroid"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:38:55.068028+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6904d05c192a19aa39f60221b58dac56f279e2bd8ad65b7b2a28f34557e895c", "fetched_at": "2026-08-28T04:05:22.183225+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xyoye/DanDanPlayForAndroid"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:38:55.068028+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6904d05c192a19aa39f60221b58dac56f279e2bd8ad65b7b2a28f34557e895c", "fetched_at": "2026-08-28T04:05:22.183225+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xyoye/DanDanPlayForAndroid"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:38:55.068028+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c6904d05c192a19aa39f60221b58dac56f279e2bd8ad65b7b2a28f34557e895c", "fetched_at": "2026-08-28T04:05:22.183225+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xyoye/DanDanPlayForAndroid"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 91, "longevity": 100, "rhythm": 68}, "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": 2988, "days_push": 58, "days_rel": 58, "gap_med": 154, "n_releases_24m": 4}, "score": 85, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}