{"adoption": {"forks": 378, "observed_at": "2026-08-28T04:04:35.421947+00:00", "stars": 1389}, "canonical_url": "https://ross.abutalabs.com/products/wasmvideoplayer", "card": {"archived": false, "artifact_type": "library", "description": "Play file/stream with wasm & webgl & web audio api, using ffmpeg for multi codec support, especially for h265，support http, websocket, http-flv stream.", "domain": ["web-development", "frontend", "media"], "enriched": true, "function": ["video-processing", "audio-processing", "graphics", "wasm"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["sonysuqin/WasmVideoPlayer"], "name": "sonysuqin/WasmVideoPlayer", "platform": ["browser", "wasm"], "pushed_at": "2020-02-22T10:53:48+00:00", "repo": "sonysuqin/WasmVideoPlayer", "stars": 1389, "tags": ["h265", "hevc", "ffmpeg", "webgl", "web-audio", "video-player", "http-flv", "websocket-streaming", "yuv-rendering", "video", "javascript"], "topics": [], "urls": [], "use_cases": ["play h265 video in the browser", "play http-flv live stream in web page", "decode video with ffmpeg in webassembly", "render yuv frames with webgl", "play mp4 file with wasm decoder", "stream video over websocket to browser", "web player for hevc surveillance camera streams"], "what_it_is": "A WebAssembly-based video player library that plays H265/HEVC and other FFmpeg-supported codecs in the browser using FFmpeg for demuxing/decoding, WebGL for YUV rendering, and Web Audio for PCM playback. It supports MP4/FLV files and HTTP, WebSocket, and HTTP-FLV streams.", "when_to_avoid": ["you only need H264 playback, which native HTML5 video handles well", "you need seeking or advanced player features, which are not implemented", "you need an actively maintained project with recent releases", "licensing concerns around GPL-3.0 or H265 patents apply to your product"], "when_to_choose": ["you need to play H265/HEVC video in browsers that lack native support", "you need to play HTTP-FLV or WebSocket video streams in a web page", "you want a self-contained software-decoded player using FFmpeg codecs"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/wasmvideoplayer", "repo": "sonysuqin/WasmVideoPlayer", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.421947+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:39:43.693689+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "56e528b36cacda7d7895a31e188adbba927b5c0dc2a55d7eea214a53a8f43678", "fetched_at": "2026-08-28T04:04:35.421947+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sonysuqin/WasmVideoPlayer"}, {"content_hash": "0aaeb95eb0391e0e4fabdcab614e944df66fe3363b5994eb3126cb472e6015e4", "fetched_at": "2026-08-29T11:55:11.053187+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/wasmvideoplayer"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.421947+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:39:43.693689+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "56e528b36cacda7d7895a31e188adbba927b5c0dc2a55d7eea214a53a8f43678", "fetched_at": "2026-08-28T04:04:35.421947+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sonysuqin/WasmVideoPlayer"}, {"content_hash": "0aaeb95eb0391e0e4fabdcab614e944df66fe3363b5994eb3126cb472e6015e4", "fetched_at": "2026-08-29T11:55:11.053187+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/wasmvideoplayer"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:39:43.693689+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "56e528b36cacda7d7895a31e188adbba927b5c0dc2a55d7eea214a53a8f43678", "fetched_at": "2026-08-28T04:04:35.421947+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sonysuqin/WasmVideoPlayer"}, {"content_hash": "0aaeb95eb0391e0e4fabdcab614e944df66fe3363b5994eb3126cb472e6015e4", "fetched_at": "2026-08-29T11:55:11.053187+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/wasmvideoplayer"}], "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:35.421947+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.421947+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.421947+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:39:43.693689+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "56e528b36cacda7d7895a31e188adbba927b5c0dc2a55d7eea214a53a8f43678", "fetched_at": "2026-08-28T04:04:35.421947+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sonysuqin/WasmVideoPlayer"}, {"content_hash": "0aaeb95eb0391e0e4fabdcab614e944df66fe3363b5994eb3126cb472e6015e4", "fetched_at": "2026-08-29T11:55:11.053187+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/wasmvideoplayer"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.421947+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.421947+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:39:43.693689+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "56e528b36cacda7d7895a31e188adbba927b5c0dc2a55d7eea214a53a8f43678", "fetched_at": "2026-08-28T04:04:35.421947+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sonysuqin/WasmVideoPlayer"}, {"content_hash": "0aaeb95eb0391e0e4fabdcab614e944df66fe3363b5994eb3126cb472e6015e4", "fetched_at": "2026-08-29T11:55:11.053187+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/wasmvideoplayer"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.421947+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.421947+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.421947+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:39:43.693689+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "56e528b36cacda7d7895a31e188adbba927b5c0dc2a55d7eea214a53a8f43678", "fetched_at": "2026-08-28T04:04:35.421947+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sonysuqin/WasmVideoPlayer"}, {"content_hash": "0aaeb95eb0391e0e4fabdcab614e944df66fe3363b5994eb3126cb472e6015e4", "fetched_at": "2026-08-29T11:55:11.053187+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/wasmvideoplayer"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.421947+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:35.421947+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:39:43.693689+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "56e528b36cacda7d7895a31e188adbba927b5c0dc2a55d7eea214a53a8f43678", "fetched_at": "2026-08-28T04:04:35.421947+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sonysuqin/WasmVideoPlayer"}, {"content_hash": "0aaeb95eb0391e0e4fabdcab614e944df66fe3363b5994eb3126cb472e6015e4", "fetched_at": "2026-08-29T11:55:11.053187+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/wasmvideoplayer"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:39:43.693689+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "56e528b36cacda7d7895a31e188adbba927b5c0dc2a55d7eea214a53a8f43678", "fetched_at": "2026-08-28T04:04:35.421947+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sonysuqin/WasmVideoPlayer"}, {"content_hash": "0aaeb95eb0391e0e4fabdcab614e944df66fe3363b5994eb3126cb472e6015e4", "fetched_at": "2026-08-29T11:55:11.053187+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/wasmvideoplayer"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:39:43.693689+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "56e528b36cacda7d7895a31e188adbba927b5c0dc2a55d7eea214a53a8f43678", "fetched_at": "2026-08-28T04:04:35.421947+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sonysuqin/WasmVideoPlayer"}, {"content_hash": "0aaeb95eb0391e0e4fabdcab614e944df66fe3363b5994eb3126cb472e6015e4", "fetched_at": "2026-08-29T11:55:11.053187+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/wasmvideoplayer"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:39:43.693689+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "56e528b36cacda7d7895a31e188adbba927b5c0dc2a55d7eea214a53a8f43678", "fetched_at": "2026-08-28T04:04:35.421947+00:00", "kind": "readme", "missing": false, "url": "https://github.com/sonysuqin/WasmVideoPlayer"}, {"content_hash": "0aaeb95eb0391e0e4fabdcab614e944df66fe3363b5994eb3126cb472e6015e4", "fetched_at": "2026-08-29T11:55:11.053187+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/wasmvideoplayer"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2794, "days_push": 2384, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}