{"adoption": {"forks": 318, "observed_at": "2026-08-28T04:04:18.158644+00:00", "stars": 1302}, "canonical_url": "https://ross.abutalabs.com/products/jcodec", "card": {"archived": false, "artifact_type": "library", "description": "JCodec main repo", "domain": ["media", "image-processing", "developer-tools"], "enriched": true, "function": ["video-processing", "audio-processing", "image-processing", "parser", "serialization"], "health_score": 33, "homepage": null, "language": "Java", "license": "BSD-2-Clause", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["jcodec/jcodec"], "name": "jcodec/jcodec", "platform": ["jvm", "cross-platform"], "pushed_at": "2025-05-14T14:53:15+00:00", "repo": "jcodec/jcodec", "stars": 1302, "tags": ["video-codec", "audio-codec", "h264", "mp4", "matroska", "pure-java", "prores", "demuxer", "muxer", "video", "audio", "android"], "topics": [], "urls": [], "use_cases": ["decode h264 video in pure java without native libraries", "encode or decode mp4 files from java", "extract frames from video in an android app", "demux or mux matroska mkv files in java", "convert video frames to bufferedimage in java", "read prores video files in jvm applications", "process mpeg ts streams in java"], "what_it_is": "JCodec is a pure Java implementation of popular video and audio codecs, including H.264, VP8, MPEG, ProRes, and AAC, along with container demuxers/muxers like MP4, MKV, and MPEG TS. It runs on standard Java and Android with no native dependencies.", "when_to_avoid": ["you need high performance or full-featured encoding/decoding - native libraries like FFmpeg are far faster and more complete", "you need advanced H.264 encoding features like CABAC or rate control, which are not yet implemented", "you need MP3 decoding or AAC encoding, which are still on the roadmap"], "when_to_choose": ["you need video/audio codec functionality in pure Java or on Android without native dependencies", "you want a BSD-licensed library for MP4/MKV demuxing and muxing on the JVM", "you need basic H.264 decoding or ProRes encode/decode in a Java application"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/jcodec", "repo": "jcodec/jcodec", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.158644+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:52:09.853634+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21adf67e892326ce29047be614981579021fd3d21c0d7bc8d476976909cd6fe9", "fetched_at": "2026-08-28T04:04:18.158644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jcodec/jcodec"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.158644+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:52:09.853634+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21adf67e892326ce29047be614981579021fd3d21c0d7bc8d476976909cd6fe9", "fetched_at": "2026-08-28T04:04:18.158644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jcodec/jcodec"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:52:09.853634+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21adf67e892326ce29047be614981579021fd3d21c0d7bc8d476976909cd6fe9", "fetched_at": "2026-08-28T04:04:18.158644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jcodec/jcodec"}], "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:18.158644+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.158644+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.158644+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:52:09.853634+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21adf67e892326ce29047be614981579021fd3d21c0d7bc8d476976909cd6fe9", "fetched_at": "2026-08-28T04:04:18.158644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jcodec/jcodec"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.158644+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.158644+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:52:09.853634+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21adf67e892326ce29047be614981579021fd3d21c0d7bc8d476976909cd6fe9", "fetched_at": "2026-08-28T04:04:18.158644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jcodec/jcodec"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.158644+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.158644+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.158644+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:52:09.853634+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21adf67e892326ce29047be614981579021fd3d21c0d7bc8d476976909cd6fe9", "fetched_at": "2026-08-28T04:04:18.158644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jcodec/jcodec"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.158644+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:18.158644+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:52:09.853634+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21adf67e892326ce29047be614981579021fd3d21c0d7bc8d476976909cd6fe9", "fetched_at": "2026-08-28T04:04:18.158644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jcodec/jcodec"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:52:09.853634+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21adf67e892326ce29047be614981579021fd3d21c0d7bc8d476976909cd6fe9", "fetched_at": "2026-08-28T04:04:18.158644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jcodec/jcodec"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:52:09.853634+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21adf67e892326ce29047be614981579021fd3d21c0d7bc8d476976909cd6fe9", "fetched_at": "2026-08-28T04:04:18.158644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jcodec/jcodec"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:52:09.853634+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "21adf67e892326ce29047be614981579021fd3d21c0d7bc8d476976909cd6fe9", "fetched_at": "2026-08-28T04:04:18.158644+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jcodec/jcodec"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 21, "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": 5085, "days_push": 476, "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}}