{"adoption": {"forks": 233, "observed_at": "2026-08-28T04:06:12.028595+00:00", "stars": 2087}, "canonical_url": "https://ross.abutalabs.com/products/webav", "card": {"archived": false, "artifact_type": "library", "description": "A web-based Video Editing SDK built on WebCodecs. 基于 WebCodecs 构建的网页视频编辑 SDK。", "domain": ["media", "web-development", "frontend"], "enriched": true, "function": ["video-processing", "audio-processing", "image-processing", "sdk"], "health_score": 57, "homepage": "https://webav-tech.github.io/WebAV", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["WebAV-Tech/WebAV"], "name": "WebAV-Tech/WebAV", "platform": ["browser", "cross-platform"], "pushed_at": "2026-01-10T09:53:51+00:00", "repo": "WebAV-Tech/WebAV", "stars": 2087, "tags": ["webcodecs", "video-editing", "mp4", "recorder", "canvas", "webaudio", "client-side", "typescript", "video", "electron"], "topics": ["audio", "canvas", "video", "webcodecs", "media", "mp4", "recorder", "browser", "web", "video-editing"], "urls": [], "use_cases": ["edit videos in the browser without a server", "batch add watermarks or subtitles to video files", "concatenate multiple video clips client-side", "build a web-based video editor", "record live audio and video from canvas", "dub or add audio tracks to videos", "decode and play video with canvas and webaudio"], "what_it_is": "WebAV is a TypeScript SDK for creating and editing audio/video files entirely in the browser, built on the WebCodecs API. It provides composable packages like av-cliper for parsing and manipulating media clips, with Canvas and WebAudio integration for custom effects.", "when_to_avoid": ["you need to support browsers without WebCodecs (pre-Chrome 102, Safari/Firefox support limited)", "you need server-side or native video processing", "you need a ready-made end-user editor rather than an SDK"], "when_to_choose": ["you need client-side video processing with no server costs", "user privacy matters and media must not be uploaded", "you want much faster performance than ffmpeg.wasm", "you are targeting modern Chrome/Edge or Electron"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/webav", "repo": "WebAV-Tech/WebAV", "role": "main", "score": 58}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.028595+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:55:44.257999+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9916e4970b22ca2dd4e98878ec9e06da9e35a8085758f90d6aa2b4d8a678653a", "fetched_at": "2026-08-28T04:06:12.028595+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WebAV-Tech/WebAV"}, {"content_hash": "f2353dfe99f49fcdc9a86d764ba6836b35c69d7f5ee4dd16c96574b7bc3724bc", "fetched_at": "2026-08-29T10:35:53.739770+00:00", "kind": "homepage", "missing": false, "url": "https://webav-tech.github.io/WebAV"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.028595+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:55:44.257999+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9916e4970b22ca2dd4e98878ec9e06da9e35a8085758f90d6aa2b4d8a678653a", "fetched_at": "2026-08-28T04:06:12.028595+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WebAV-Tech/WebAV"}, {"content_hash": "f2353dfe99f49fcdc9a86d764ba6836b35c69d7f5ee4dd16c96574b7bc3724bc", "fetched_at": "2026-08-29T10:35:53.739770+00:00", "kind": "homepage", "missing": false, "url": "https://webav-tech.github.io/WebAV"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:55:44.257999+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9916e4970b22ca2dd4e98878ec9e06da9e35a8085758f90d6aa2b4d8a678653a", "fetched_at": "2026-08-28T04:06:12.028595+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WebAV-Tech/WebAV"}, {"content_hash": "f2353dfe99f49fcdc9a86d764ba6836b35c69d7f5ee4dd16c96574b7bc3724bc", "fetched_at": "2026-08-29T10:35:53.739770+00:00", "kind": "homepage", "missing": false, "url": "https://webav-tech.github.io/WebAV"}], "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:12.028595+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.028595+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.028595+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:55:44.257999+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9916e4970b22ca2dd4e98878ec9e06da9e35a8085758f90d6aa2b4d8a678653a", "fetched_at": "2026-08-28T04:06:12.028595+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WebAV-Tech/WebAV"}, {"content_hash": "f2353dfe99f49fcdc9a86d764ba6836b35c69d7f5ee4dd16c96574b7bc3724bc", "fetched_at": "2026-08-29T10:35:53.739770+00:00", "kind": "homepage", "missing": false, "url": "https://webav-tech.github.io/WebAV"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.028595+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.028595+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:55:44.257999+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9916e4970b22ca2dd4e98878ec9e06da9e35a8085758f90d6aa2b4d8a678653a", "fetched_at": "2026-08-28T04:06:12.028595+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WebAV-Tech/WebAV"}, {"content_hash": "f2353dfe99f49fcdc9a86d764ba6836b35c69d7f5ee4dd16c96574b7bc3724bc", "fetched_at": "2026-08-29T10:35:53.739770+00:00", "kind": "homepage", "missing": false, "url": "https://webav-tech.github.io/WebAV"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.028595+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.028595+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.028595+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:55:44.257999+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9916e4970b22ca2dd4e98878ec9e06da9e35a8085758f90d6aa2b4d8a678653a", "fetched_at": "2026-08-28T04:06:12.028595+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WebAV-Tech/WebAV"}, {"content_hash": "f2353dfe99f49fcdc9a86d764ba6836b35c69d7f5ee4dd16c96574b7bc3724bc", "fetched_at": "2026-08-29T10:35:53.739770+00:00", "kind": "homepage", "missing": false, "url": "https://webav-tech.github.io/WebAV"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.028595+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:12.028595+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:55:44.257999+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9916e4970b22ca2dd4e98878ec9e06da9e35a8085758f90d6aa2b4d8a678653a", "fetched_at": "2026-08-28T04:06:12.028595+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WebAV-Tech/WebAV"}, {"content_hash": "f2353dfe99f49fcdc9a86d764ba6836b35c69d7f5ee4dd16c96574b7bc3724bc", "fetched_at": "2026-08-29T10:35:53.739770+00:00", "kind": "homepage", "missing": false, "url": "https://webav-tech.github.io/WebAV"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:55:44.257999+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9916e4970b22ca2dd4e98878ec9e06da9e35a8085758f90d6aa2b4d8a678653a", "fetched_at": "2026-08-28T04:06:12.028595+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WebAV-Tech/WebAV"}, {"content_hash": "f2353dfe99f49fcdc9a86d764ba6836b35c69d7f5ee4dd16c96574b7bc3724bc", "fetched_at": "2026-08-29T10:35:53.739770+00:00", "kind": "homepage", "missing": false, "url": "https://webav-tech.github.io/WebAV"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:55:44.257999+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9916e4970b22ca2dd4e98878ec9e06da9e35a8085758f90d6aa2b4d8a678653a", "fetched_at": "2026-08-28T04:06:12.028595+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WebAV-Tech/WebAV"}, {"content_hash": "f2353dfe99f49fcdc9a86d764ba6836b35c69d7f5ee4dd16c96574b7bc3724bc", "fetched_at": "2026-08-29T10:35:53.739770+00:00", "kind": "homepage", "missing": false, "url": "https://webav-tech.github.io/WebAV"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:55:44.257999+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9916e4970b22ca2dd4e98878ec9e06da9e35a8085758f90d6aa2b4d8a678653a", "fetched_at": "2026-08-28T04:06:12.028595+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WebAV-Tech/WebAV"}, {"content_hash": "f2353dfe99f49fcdc9a86d764ba6836b35c69d7f5ee4dd16c96574b7bc3724bc", "fetched_at": "2026-08-29T10:35:53.739770+00:00", "kind": "homepage", "missing": false, "url": "https://webav-tech.github.io/WebAV"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 61, "longevity": 89, "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": 1255, "days_push": 235, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 58, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}