{"adoption": {"forks": 390, "observed_at": "2026-08-28T04:05:22.735618+00:00", "stars": 1692}, "canonical_url": "https://ross.abutalabs.com/products/rtsptoweb", "card": {"archived": false, "artifact_type": "service", "description": "RTSP Stream to WebBrowser", "domain": ["media", "self-hosted", "web-development", "iot"], "enriched": true, "function": ["video-processing", "streaming", "http-server", "web-framework"], "health_score": 80, "homepage": null, "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["deepch/RTSPtoWeb"], "name": "deepch/RTSPtoWeb", "platform": ["windows", "self-hosted", "go"], "pushed_at": "2026-08-26T11:49:31+00:00", "repo": "deepch/RTSPtoWeb", "stars": 1692, "tags": ["rtsp", "webrtc", "hls", "mse", "ip-camera", "surveillance", "golang", "stream-relay", "video", "linux", "macos", "docker", "web-server"], "topics": [], "urls": [], "use_cases": ["view ip camera streams in a web browser", "convert rtsp to webrtc for low-latency playback", "serve hls streams from rtsp sources", "embed cctv camera feeds in a web dashboard", "self-host an rtsp to browser gateway", "play rtsp streams in chrome safari and firefox"], "what_it_is": "RTSPtoWeb is a self-hosted Go server that converts RTSP camera streams into browser-playable formats such as MSE, WebRTC, and HLS, without relying on FFmpeg or GStreamer. It exposes an HTTP API and demo web UI for managing and viewing multiple streams and channels.", "when_to_avoid": ["you need transcoding or re-encoding of video codecs", "your cameras output codecs unsupported by browsers without conversion", "you need recording or storage of streams", "you require heavy analytics on the video feeds"], "when_to_choose": ["you need native Go performance without FFmpeg/GStreamer dependencies", "you want low-latency WebRTC playback of RTSP cameras", "you need a simple HTTP API to manage multiple camera streams", "you want a docker-deployable stream gateway"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rtsptoweb", "repo": "deepch/RTSPtoWeb", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.735618+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:38:13.465767+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e2754c12770ada8ff4d8e7f27bd09707704d11b32900ec7461a9a94593df60c5", "fetched_at": "2026-08-28T04:05:22.735618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/deepch/RTSPtoWeb"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.735618+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:38:13.465767+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e2754c12770ada8ff4d8e7f27bd09707704d11b32900ec7461a9a94593df60c5", "fetched_at": "2026-08-28T04:05:22.735618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/deepch/RTSPtoWeb"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:38:13.465767+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e2754c12770ada8ff4d8e7f27bd09707704d11b32900ec7461a9a94593df60c5", "fetched_at": "2026-08-28T04:05:22.735618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/deepch/RTSPtoWeb"}], "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:05:22.735618+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.735618+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.735618+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:38:13.465767+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e2754c12770ada8ff4d8e7f27bd09707704d11b32900ec7461a9a94593df60c5", "fetched_at": "2026-08-28T04:05:22.735618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/deepch/RTSPtoWeb"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.735618+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.735618+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:38:13.465767+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e2754c12770ada8ff4d8e7f27bd09707704d11b32900ec7461a9a94593df60c5", "fetched_at": "2026-08-28T04:05:22.735618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/deepch/RTSPtoWeb"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.735618+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.735618+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.735618+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:38:13.465767+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e2754c12770ada8ff4d8e7f27bd09707704d11b32900ec7461a9a94593df60c5", "fetched_at": "2026-08-28T04:05:22.735618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/deepch/RTSPtoWeb"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.735618+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:22.735618+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:38:13.465767+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e2754c12770ada8ff4d8e7f27bd09707704d11b32900ec7461a9a94593df60c5", "fetched_at": "2026-08-28T04:05:22.735618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/deepch/RTSPtoWeb"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:38:13.465767+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e2754c12770ada8ff4d8e7f27bd09707704d11b32900ec7461a9a94593df60c5", "fetched_at": "2026-08-28T04:05:22.735618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/deepch/RTSPtoWeb"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:38:13.465767+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e2754c12770ada8ff4d8e7f27bd09707704d11b32900ec7461a9a94593df60c5", "fetched_at": "2026-08-28T04:05:22.735618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/deepch/RTSPtoWeb"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:38:13.465767+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e2754c12770ada8ff4d8e7f27bd09707704d11b32900ec7461a9a94593df60c5", "fetched_at": "2026-08-28T04:05:22.735618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/deepch/RTSPtoWeb"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "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": 2217, "days_push": 7, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}