{"adoption": {"forks": 470, "observed_at": "2026-08-28T04:06:16.306333+00:00", "stars": 2116}, "canonical_url": "https://ross.abutalabs.com/products/yangkun19921001-blog", "card": {"archived": false, "artifact_type": "learning-resource", "description": "Android 面试宝典、数据结构和算法、音视频 (FFmpeg、AAC、x264、MediaCodec)、 C/C++ 、OpenCV、跨平台等学习记录。【0基础音视频进阶学习路线】", "domain": ["tutorials", "mobile-development", "education"], "enriched": true, "function": ["documentation", "audio-processing", "video-processing", "image-processing"], "health_score": 21, "homepage": "https://github.com/yangkun19921001/AVSample", "language": "HTML", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["yangkun19921001/Blog"], "name": "yangkun19921001/Blog", "platform": ["cross-platform"], "pushed_at": "2023-07-18T15:17:41+00:00", "repo": "yangkun19921001/Blog", "stars": 2116, "tags": ["android-interview", "ffmpeg", "mediacodec", "audio-video-development", "data-structures", "flutter", "java-source-analysis", "android-source-analysis", "chinese-language", "blog-collection", "audio", "video", "algorithms", "android"], "topics": ["android", "dart", "ffmpeg", "java", "android-rtmp", "android-interview"], "urls": [], "use_cases": ["prepare for senior Android engineer interviews", "learn audio and video development on Android from scratch", "study FFmpeg and MediaCodec encoding and decoding examples", "learn data structures and algorithms from zero", "understand Android framework source code like Activity startup", "get started with Flutter and the Dart language", "find a step-by-step audio/video learning roadmap"], "what_it_is": "A curated collection of Chinese-language technical blog posts and tutorials covering Android development, interview preparation, data structures and algorithms, Java/Android source code analysis, and audio/video development with FFmpeg, MediaCodec, x264, and OpenCV. It serves as a structured learning roadmap for advancing from beginner to senior Android engineer, including cross-platform topics like Flutter.", "when_to_avoid": ["you need runnable production software rather than tutorials and notes", "you require English-language learning materials", "you need actively maintained, up-to-date content for the latest Android versions"], "when_to_choose": ["you are an Android developer preparing for interviews or aiming for senior roles", "you want a structured Chinese-language roadmap into audio/video development on Android", "you need curated links to source-code analysis and algorithm tutorials"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/yangkun19921001-blog", "repo": "yangkun19921001/Blog", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.306333+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:53:20.856269+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eeb98a390afc6a8a31bc4ad4932bfd0556782d9597d53ed09949c94f8ef0a3ed", "fetched_at": "2026-08-28T04:06:16.306333+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yangkun19921001/Blog"}, {"content_hash": "537139a239b8b7d975fc44d456a446970297a1673b2cd8c8bf1d3bbefb05331d", "fetched_at": "2026-08-29T10:33:18.546503+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/yangkun19921001/AVSample"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.306333+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:53:20.856269+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eeb98a390afc6a8a31bc4ad4932bfd0556782d9597d53ed09949c94f8ef0a3ed", "fetched_at": "2026-08-28T04:06:16.306333+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yangkun19921001/Blog"}, {"content_hash": "537139a239b8b7d975fc44d456a446970297a1673b2cd8c8bf1d3bbefb05331d", "fetched_at": "2026-08-29T10:33:18.546503+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/yangkun19921001/AVSample"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:53:20.856269+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eeb98a390afc6a8a31bc4ad4932bfd0556782d9597d53ed09949c94f8ef0a3ed", "fetched_at": "2026-08-28T04:06:16.306333+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yangkun19921001/Blog"}, {"content_hash": "537139a239b8b7d975fc44d456a446970297a1673b2cd8c8bf1d3bbefb05331d", "fetched_at": "2026-08-29T10:33:18.546503+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/yangkun19921001/AVSample"}], "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:06:16.306333+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.306333+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.306333+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:53:20.856269+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eeb98a390afc6a8a31bc4ad4932bfd0556782d9597d53ed09949c94f8ef0a3ed", "fetched_at": "2026-08-28T04:06:16.306333+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yangkun19921001/Blog"}, {"content_hash": "537139a239b8b7d975fc44d456a446970297a1673b2cd8c8bf1d3bbefb05331d", "fetched_at": "2026-08-29T10:33:18.546503+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/yangkun19921001/AVSample"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.306333+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.306333+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:53:20.856269+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eeb98a390afc6a8a31bc4ad4932bfd0556782d9597d53ed09949c94f8ef0a3ed", "fetched_at": "2026-08-28T04:06:16.306333+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yangkun19921001/Blog"}, {"content_hash": "537139a239b8b7d975fc44d456a446970297a1673b2cd8c8bf1d3bbefb05331d", "fetched_at": "2026-08-29T10:33:18.546503+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/yangkun19921001/AVSample"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.306333+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.306333+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.306333+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:53:20.856269+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eeb98a390afc6a8a31bc4ad4932bfd0556782d9597d53ed09949c94f8ef0a3ed", "fetched_at": "2026-08-28T04:06:16.306333+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yangkun19921001/Blog"}, {"content_hash": "537139a239b8b7d975fc44d456a446970297a1673b2cd8c8bf1d3bbefb05331d", "fetched_at": "2026-08-29T10:33:18.546503+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/yangkun19921001/AVSample"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.306333+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:16.306333+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:53:20.856269+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eeb98a390afc6a8a31bc4ad4932bfd0556782d9597d53ed09949c94f8ef0a3ed", "fetched_at": "2026-08-28T04:06:16.306333+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yangkun19921001/Blog"}, {"content_hash": "537139a239b8b7d975fc44d456a446970297a1673b2cd8c8bf1d3bbefb05331d", "fetched_at": "2026-08-29T10:33:18.546503+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/yangkun19921001/AVSample"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:53:20.856269+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eeb98a390afc6a8a31bc4ad4932bfd0556782d9597d53ed09949c94f8ef0a3ed", "fetched_at": "2026-08-28T04:06:16.306333+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yangkun19921001/Blog"}, {"content_hash": "537139a239b8b7d975fc44d456a446970297a1673b2cd8c8bf1d3bbefb05331d", "fetched_at": "2026-08-29T10:33:18.546503+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/yangkun19921001/AVSample"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:53:20.856269+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eeb98a390afc6a8a31bc4ad4932bfd0556782d9597d53ed09949c94f8ef0a3ed", "fetched_at": "2026-08-28T04:06:16.306333+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yangkun19921001/Blog"}, {"content_hash": "537139a239b8b7d975fc44d456a446970297a1673b2cd8c8bf1d3bbefb05331d", "fetched_at": "2026-08-29T10:33:18.546503+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/yangkun19921001/AVSample"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:53:20.856269+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "eeb98a390afc6a8a31bc4ad4932bfd0556782d9597d53ed09949c94f8ef0a3ed", "fetched_at": "2026-08-28T04:06:16.306333+00:00", "kind": "readme", "missing": false, "url": "https://github.com/yangkun19921001/Blog"}, {"content_hash": "537139a239b8b7d975fc44d456a446970297a1673b2cd8c8bf1d3bbefb05331d", "fetched_at": "2026-08-29T10:33:18.546503+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/yangkun19921001/AVSample"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2775, "days_push": 1142, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}