{"adoption": {"forks": 1157, "observed_at": "2026-08-28T04:08:07.641247+00:00", "stars": 3506}, "canonical_url": "https://ross.abutalabs.com/products/media-server", "card": {"archived": false, "artifact_type": "library", "description": "RTSP/RTP/RTMP/FLV/HLS/MPEG-TS/MPEG-PS/MPEG-DASH/MP4/fMP4/MKV/WebM", "domain": ["media", "developer-tools", "cross-platform"], "enriched": true, "function": ["video-processing", "audio-processing", "streaming", "parser", "serialization"], "health_score": 71, "homepage": null, "language": "C", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["ireader/media-server"], "name": "ireader/media-server", "platform": ["cpp", "c", "cross-platform", "embedded"], "pushed_at": "2026-05-26T03:38:10+00:00", "repo": "ireader/media-server", "stars": 3506, "tags": ["rtsp", "rtmp", "hls", "mpeg-dash", "mpeg-ts", "mp4", "fmp4", "flv", "mkv", "webm", "rtp", "rtcp", "sdp", "sip", "streaming-media", "c-library", "live-streaming", "vod", "video", "audio", "linux"], "topics": ["rtp", "rtmp", "hls", "rtsp", "m3u", "ts", "ps", "mpeg-dash", "mp4", "fmp4", "flv", "sip", "mkv", "webm", "m3u8", "sdp"], "urls": [], "use_cases": ["parse and write MP4 and fMP4 files in C", "implement an RTSP server or client", "generate HLS m3u8 playlists and TS segments", "build an RTMP live streaming server", "demux and mux MPEG-TS and MPEG-PS streams", "convert H.264 bitstreams between annex-b and MP4 format", "read and write MKV/WebM files", "implement RTP/RTCP packetization for H.264 and AAC"], "what_it_is": "A C library suite implementing streaming media protocols and container formats, including RTSP/RTP/RTMP clients and servers, HLS/DASH segmenters, and MP4/FLV/MKV/MPEG-TS readers and writers. It is designed as a modular, embeddable toolkit for building streaming media applications, with cross-compilation support.", "when_to_avoid": ["you want a turnkey streaming media server out of the box - consider ZLMediaKit or similar instead", "your project is C++/higher-level and you prefer a full-featured framework over composable C libraries", "you need codecs themselves - this handles containers and protocols, not encoding/decoding"], "when_to_choose": ["you need lightweight C implementations of streaming protocols without heavy dependencies", "you're building a media server, camera, or embedded streaming device and need cross-compilation", "you need fine-grained control over individual protocol components (RTSP, RTP, HLS, MP4) rather than a monolithic framework"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/media-server", "repo": "ireader/media-server", "role": "main", "score": 70}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:07.641247+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:35:45.645902+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "77b4e77b048ea59707cc9962062b165785b77d0d86929fdc35cdf16afe04b7db", "fetched_at": "2026-08-28T04:08:07.641247+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ireader/media-server"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:07.641247+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:35:45.645902+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "77b4e77b048ea59707cc9962062b165785b77d0d86929fdc35cdf16afe04b7db", "fetched_at": "2026-08-28T04:08:07.641247+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ireader/media-server"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:35:45.645902+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "77b4e77b048ea59707cc9962062b165785b77d0d86929fdc35cdf16afe04b7db", "fetched_at": "2026-08-28T04:08:07.641247+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ireader/media-server"}], "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:07.641247+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:07.641247+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:07.641247+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:35:45.645902+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "77b4e77b048ea59707cc9962062b165785b77d0d86929fdc35cdf16afe04b7db", "fetched_at": "2026-08-28T04:08:07.641247+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ireader/media-server"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:07.641247+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:07.641247+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:35:45.645902+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "77b4e77b048ea59707cc9962062b165785b77d0d86929fdc35cdf16afe04b7db", "fetched_at": "2026-08-28T04:08:07.641247+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ireader/media-server"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:07.641247+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:07.641247+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:07.641247+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:35:45.645902+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "77b4e77b048ea59707cc9962062b165785b77d0d86929fdc35cdf16afe04b7db", "fetched_at": "2026-08-28T04:08:07.641247+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ireader/media-server"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:07.641247+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:07.641247+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:35:45.645902+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "77b4e77b048ea59707cc9962062b165785b77d0d86929fdc35cdf16afe04b7db", "fetched_at": "2026-08-28T04:08:07.641247+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ireader/media-server"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:35:45.645902+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "77b4e77b048ea59707cc9962062b165785b77d0d86929fdc35cdf16afe04b7db", "fetched_at": "2026-08-28T04:08:07.641247+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ireader/media-server"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:35:45.645902+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "77b4e77b048ea59707cc9962062b165785b77d0d86929fdc35cdf16afe04b7db", "fetched_at": "2026-08-28T04:08:07.641247+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ireader/media-server"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:35:45.645902+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "77b4e77b048ea59707cc9962062b165785b77d0d86929fdc35cdf16afe04b7db", "fetched_at": "2026-08-28T04:08:07.641247+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ireader/media-server"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 84, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4626, "days_push": 99, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 70, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}