{"adoption": {"forks": 1176, "observed_at": "2026-08-28T04:09:19.738954+00:00", "stars": 5485}, "canonical_url": "https://ross.abutalabs.com/products/androidvideocache", "card": {"archived": false, "artifact_type": "library", "description": "Cache support for any video player with help of single line", "domain": ["android-tools", "media", "mobile-development"], "enriched": true, "function": ["caching", "video-processing", "proxy", "http-server"], "health_score": 20, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["danikula/AndroidVideoCache"], "name": "danikula/AndroidVideoCache", "platform": ["jvm"], "pushed_at": "2023-03-14T18:23:44+00:00", "repo": "danikula/AndroidVideoCache", "stars": 5485, "tags": ["video-cache", "local-proxy", "mediaplayer", "exoplayer", "offline-playback", "video", "android", "mobile"], "topics": ["android", "video", "cache"], "urls": [], "use_cases": ["cache streamed videos on android so they don't download repeatedly", "make video playback work offline after first view", "add caching to videoview or exoplayer with minimal code", "limit disk space used by cached video files", "share one cached video stream across multiple players"], "what_it_is": "AndroidVideoCache is a Java library that adds disk caching to any Android video player (VideoView, MediaPlayer, ExoPlayer) via a local HTTP proxy server, requiring only a single line to swap the video URL. It supports streaming-to-disk caching, offline playback, partial loading, cache size limits, and multiple clients for the same URL.", "when_to_avoid": ["you stream adaptive formats like HLS, DASH, or SmoothStreaming - only direct media urls are supported", "you need an actively maintained solution - the project is in maintenance with known unresolved issues", "you use ExoPlayer, which has built-in caching support"], "when_to_choose": ["your android app streams direct media file urls and you want transparent disk caching", "you need offline replay of previously watched videos", "you want cache limits and progress listening for video downloads"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/androidvideocache", "repo": "danikula/AndroidVideoCache", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:19.738954+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:56:22.349797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5646c835b2c83b2c1210aad55967a81050f9c466deef3e752bcd88b026077c5d", "fetched_at": "2026-08-28T04:09:19.738954+00:00", "kind": "readme", "missing": false, "url": "https://github.com/danikula/AndroidVideoCache"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:19.738954+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:56:22.349797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5646c835b2c83b2c1210aad55967a81050f9c466deef3e752bcd88b026077c5d", "fetched_at": "2026-08-28T04:09:19.738954+00:00", "kind": "readme", "missing": false, "url": "https://github.com/danikula/AndroidVideoCache"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:56:22.349797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5646c835b2c83b2c1210aad55967a81050f9c466deef3e752bcd88b026077c5d", "fetched_at": "2026-08-28T04:09:19.738954+00:00", "kind": "readme", "missing": false, "url": "https://github.com/danikula/AndroidVideoCache"}], "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:09:19.738954+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:19.738954+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:19.738954+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:56:22.349797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5646c835b2c83b2c1210aad55967a81050f9c466deef3e752bcd88b026077c5d", "fetched_at": "2026-08-28T04:09:19.738954+00:00", "kind": "readme", "missing": false, "url": "https://github.com/danikula/AndroidVideoCache"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:19.738954+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:19.738954+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:56:22.349797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5646c835b2c83b2c1210aad55967a81050f9c466deef3e752bcd88b026077c5d", "fetched_at": "2026-08-28T04:09:19.738954+00:00", "kind": "readme", "missing": false, "url": "https://github.com/danikula/AndroidVideoCache"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:19.738954+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:19.738954+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:19.738954+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:56:22.349797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5646c835b2c83b2c1210aad55967a81050f9c466deef3e752bcd88b026077c5d", "fetched_at": "2026-08-28T04:09:19.738954+00:00", "kind": "readme", "missing": false, "url": "https://github.com/danikula/AndroidVideoCache"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:19.738954+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:19.738954+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:56:22.349797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5646c835b2c83b2c1210aad55967a81050f9c466deef3e752bcd88b026077c5d", "fetched_at": "2026-08-28T04:09:19.738954+00:00", "kind": "readme", "missing": false, "url": "https://github.com/danikula/AndroidVideoCache"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:56:22.349797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5646c835b2c83b2c1210aad55967a81050f9c466deef3e752bcd88b026077c5d", "fetched_at": "2026-08-28T04:09:19.738954+00:00", "kind": "readme", "missing": false, "url": "https://github.com/danikula/AndroidVideoCache"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:56:22.349797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5646c835b2c83b2c1210aad55967a81050f9c466deef3e752bcd88b026077c5d", "fetched_at": "2026-08-28T04:09:19.738954+00:00", "kind": "readme", "missing": false, "url": "https://github.com/danikula/AndroidVideoCache"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:56:22.349797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5646c835b2c83b2c1210aad55967a81050f9c466deef3e752bcd88b026077c5d", "fetched_at": "2026-08-28T04:09:19.738954+00:00", "kind": "readme", "missing": false, "url": "https://github.com/danikula/AndroidVideoCache"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4172, "days_push": 1268, "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}}