{"adoption": {"forks": 778, "observed_at": "2026-08-28T04:08:57.852049+00:00", "stars": 4745}, "canonical_url": "https://ross.abutalabs.com/products/rxffmpeg", "card": {"archived": false, "artifact_type": "library", "description": "🔥💥RxFFmpeg 是基于 ( FFmpeg 4.0 + X264 + mp3lame + fdk-aac + opencore-amr + openssl ) 编译的适用于 Android 平台的音视频编辑、视频剪辑的快速处理框架，包含以下功能：视频拼接，转码，压缩，裁剪，片头片尾，分离音视频，变速，添加静态贴纸和gif动态贴纸，添加字幕，添加滤镜，添加背景音乐，加速减速视频，倒放音视频，音频裁剪，变声，混音，图片合成视频，视频解码图片，抖音首页，视频播放器及支持 OpenSSL https 等主流特色功能", "domain": ["mobile-development", "media"], "enriched": true, "function": ["video-processing", "audio-processing", "image-processing"], "health_score": 20, "homepage": null, "language": "C", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["microshow/RxFFmpeg"], "name": "microshow/RxFFmpeg", "platform": ["cpp", "c"], "pushed_at": "2023-04-11T17:13:32+00:00", "repo": "microshow/RxFFmpeg", "stars": 4745, "tags": ["ffmpeg", "video-editing", "video-compression", "transcoding", "jni", "media-player", "x264", "openssl", "video", "audio", "android"], "topics": ["ffmpeg", "android", "videoeditor", "ffmpeg-android", "libx264", "libmp3lame", "fdk-aac", "encoder-decoder", "mediacodec", "jni-android", "rxffmpeg", "arm64-v8a", "armeabi-v7a", "x86", "openssl", "https", "opencore-amr"], "urls": [], "use_cases": ["compress videos on android", "trim and cut video clips in an android app", "add subtitles or watermarks to video", "extract audio from video", "run ffmpeg commands on android", "convert images into a video slideshow", "reverse or speed up video playback", "build a video editor app for android"], "what_it_is": "RxFFmpeg is an Android framework built on FFmpeg 4.0 (with X264, mp3lame, fdk-aac, opencore-amr, and OpenSSL) for fast audio and video editing and processing. It supports running arbitrary FFmpeg commands with progress callbacks, interruption, sync/async execution, hardware acceleration via MediaCodec, and features like video concatenation, transcoding, compression, trimming, stickers, subtitles, filters, and playback.", "when_to_avoid": ["you target platforms other than Android", "you need the latest FFmpeg version or active development (last release 2023, FFmpeg 4.0 is dated)", "you require a permissively licensed dependency and cannot accept the missing license file"], "when_to_choose": ["you need FFmpeg-powered video/audio editing on Android with a packaged single .so library", "you want hardware-accelerated encoding via MediaCodec with x264 compression", "you need progress callbacks and command interruption for media processing tasks"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rxffmpeg", "repo": "microshow/RxFFmpeg", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.852049+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:18:56.655110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "306abf299048a8113f866f8a132400e62dfb267242bd080691c7ed01a29800ea", "fetched_at": "2026-08-28T04:08:57.852049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microshow/RxFFmpeg"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.852049+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:18:56.655110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "306abf299048a8113f866f8a132400e62dfb267242bd080691c7ed01a29800ea", "fetched_at": "2026-08-28T04:08:57.852049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microshow/RxFFmpeg"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:18:56.655110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "306abf299048a8113f866f8a132400e62dfb267242bd080691c7ed01a29800ea", "fetched_at": "2026-08-28T04:08:57.852049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microshow/RxFFmpeg"}], "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:57.852049+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.852049+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.852049+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:18:56.655110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "306abf299048a8113f866f8a132400e62dfb267242bd080691c7ed01a29800ea", "fetched_at": "2026-08-28T04:08:57.852049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microshow/RxFFmpeg"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.852049+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.852049+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:18:56.655110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "306abf299048a8113f866f8a132400e62dfb267242bd080691c7ed01a29800ea", "fetched_at": "2026-08-28T04:08:57.852049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microshow/RxFFmpeg"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.852049+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.852049+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.852049+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:18:56.655110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "306abf299048a8113f866f8a132400e62dfb267242bd080691c7ed01a29800ea", "fetched_at": "2026-08-28T04:08:57.852049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microshow/RxFFmpeg"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.852049+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.852049+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:18:56.655110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "306abf299048a8113f866f8a132400e62dfb267242bd080691c7ed01a29800ea", "fetched_at": "2026-08-28T04:08:57.852049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microshow/RxFFmpeg"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:18:56.655110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "306abf299048a8113f866f8a132400e62dfb267242bd080691c7ed01a29800ea", "fetched_at": "2026-08-28T04:08:57.852049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microshow/RxFFmpeg"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:18:56.655110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "306abf299048a8113f866f8a132400e62dfb267242bd080691c7ed01a29800ea", "fetched_at": "2026-08-28T04:08:57.852049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microshow/RxFFmpeg"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:18:56.655110+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "306abf299048a8113f866f8a132400e62dfb267242bd080691c7ed01a29800ea", "fetched_at": "2026-08-28T04:08:57.852049+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microshow/RxFFmpeg"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2884, "days_push": 1240, "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}}