explaingit

xfangfang/macast

6,837PythonAudience · generalComplexity · 2/5Setup · easy

TLDR

A desktop app that turns your computer into a DLNA receiver so you can cast videos, photos, and music from your phone directly to your computer screen.

Mindmap

mindmap
  root((repo))
    What it does
      DLNA receiver
      Cast from phone
      Background menu icon
    Tech Stack
      Python
      mpv player
      Plugin system
    Platforms
      macOS
      Windows
      Linux
    Setup
      Downloadable packages
      pip install
      AUR package
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Cast a video from your phone gallery to play on your laptop without cables or accounts.

USE CASE 2

Use your computer as a DLNA receiver for any phone app that supports casting.

USE CASE 3

Swap in a preferred video player like IINA or PotPlayer by writing a short Python renderer plugin.

Tech stack

Pythonmpv

Getting it running

Difficulty · easy Time to first run · 5min

Linux users may need to install two patched libraries via pip for compatibility.

In plain English

Macast is a small desktop application that turns your computer into a DLNA media receiver. DLNA is a standard that lets devices on the same local network send media to each other. With Macast running, you can open a video, photo, or music file on your phone and push it to play on your computer, the same way you might cast to a TV with a streaming device. The app runs quietly in the background as a menu bar icon on macOS, a taskbar icon on Windows, or a panel icon on Linux. When your phone's video app or gallery supports DLNA casting, it will see your computer listed as a receiver and you can select it to start playback. By default the media plays using a player called mpv, which is bundled with the application. For users who prefer a different player, a plugin system lets you swap in alternatives like IINA (a macOS video player) or PotPlayer (a Windows player). Developers can also write their own renderer plugins in a few lines of Python to support other players or add extra behavior, such as downloading media while it plays. The wiki includes tutorials and examples for this. Installation options include downloadable packages for macOS, Windows, and Debian, a pip install for Python users, and an AUR package for Arch Linux. Linux users may need to install two additional patched libraries via pip due to compatibility issues noted in the README. The project is written in Python and is cross-platform. No license is mentioned in the README itself, though the repository has release builds available. A Chinese-language version of the README is also provided.

Copy-paste prompts

Prompt 1
How do I set up Macast on my Mac so I can cast videos from my Android phone to my laptop using DLNA?
Prompt 2
Write a Macast renderer plugin in Python that automatically downloads the cast media to a local folder while it plays.
Prompt 3
What phones and apps work best for casting to Macast and how do I configure it on Windows?
Prompt 4
How do I install Macast on Arch Linux via AUR and fix the compatibility issues with the patched pip libraries?
Open on GitHub → Explain another repo

← xfangfang on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.