{"adoption": {"forks": 148, "observed_at": "2026-08-28T04:06:40.199908+00:00", "stars": 2349}, "canonical_url": "https://ross.abutalabs.com/products/mkchromecast", "card": {"archived": false, "artifact_type": "application", "description": "Cast macOS and Linux Audio/Video to your Google Cast and Sonos Devices", "domain": ["media", "cross-platform"], "enriched": true, "function": ["audio-processing", "video-processing", "streaming"], "health_score": 76, "homepage": "http://mkchromecast.com", "language": "Python", "license": "NOASSERTION", "license_family": "other", "maturity": "maintenance", "member_repos": ["muammar/mkchromecast"], "name": "muammar/mkchromecast", "platform": ["python"], "pushed_at": "2026-07-21T07:34:42+00:00", "repo": "muammar/mkchromecast", "stars": 2349, "tags": ["chromecast", "sonos", "google-cast", "system-tray", "soundflower", "alsa", "audio-streaming", "cast-media", "audio", "macos", "linux", "nodejs"], "topics": ["macos", "audio", "linux", "video", "cast-videos", "alsa", "chromecast", "chromecast-audio", "tray-menu", "pychromecast", "python3", "cast-audio", "sample-rate", "debian", "soundflower", "sonos-speakers", "sonos", "python", "node"], "urls": [], "use_cases": ["cast system audio from my mac to a chromecast", "stream linux desktop audio to sonos speakers", "cast video files to google cast devices", "stream lossless audio to chromecast audio", "play audio in multi-room groups across cast devices", "cast high resolution 24-bit 96khz audio", "control casting from a system tray menu"], "what_it_is": "Mkchromecast is a Python application that casts audio and video from macOS or Linux desktops to Google Cast devices (Chromecast) and Sonos speakers. It streams via node.js, ffmpeg, avconv, or parec backends, supports lossy and lossless formats, multi-room group playback, 24-bit/96kHz audio, and offers a system tray menu.", "when_to_avoid": ["you need casting on Windows", "you need a polished GUI application with active development", "you cannot tolerate audio latency of up to 8 seconds with some backends", "you need screen mirroring rather than audio/video casting"], "when_to_choose": ["you want to cast desktop system audio (not just browser tabs) on macOS or Linux", "you need Sonos speaker support alongside Google Cast devices", "you want configurable sample rates and bitrates for audio streaming", "you prefer a lightweight CLI or tray app over vendor software"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mkchromecast", "repo": "muammar/mkchromecast", "role": "main", "score": 65}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.199908+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:36:58.193831+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87ba21d5dd09140a11188fbcbeef7ace512309abad282802163275356d1d0883", "fetched_at": "2026-08-28T04:06:40.199908+00:00", "kind": "readme", "missing": false, "url": "https://github.com/muammar/mkchromecast"}, {"content_hash": "c9892180abbbd1921b02cc49309073a2a6fd327fab739da1c2030d87e91281bb", "fetched_at": "2026-08-29T10:17:29.622133+00:00", "kind": "homepage", "missing": false, "url": "http://mkchromecast.com"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.199908+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:36:58.193831+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87ba21d5dd09140a11188fbcbeef7ace512309abad282802163275356d1d0883", "fetched_at": "2026-08-28T04:06:40.199908+00:00", "kind": "readme", "missing": false, "url": "https://github.com/muammar/mkchromecast"}, {"content_hash": "c9892180abbbd1921b02cc49309073a2a6fd327fab739da1c2030d87e91281bb", "fetched_at": "2026-08-29T10:17:29.622133+00:00", "kind": "homepage", "missing": false, "url": "http://mkchromecast.com"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:36:58.193831+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87ba21d5dd09140a11188fbcbeef7ace512309abad282802163275356d1d0883", "fetched_at": "2026-08-28T04:06:40.199908+00:00", "kind": "readme", "missing": false, "url": "https://github.com/muammar/mkchromecast"}, {"content_hash": "c9892180abbbd1921b02cc49309073a2a6fd327fab739da1c2030d87e91281bb", "fetched_at": "2026-08-29T10:17:29.622133+00:00", "kind": "homepage", "missing": false, "url": "http://mkchromecast.com"}], "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:06:40.199908+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.199908+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.199908+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:36:58.193831+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87ba21d5dd09140a11188fbcbeef7ace512309abad282802163275356d1d0883", "fetched_at": "2026-08-28T04:06:40.199908+00:00", "kind": "readme", "missing": false, "url": "https://github.com/muammar/mkchromecast"}, {"content_hash": "c9892180abbbd1921b02cc49309073a2a6fd327fab739da1c2030d87e91281bb", "fetched_at": "2026-08-29T10:17:29.622133+00:00", "kind": "homepage", "missing": false, "url": "http://mkchromecast.com"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.199908+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.199908+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:36:58.193831+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87ba21d5dd09140a11188fbcbeef7ace512309abad282802163275356d1d0883", "fetched_at": "2026-08-28T04:06:40.199908+00:00", "kind": "readme", "missing": false, "url": "https://github.com/muammar/mkchromecast"}, {"content_hash": "c9892180abbbd1921b02cc49309073a2a6fd327fab739da1c2030d87e91281bb", "fetched_at": "2026-08-29T10:17:29.622133+00:00", "kind": "homepage", "missing": false, "url": "http://mkchromecast.com"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.199908+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.199908+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.199908+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:36:58.193831+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87ba21d5dd09140a11188fbcbeef7ace512309abad282802163275356d1d0883", "fetched_at": "2026-08-28T04:06:40.199908+00:00", "kind": "readme", "missing": false, "url": "https://github.com/muammar/mkchromecast"}, {"content_hash": "c9892180abbbd1921b02cc49309073a2a6fd327fab739da1c2030d87e91281bb", "fetched_at": "2026-08-29T10:17:29.622133+00:00", "kind": "homepage", "missing": false, "url": "http://mkchromecast.com"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.199908+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.199908+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:36:58.193831+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87ba21d5dd09140a11188fbcbeef7ace512309abad282802163275356d1d0883", "fetched_at": "2026-08-28T04:06:40.199908+00:00", "kind": "readme", "missing": false, "url": "https://github.com/muammar/mkchromecast"}, {"content_hash": "c9892180abbbd1921b02cc49309073a2a6fd327fab739da1c2030d87e91281bb", "fetched_at": "2026-08-29T10:17:29.622133+00:00", "kind": "homepage", "missing": false, "url": "http://mkchromecast.com"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:36:58.193831+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87ba21d5dd09140a11188fbcbeef7ace512309abad282802163275356d1d0883", "fetched_at": "2026-08-28T04:06:40.199908+00:00", "kind": "readme", "missing": false, "url": "https://github.com/muammar/mkchromecast"}, {"content_hash": "c9892180abbbd1921b02cc49309073a2a6fd327fab739da1c2030d87e91281bb", "fetched_at": "2026-08-29T10:17:29.622133+00:00", "kind": "homepage", "missing": false, "url": "http://mkchromecast.com"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:36:58.193831+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87ba21d5dd09140a11188fbcbeef7ace512309abad282802163275356d1d0883", "fetched_at": "2026-08-28T04:06:40.199908+00:00", "kind": "readme", "missing": false, "url": "https://github.com/muammar/mkchromecast"}, {"content_hash": "c9892180abbbd1921b02cc49309073a2a6fd327fab739da1c2030d87e91281bb", "fetched_at": "2026-08-29T10:17:29.622133+00:00", "kind": "homepage", "missing": false, "url": "http://mkchromecast.com"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:36:58.193831+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "87ba21d5dd09140a11188fbcbeef7ace512309abad282802163275356d1d0883", "fetched_at": "2026-08-28T04:06:40.199908+00:00", "kind": "readme", "missing": false, "url": "https://github.com/muammar/mkchromecast"}, {"content_hash": "c9892180abbbd1921b02cc49309073a2a6fd327fab739da1c2030d87e91281bb", "fetched_at": "2026-08-29T10:17:29.622133+00:00", "kind": "homepage", "missing": false, "url": "http://mkchromecast.com"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 93, "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": 3819, "days_push": 43, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 65, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}