{"adoption": {"forks": 724, "observed_at": "2026-08-28T04:08:05.329348+00:00", "stars": 3452}, "canonical_url": "https://ross.abutalabs.com/products/small-video-record", "card": {"archived": false, "artifact_type": "library", "description": "利用FFmpeg视频录制微信小视频与其压缩处理", "domain": ["mobile-development", "media", "android-tools"], "enriched": true, "function": ["video-processing", "audio-processing", "compression"], "health_score": 20, "homepage": null, "language": "C", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["mabeijianxi/small-video-record"], "name": "mabeijianxi/small-video-record", "platform": [], "pushed_at": "2020-06-13T13:01:59+00:00", "repo": "mabeijianxi/small-video-record", "stars": 3452, "tags": ["ffmpeg", "video-recording", "video-compression", "jni", "ndk", "android"], "topics": [], "urls": [], "use_cases": ["record short videos in an android app like wechat moments", "compress video files on android with ffmpeg", "capture audio and video while encoding simultaneously", "customize video resolution bitrate and frame rate when recording", "transcode local videos with a custom ffmpeg build"], "what_it_is": "An Android library for recording short audio/video clips (like WeChat-style small videos) with FFmpeg-based compression under the hood. Version 2 exposes open C and Java source code, customizable FFmpeg builds, and a command interface for transcoding.", "when_to_avoid": ["you target iOS or non-Android platforms", "you need actively maintained support for the latest Android NDK/Studio versions", "you only need simple playback or basic camera capture without compression"], "when_to_choose": ["you need WeChat-style short video recording with compression on Android", "you want collect-while-encode recording with configurable bitrate, resolution, and frame rate", "you need to bundle a customizable FFmpeg (with x264/fdk-aac) in an Android app"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/small-video-record", "repo": "mabeijianxi/small-video-record", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.329348+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:37:33.666008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e4e657ad404e5423c900fcfb3910e50c6baabc1a16a278c6a3032e0afe8d77c6", "fetched_at": "2026-08-28T04:08:05.329348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mabeijianxi/small-video-record"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.329348+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:37:33.666008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e4e657ad404e5423c900fcfb3910e50c6baabc1a16a278c6a3032e0afe8d77c6", "fetched_at": "2026-08-28T04:08:05.329348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mabeijianxi/small-video-record"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:37:33.666008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e4e657ad404e5423c900fcfb3910e50c6baabc1a16a278c6a3032e0afe8d77c6", "fetched_at": "2026-08-28T04:08:05.329348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mabeijianxi/small-video-record"}], "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:08:05.329348+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.329348+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.329348+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:37:33.666008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e4e657ad404e5423c900fcfb3910e50c6baabc1a16a278c6a3032e0afe8d77c6", "fetched_at": "2026-08-28T04:08:05.329348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mabeijianxi/small-video-record"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.329348+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.329348+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:37:33.666008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e4e657ad404e5423c900fcfb3910e50c6baabc1a16a278c6a3032e0afe8d77c6", "fetched_at": "2026-08-28T04:08:05.329348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mabeijianxi/small-video-record"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.329348+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.329348+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.329348+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:37:33.666008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e4e657ad404e5423c900fcfb3910e50c6baabc1a16a278c6a3032e0afe8d77c6", "fetched_at": "2026-08-28T04:08:05.329348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mabeijianxi/small-video-record"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.329348+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.329348+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:37:33.666008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e4e657ad404e5423c900fcfb3910e50c6baabc1a16a278c6a3032e0afe8d77c6", "fetched_at": "2026-08-28T04:08:05.329348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mabeijianxi/small-video-record"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:37:33.666008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e4e657ad404e5423c900fcfb3910e50c6baabc1a16a278c6a3032e0afe8d77c6", "fetched_at": "2026-08-28T04:08:05.329348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mabeijianxi/small-video-record"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:37:33.666008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e4e657ad404e5423c900fcfb3910e50c6baabc1a16a278c6a3032e0afe8d77c6", "fetched_at": "2026-08-28T04:08:05.329348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mabeijianxi/small-video-record"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:37:33.666008+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e4e657ad404e5423c900fcfb3910e50c6baabc1a16a278c6a3032e0afe8d77c6", "fetched_at": "2026-08-28T04:08:05.329348+00:00", "kind": "readme", "missing": false, "url": "https://github.com/mabeijianxi/small-video-record"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 3660, "days_push": 2272, "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}}