{"adoption": {"forks": 110, "observed_at": "2026-08-28T04:04:01.956467+00:00", "stars": 1220}, "canonical_url": "https://ross.abutalabs.com/products/fntv-electron", "card": {"archived": false, "artifact_type": "application", "description": "飞牛影视PC版", "domain": ["media", "desktop-applications", "self-hosted", "entertainment"], "enriched": true, "function": ["video-processing", "gui", "http-client"], "health_score": 100, "homepage": null, "language": "Python", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["QiaoKes/fntv-electron"], "name": "QiaoKes/fntv-electron", "platform": ["cross-platform", "windows"], "pushed_at": "2026-08-26T12:37:08+00:00", "repo": "QiaoKes/fntv-electron", "stars": 1220, "tags": ["media-player", "mpv", "nas", "streaming-client", "danmaku", "anime4k", "fnos", "hardware-acceleration", "electron", "macos", "linux", "desktop"], "topics": [], "urls": [], "use_cases": ["watch movies from my feiniu nas on desktop", "play videos with mpv and hardware decoding", "load danmaku comments while watching anime", "manage multiple feiniu accounts and servers", "resume playback progress back to the nas server", "remote access my media server with fn connect"], "what_it_is": "A desktop client for FeiNiu (飞牛) NAS media server, built with Electron and wrapping the web UI with an embedded MPV player. It adds multi-account management, remote access via FN Connect, hardware-decoded playback, danmaku subtitles, and playback progress sync.", "when_to_avoid": ["you use Plex, Jellyfin, or Emu instead of FeiNiu media server", "you only need a web browser to access your media server", "you need a mobile or TV client"], "when_to_choose": ["you run a FeiNiu NAS media server and want a native-feeling desktop player", "you need MPV-based playback with HEVC/AV1 hardware decoding, danmaku, or intro skipping", "you want cross-platform Windows/macOS/Linux support with multi-account switching"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/fntv-electron", "repo": "QiaoKes/fntv-electron", "role": "main", "score": 85}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.956467+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:15:56.054921+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6edb9d8f68b3d1f96b94a1929fc9a5b859ecdb351ce4c5c962c111aa9c3a1ea4", "fetched_at": "2026-08-28T04:04:01.956467+00:00", "kind": "readme", "missing": false, "url": "https://github.com/QiaoKes/fntv-electron"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.956467+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:15:56.054921+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6edb9d8f68b3d1f96b94a1929fc9a5b859ecdb351ce4c5c962c111aa9c3a1ea4", "fetched_at": "2026-08-28T04:04:01.956467+00:00", "kind": "readme", "missing": false, "url": "https://github.com/QiaoKes/fntv-electron"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:15:56.054921+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6edb9d8f68b3d1f96b94a1929fc9a5b859ecdb351ce4c5c962c111aa9c3a1ea4", "fetched_at": "2026-08-28T04:04:01.956467+00:00", "kind": "readme", "missing": false, "url": "https://github.com/QiaoKes/fntv-electron"}], "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:01.956467+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.956467+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.956467+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:15:56.054921+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6edb9d8f68b3d1f96b94a1929fc9a5b859ecdb351ce4c5c962c111aa9c3a1ea4", "fetched_at": "2026-08-28T04:04:01.956467+00:00", "kind": "readme", "missing": false, "url": "https://github.com/QiaoKes/fntv-electron"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.956467+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.956467+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:15:56.054921+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6edb9d8f68b3d1f96b94a1929fc9a5b859ecdb351ce4c5c962c111aa9c3a1ea4", "fetched_at": "2026-08-28T04:04:01.956467+00:00", "kind": "readme", "missing": false, "url": "https://github.com/QiaoKes/fntv-electron"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.956467+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.956467+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.956467+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:15:56.054921+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6edb9d8f68b3d1f96b94a1929fc9a5b859ecdb351ce4c5c962c111aa9c3a1ea4", "fetched_at": "2026-08-28T04:04:01.956467+00:00", "kind": "readme", "missing": false, "url": "https://github.com/QiaoKes/fntv-electron"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.956467+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:01.956467+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:15:56.054921+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6edb9d8f68b3d1f96b94a1929fc9a5b859ecdb351ce4c5c962c111aa9c3a1ea4", "fetched_at": "2026-08-28T04:04:01.956467+00:00", "kind": "readme", "missing": false, "url": "https://github.com/QiaoKes/fntv-electron"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:15:56.054921+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6edb9d8f68b3d1f96b94a1929fc9a5b859ecdb351ce4c5c962c111aa9c3a1ea4", "fetched_at": "2026-08-28T04:04:01.956467+00:00", "kind": "readme", "missing": false, "url": "https://github.com/QiaoKes/fntv-electron"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:15:56.054921+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6edb9d8f68b3d1f96b94a1929fc9a5b859ecdb351ce4c5c962c111aa9c3a1ea4", "fetched_at": "2026-08-28T04:04:01.956467+00:00", "kind": "readme", "missing": false, "url": "https://github.com/QiaoKes/fntv-electron"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:15:56.054921+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6edb9d8f68b3d1f96b94a1929fc9a5b859ecdb351ce4c5c962c111aa9c3a1ea4", "fetched_at": "2026-08-28T04:04:01.956467+00:00", "kind": "readme", "missing": false, "url": "https://github.com/QiaoKes/fntv-electron"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 27, "rhythm": 99}, "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": 383, "days_push": 7, "days_rel": 7, "gap_med": 1, "n_releases_24m": 42}, "score": 85, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}