{"adoption": {"forks": 571, "observed_at": "2026-08-28T04:05:46.844614+00:00", "stars": 1870}, "canonical_url": "https://ross.abutalabs.com/products/linke", "card": {"archived": true, "artifact_type": "application", "description": "本项目实现了作为一个直播App的基本功能，比如本地视频流采集、播放、美颜、礼物、点赞出心等。提供一个搭建思路，很久没有更新了，望谅解！🤡", "domain": ["media", "mobile-development", "web-development"], "enriched": true, "function": ["video-processing", "audio-processing", "image-processing", "streaming", "gui"], "health_score": 10, "homepage": null, "language": "Objective-C", "license": "MIT", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["liamxujia/linke"], "name": "liamxujia/linke", "platform": [], "pushed_at": "2019-03-21T02:44:59+00:00", "repo": "liamxujia/linke", "stars": 1870, "tags": ["live-streaming", "rtmp", "beauty-filter", "gifts", "likes", "camera-capture", "ijkplayer", "lflivekit", "tutorial", "demo-app", "ios", "mobile", "swift", "objective-c"], "topics": [], "urls": [], "use_cases": ["build a live streaming app for ios", "implement rtmp push streaming on iphone", "add beauty filter to live video", "show floating hearts and gifts during live stream", "learn how to integrate ijkplayer for rtmp playback", "reference code for live broadcast app architecture"], "what_it_is": "An iOS live-streaming demo app implementing core features like local video capture, playback, beauty filters, gifts, and floating hearts. It serves as a reference/tutorial for building a live-streaming app using LFLiveKit for pushing and ijkplayer for playback.", "when_to_avoid": ["you need a production-ready or actively maintained live-streaming SDK", "you target Android or cross-platform deployment", "you expect recent updates, bug fixes, or official support"], "when_to_choose": ["you want a working iOS reference implementation of a live-streaming app", "you need example code for camera capture, RTMP push, and playback in one project", "you are learning how beauty filters, gifts, and hearts are implemented in live apps"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/linke", "repo": "liamxujia/linke", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.844614+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:15:05.248024+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3b4558a8563e3390b7c03440027ccc32f4341a09ca4c835c6aba42d664fcb21e", "fetched_at": "2026-08-28T04:05:46.844614+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liamxujia/linke"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.844614+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:15:05.248024+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3b4558a8563e3390b7c03440027ccc32f4341a09ca4c835c6aba42d664fcb21e", "fetched_at": "2026-08-28T04:05:46.844614+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liamxujia/linke"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:15:05.248024+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3b4558a8563e3390b7c03440027ccc32f4341a09ca4c835c6aba42d664fcb21e", "fetched_at": "2026-08-28T04:05:46.844614+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liamxujia/linke"}], "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:46.844614+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.844614+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.844614+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:15:05.248024+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3b4558a8563e3390b7c03440027ccc32f4341a09ca4c835c6aba42d664fcb21e", "fetched_at": "2026-08-28T04:05:46.844614+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liamxujia/linke"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.844614+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.844614+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:15:05.248024+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3b4558a8563e3390b7c03440027ccc32f4341a09ca4c835c6aba42d664fcb21e", "fetched_at": "2026-08-28T04:05:46.844614+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liamxujia/linke"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.844614+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.844614+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.844614+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:15:05.248024+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3b4558a8563e3390b7c03440027ccc32f4341a09ca4c835c6aba42d664fcb21e", "fetched_at": "2026-08-28T04:05:46.844614+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liamxujia/linke"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.844614+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:46.844614+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:15:05.248024+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3b4558a8563e3390b7c03440027ccc32f4341a09ca4c835c6aba42d664fcb21e", "fetched_at": "2026-08-28T04:05:46.844614+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liamxujia/linke"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:15:05.248024+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3b4558a8563e3390b7c03440027ccc32f4341a09ca4c835c6aba42d664fcb21e", "fetched_at": "2026-08-28T04:05:46.844614+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liamxujia/linke"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:15:05.248024+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3b4558a8563e3390b7c03440027ccc32f4341a09ca4c835c6aba42d664fcb21e", "fetched_at": "2026-08-28T04:05:46.844614+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liamxujia/linke"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:15:05.248024+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3b4558a8563e3390b7c03440027ccc32f4341a09ca4c835c6aba42d664fcb21e", "fetched_at": "2026-08-28T04:05:46.844614+00:00", "kind": "readme", "missing": false, "url": "https://github.com/liamxujia/linke"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3712, "days_push": 2722, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}