{"adoption": {"forks": 4316, "observed_at": "2026-08-28T04:11:31.758211+00:00", "stars": 21476}, "canonical_url": "https://ross.abutalabs.com/products/gsyvideoplayer", "card": {"archived": false, "artifact_type": "library", "description": "Video players (IJKplayer, ExoPlayer, MediaPlayer), HTTPS, 16k page size, danmaku (bullet chat) support, external subtitles, support for filters, watermarks, and GIF screenshots, pre-roll and mid-roll ads, multiple simultaneous playback, basic seeking/dragging, volume and brightness adjustment, play-while-cache support", "domain": ["android-tools", "media", "mobile-development"], "enriched": true, "function": ["video-processing", "ui-components", "caching"], "health_score": 99, "homepage": null, "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["CarGuo/GSYVideoPlayer"], "name": "CarGuo/GSYVideoPlayer", "platform": ["jvm"], "pushed_at": "2026-08-19T12:56:47+00:00", "repo": "CarGuo/GSYVideoPlayer", "stars": 21476, "tags": ["video-player", "ijkplayer", "exoplayer", "danmaku", "bullet-chat", "subtitles", "video-cache", "android-video", "ffmpeg", "watermark", "gif-screenshot", "pre-roll-ads", "video", "android", "mobile"], "topics": ["android", "video", "player", "ijkplayer", "ffmpeg", "exoplayer", "videocache", "16k", "gsy", "ssl"], "urls": [], "use_cases": ["play videos in an android app with danmaku bullet chat overlay", "android video player with external srt and webvtt subtitles", "cache video while streaming on android", "add watermarks and filters to video playback", "show pre-roll and mid-roll ads before videos", "play multiple videos simultaneously in a list", "capture video frames as screenshots or gif", "switch between ijkplayer exoplayer and mediaplayer kernels"], "what_it_is": "A comprehensive Android video player library that wraps IJKPlayer, Media3 (ExoPlayer), MediaPlayer, and AliPlayer behind a unified API. It adds rich features such as danmaku (bullet chat), external subtitles, filters, watermarks, GIF screenshots, ads, play-while-cache, and multi-instance playback.", "when_to_avoid": ["you are building for iOS, desktop, or web rather than Android", "you only need simple one-off playback and prefer the lightweight platform MediaPlayer directly", "you need a cross-platform Flutter or React Native player"], "when_to_choose": ["you need a feature-rich Android video player with danmaku, subtitles, ads, and caching out of the box", "you want to switch playback kernels (IJK/ExoPlayer/MediaPlayer) without rewriting UI code", "you need list playback, small-window/floating playback, or multi-instance playback"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gsyvideoplayer", "repo": "CarGuo/GSYVideoPlayer", "role": "main", "score": 98}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.758211+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:58:05.911456+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3adb2b6b29d6051d7fc77501e702a47c72aaa6aabd0f67f4ebc76751f2ceaba2", "fetched_at": "2026-08-28T04:11:31.758211+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CarGuo/GSYVideoPlayer"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.758211+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:58:05.911456+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3adb2b6b29d6051d7fc77501e702a47c72aaa6aabd0f67f4ebc76751f2ceaba2", "fetched_at": "2026-08-28T04:11:31.758211+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CarGuo/GSYVideoPlayer"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:58:05.911456+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3adb2b6b29d6051d7fc77501e702a47c72aaa6aabd0f67f4ebc76751f2ceaba2", "fetched_at": "2026-08-28T04:11:31.758211+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CarGuo/GSYVideoPlayer"}], "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:11:31.758211+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.758211+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.758211+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:58:05.911456+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3adb2b6b29d6051d7fc77501e702a47c72aaa6aabd0f67f4ebc76751f2ceaba2", "fetched_at": "2026-08-28T04:11:31.758211+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CarGuo/GSYVideoPlayer"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.758211+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.758211+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:58:05.911456+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3adb2b6b29d6051d7fc77501e702a47c72aaa6aabd0f67f4ebc76751f2ceaba2", "fetched_at": "2026-08-28T04:11:31.758211+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CarGuo/GSYVideoPlayer"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.758211+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.758211+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.758211+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:58:05.911456+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3adb2b6b29d6051d7fc77501e702a47c72aaa6aabd0f67f4ebc76751f2ceaba2", "fetched_at": "2026-08-28T04:11:31.758211+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CarGuo/GSYVideoPlayer"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.758211+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:31.758211+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:58:05.911456+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3adb2b6b29d6051d7fc77501e702a47c72aaa6aabd0f67f4ebc76751f2ceaba2", "fetched_at": "2026-08-28T04:11:31.758211+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CarGuo/GSYVideoPlayer"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:58:05.911456+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3adb2b6b29d6051d7fc77501e702a47c72aaa6aabd0f67f4ebc76751f2ceaba2", "fetched_at": "2026-08-28T04:11:31.758211+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CarGuo/GSYVideoPlayer"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:58:05.911456+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3adb2b6b29d6051d7fc77501e702a47c72aaa6aabd0f67f4ebc76751f2ceaba2", "fetched_at": "2026-08-28T04:11:31.758211+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CarGuo/GSYVideoPlayer"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:58:05.911456+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3adb2b6b29d6051d7fc77501e702a47c72aaa6aabd0f67f4ebc76751f2ceaba2", "fetched_at": "2026-08-28T04:11:31.758211+00:00", "kind": "readme", "missing": false, "url": "https://github.com/CarGuo/GSYVideoPlayer"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 98}, "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": 3580, "days_push": 14, "days_rel": 14, "gap_med": 9, "n_releases_24m": 22}, "score": 98, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}