Skip to content

sashanicolas/screencast

Repository files navigation

Screencast

Mirror your Mac screen to a Chromecast over local Wi-Fi — free, no subscription, no cables.

Sits in your menu bar. One click to start casting, one click to stop.

Menu bar screenshot


Requirements

  • macOS 14 Ventura or later (including macOS 15 Sequoia)
  • Apple Silicon or Intel Mac
  • ffmpeg installed via Homebrew: brew install ffmpeg
  • Chromecast (any generation) on the same Wi-Fi network as your Mac

Install

  1. Download the latest Screencast-1.0.0.dmg from Releases
  2. Open the DMG and drag Screencast to your Applications folder
  3. Launch it — a 📺 icon appears in your menu bar
  4. On first use, macOS will ask for Screen Recording permission — click Allow

Usage

  1. Turn on your TV / Chromecast
  2. Click the 📺 menu bar icon → Scan for Devices
  3. Click Start Casting

Your screen appears on the TV within a couple of seconds. The icon turns 🔴 while casting.

To stop: click the 🔴 icon → Stop Casting.

Settings

Option Choices Default
FPS 10 / 15 / 24 / 30 15
Resolution Native / 1080p / 720p / 576p Native

Lower FPS and resolution reduce CPU usage and improve stream stability on slower networks.

Settings are saved automatically and remembered between sessions.

How it works

  • Screen capture — uses macOS CoreGraphics (CGWindowListCreateImage) to grab raw frames at the chosen FPS
  • Encoding — pipes frames to ffmpeg, encoded with Apple's hardware H.264 encoder (h264_videotoolbox) — low CPU, fast
  • Streaming — serves an HLS stream over HTTP on your local network
  • Casting — tells the Chromecast to pull and play that stream via the Cast protocol

No cloud, no account, no data leaves your local network.

Troubleshooting

"Device: none found" Make sure your Chromecast and Mac are on the same Wi-Fi network. Try Scan for Devices again — discovery can take a few seconds.

TV shows only the desktop wallpaper / menu bar, not app windows Go to System Settings → Privacy & Security → Screen Recording, remove Screencast, add it back, then quit and relaunch the app.

Stream is choppy Try lowering FPS to 10 or Resolution to 720p. Also check that ffmpeg is installed: which ffmpeg.

"ffmpeg not found" error Install it: brew install ffmpeg

App blocked by Gatekeeper ("unidentified developer") Right-click the app → Open → Open. This is a one-time step for apps distributed outside the App Store.

Build from source

git clone https://github.com/sashanicolas/screencast.git
cd screencast
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt -r requirements-dev.txt
pip install py2app
bash scripts/build.sh
# .app lands in dist/

Tech stack

  • pychromecast — Cast protocol
  • mss — screen capture via CoreGraphics
  • rumps — macOS menu bar UI
  • ffmpeg — H.264 encoding + HLS packaging
  • py2app — .app bundle

License

MIT

About

Mirror your Mac screen to Chromecast over local Wi-Fi — menu bar app, no subscription

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors