UxPlay is a GPLv3 unix AirPlay Mirror and AirPlay Audio server (now with support for AirPlay m3u8-format HLS video streaming from YouTube): its main use is to act like an AppleTV for screen-mirroring (with audio) of iOS/MacOS clients (iPads, iPhones, MacBooks, etc.) in a shareable window on the server display, on a host running Linux, macOS, or other unix, or on Windows 10/11 (with the unix-like MYSYS2 environment), using Apple's AirPlay2 Mirror protocol. In audio-only mode, Apple Lossless (ALAC) AirPlay2 Audio can be streamed from the client to the server (with cover art and metadata text made available for display by external file viewers).
UxPlay renders audio and video using GStreamer, and supports x86/x86_64 systems, as well as Raspberry Pi . UxPlay should run on any Linux, and is tested on many Linux distributions. Also tested on macOS (Intel and Apple Silicon), FreeBSD, and Windows 10 and 11 (64 bit).
1.73 2026-01-26 many new features: (1) Render Audio cover-art inside UxPlay with -ca option (no file specified). (2) (D-Bus based) option -scrsv to inhibit screensaver while UxPlay is running (Linux/*BSD only). (3) Add password support (-pw) using a displayed pin code as a password that changes every time (and not as a one-time pin). (4) Add support for non-DNS_SD Service Discovery using a Bluetooth LE beacon, controlled by a Python3 script (Linux/*BSD and Windows only) (5) Add -vrtp option for forwarding decrypted h264/5 video to an external renderer (e.g., OBS Studio), and -artp for audio. (6) New option -lang to specify language preferences for YouTube HLS videos when they offer a choice. (7) New option -mp4 for recording to a mp4 file (Mirror and Audio/ALAC mode, not HLS). Other changes: Check that option input strings have valid UTF-8 encoding, allowing e.g. a non-latin-script UTF-8-encoded Server name.