Skip to content
This repository was archived by the owner on Oct 24, 2026. It is now read-only.
pingodPublic archive

About

Macast 的一个分支:菜单栏 DLNA / Chromecast / AirPlay 接收端,用 mpv 播放

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

slogan

Macast

visitor stars downloads plugins pypi aur build mac windows linux

中文说明

A menu bar application using mpv as DLNA Media Renderer. You can push videos, pictures or musics from your mobile phone to your computer.

This fork (pingod/Macast) additionally acts as a Chromecast and AirPlay receiver, can run all three protocols at the same time, lets you pick which network interface is advertised, supports installing / enabling / disabling / uninstalling plugins from the settings page without restarting, and exposes a token-protected HTTP cast entry (GET /api?query=cast&url=...&token=...) for Shortcuts, bookmarks and scripts. See README_ZH.md for the full list.

Working on the code? Start with AGENTS.md — repo map, the list of hardware-only pitfalls this project has already been bitten by, and the release process. Real-device verification notes live in docs/Cast-AirPlay-Testing.md.

Installation

  • MacOS || Windows || Debian

    Download link: Macast release latest

  • Package manager

    pip install macast
    macast-gui # or macast-cli

    Please see our wiki for more information(like aur support): #package-manager
    Linux users may have problems installing using pip. Two additional libraries that I have modified need to be installed:

    pip install git+https://github.com/xfangfang/pystray.git
    pip install git+https://github.com/xfangfang/pyperclip.git

    See this for Linux compatibility

  • Build from source

    Please refer to: Macast Development

Usage

  • For ordinary users
    After opening this app, a small icon will appear in the menubar / taskbar / desktop panel, then you can push your media files from a local DLNA client to your computer.

  • For advanced users

    1. The renderers that used to need a download — IINA, Web, Live, PotPlayer, PIFMRDS, plus the NVA protocol — now ship inside the app. Enable, disable or uninstall them on the settings page, no restart needed.
      The nine plugins this fork wrote itself ship inside the app as well: an yt-dlp downloader, an external-player renderer, a floating-window renderer, automation hooks, a Chromecast bridge, RAOP (AirPlay audio) supervision, a three-platform Screen Mirror (Chromecast / DLNA television / any browser, driven from the 「电脑投屏」 tab of the settings page), a Local File Caster (play a file or playlist from this disk on the TV: byte-exact serving when the set can decode it, ffmpeg transcoding when it cannot) and an AirPlay Screen Mirror receiver (supervises uxplay, so an iPhone can mirror onto this Mac; uxplay is yours to build). The index at plugins/ is reserved for third-party and user-made plugins, and is empty right now. Read that directory as source, not as an install feed: this repository is private (a standing decision, 2026-09-21), while jsDelivr and raw cannot serve a private repo and Macast downloads plugins without any credentials — so the cards render fine and "Install" fails, which looks like a network problem but isn't. Install manually instead: paste a .py URL you can actually reach into "Install from URL", or drop the file into ~/Library/Application Support/Macast/renderer/ (protocol plugins go in protocol/). Both take effect without a restart. python3 scripts/check_index_reachability.py reporting INDEX_PRIVATE on this repo is the expected answer, not something to fix.
    2. You can modify the shortcut keys or configuration of the default mpv player by yourself, see: #how-to-set-personal-configurations-to-mpv
  • For developer
    You can use a few lines of code to add support for other players like IINA and PotPlayer or even add additional features, like downloading media files while playing videos.
    Tutorials and examples are shown in: Macast/wiki/Custom-Renderer.
    Bundled plugins live in macast/plugins/; for anything else, open a pull request or an issue on pingod/Macast.

FAQ

If you have any questions about this application, please check: Macast/wiki/FAQ.
If this does not solve your problem, please open a new issue to notify us, we are willing to help you solve the problem.

Screenshots

You can copy the video link after the video is casted:
copy_uri

Or select a third-party player plug-in
select_renderer

Relevant links

UPnP™ Device Architecture 1.1

UPnP™ Resources

UPnP™ ContentDirectory:1 service

UPnP™ MediaRenderer:1 device

UPnP™ AVTransport:1 service

UPnP™ RenderingControl:1 service

python-upnp-ssdp-example

About

Macast 的一个分支:菜单栏 DLNA / Chromecast / AirPlay 接收端,用 mpv 播放

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages