Releases: FDH2/UxPlay
UxPlay-1.71.1
UxPlay is a GPLv3 unix AirPlay Mirror and AirPlay Audio server (NEW in v1.71: now with support for AirPlay 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 made available for display by an external file viewer).
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).
ChangeLog:
1.71 2024-12-13 Add support for HTTP Live Streaming (HLS), initially only for YouTube movies. Fix issue with NTP timeout on Windows.
1.71.1 2024-12-16 Fix a regression (in h265 support) that occurred accidentally when adding hls support.
The addition of HLS support was made possible with invaluable assistance from
@thiccaxe @GenghisKhanDrip @shuax and others.
The example of HLS support in https://github.com/air-display/apsdk-public was key to understanding the protocol.
UxPlay 1.71
UxPlay is a GPLv3 unix AirPlay Mirror and AirPlay Audio server (NEW in v1.71: now with support for AirPlay 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 made available for display by an external file viewer).
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).
ChangeLog:
1.71 2024-12-13 Add support for HTTP Live Streaming (HLS), initially only for YouTube movies. Fix issue with NTP timeout on Windows.
The addition of HLS support was made possible with invaluable assistance from
@thiccaxe @GenghisKhanDrip @shuax and others.
The example of HLS support in https://github.com/air-display/apsdk-public was key to understanding the protocol.
UxPlay 1.70
UxPlay is a GPLv3 unix AirPlay Mirror and AirPlay Audio server (but currently does not support AirPlay HLS video streaming): 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. When the client screen is not mirrored, Apple Lossless (ALAC) AirPlay2 Audio can be streamed from the client to the server (with cover art made available for display by an external file viewer).
UxPlay is derived from https://github.com/FD-/RPiPlay, with audio and video rendered using GStreamer, and many enhancements. While originally targeted at x86/x86_64 server and desktop systems, it also supports Raspberry Pi . UxPlay should run on any Linux, and is tested on many Linux distributions. Also tested on macOS Sonoma and earlier (Intel and M2), FreeBSD 14, Windows 10 and 11 (64 bit)..
ChangeLog:
1.70 2024-10-04 Add support for 4K (h265) video (resolution 3840 x 2160), with new option -h265. Fix issue with GStreamer >= 1.24 when client sleeps, then wakes.
UxPlay 1.69
UxPlay is a GPLv3 unix AirPlay Mirror and AirPlay Audio server (but currently does not support AirPlay HLS video streaming): 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. When the client screen is not mirrored, Apple Lossless (ALAC) AirPlay2 Audio can be streamed from the client to the server (with cover art made available for display by an external file viewer).
UxPlay is derived from https://github.com/FD-/RPiPlay, with audio and video rendered using GStreamer, and many enhancements. While originally targeted at x86/x86_64 server and desktop systems, it also supports Raspberry Pi (with accelerated hardware video decoding using Video4Linux2 on models 4B and earlier). UxPlay should run on any Linux, and is tested on many Linux distributions. Also tested on macOS Sonoma and earlier (Intel and M2), FreeBSD 14, Windows 10 and 11 (64 bit). On Raspberry Pi, it is tested on Raspberry Pi OS (Bullseye and Bookworm, 32- and 64-bit), Ubuntu, Manjaro RPi4 and openSUSE.
ChangeLog:
2024-08-09 Internal improvements (for future HLS video streaming support). New -nofreeze option to not leave frozen video in place when a network connection is reset (needed for fullscreen-mode kiosk usage).
UxPlay 1.68.3
UxPlay is a GPLv3 unix AirPlay2 Mirror and AirPlay2 Audio (but not AirPlay2 Video) server: 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. When the client screen is not mirrored, Apple Lossless (ALAC) AirPlay2 Audio can be streamed from the client to the server (with cover art made available for display by an external file viewer).
UxPlay is derived from https://github.com/FD-/RPiPlay, with audio and video rendered using GStreamer, and many enhancements. While originally targeted at x86/x86_64 server and desktop systems, it also supports Raspberry Pi (with accelerated hardware video decoding using Video4Linux2 on models 4B and earlier). UxPlay should run on any Linux, and is tested on many Linux distributions. Also tested on macOS Sonoma and earlier (Intel and M2), FreeBSD 14, Windows 10 and 11 (64 bit). On Raspberry Pi, it is tested on Raspberry Pi OS (Bullseye and Bookworm, 32- and 64-bit), Ubuntu, Manjaro RPi4 and openSUSE.
ChangeLog:
1.68 2023-12-31 New simpler (default) method for generating a persistent public key from the server MAC address (which can be set with the -m option). (The previous method is still available with -key option). New option -reg to maintain a register of pin-authenticated clients. Corrected volume-control: now interprets AirPlay volume range -30dB:0dB as decibel gain attenuation, with new option -db low[:high] for "flat" rescaling of the dB range. Add -taper option for a "tapered" AirPlay volume-control profile.
1.68.1 typo in help text fixed.
1.68.2 corrected default value of "taper_volume": should have been "false"
1.68.3 small fix for code broken by newly-released GStreamer-1.24.x (important for Arch Linux and Ubuntu 24.04LTS users). IPv6 support is also now activated.
UxPlay 1.68.2
UxPlay is a GPLv3 unix AirPlay2 Mirror and AirPlay2 Audio (but not AirPlay2 Video) server: 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. When the client screen is not mirrored, Apple Lossless (ALAC) AirPlay2 Audio can be streamed from the client to the server (with cover art made available for display by an external file viewer).
UxPlay is derived from https://github.com/FD-/RPiPlay, with audio and video rendered using GStreamer, and many enhancements. While originally targeted at x86/x86_64 server and desktop systems, it also supports Raspberry Pi (with accelerated hardware video decoding using Video4Linux2 on models 4B and earlier). UxPlay should run on any Linux, and is tested on many Linux distributions. Also tested on macOS Sonoma and earlier (Intel and M2), FreeBSD 14, Windows 10 and 11 (64 bit). On Raspberry Pi, it is tested on Raspberry Pi OS (Bullseye and Bookworm, 32- and 64-bit), Ubuntu, Manjaro RPi4 and openSUSE.
ChangeLog:
1.68 2023-12-31 New simpler (default) method for generating a persistent public key from the server MAC address (which can be set with the -m option). (The previous method is still available with -key option). New option -reg to maintain a register of pin-authenticated clients. Corrected volume-control: now interprets AirPlay volume range -30dB:0dB as decibel gain attenuation, with new option -db low[:high] for "flat" rescaling of the dB range. Add -taper option for a "tapered" AirPlay volume-control profile.
1.68.1 typo in help text fixed.
1.68.2 corrected default value of "taper_volume": should have been "false"
UxPlay 1.68.1
UxPlay is a GPLv3 unix AirPlay2 Mirror and AirPlay2 Audio (but not AirPlay2 Video) server: 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. When the client screen is not mirrored, Apple Lossless (ALAC) AirPlay2 Audio can be streamed from the client to the server (with cover art made available for display by an external file viewer).
UxPlay is derived from https://github.com/FD-/RPiPlay, with audio and video rendered using GStreamer, and many enhancements. While originally targeted at x86/x86_64 server and desktop systems, it also supports Raspberry Pi (with accelerated hardware video decoding using Video4Linux2 on models 4B and earlier). UxPlay should run on any Linux, and is tested on many Linux distributions. Also tested on macOS Sonoma and earlier (Intel and M2), FreeBSD 14, Windows 10 and 11 (64 bit). On Raspberry Pi, it is tested on Raspberry Pi OS (Bullseye and Bookworm, 32- and 64-bit), Ubuntu, Manjaro RPi4 and openSUSE.
ChangeLog:
1.68 2023-12-31 New simpler (default) method for generating a persistent public key from the server MAC address (which can be set with the -m option). (The previous method is still available with -key option). New option -reg to maintain a register of pin-authenticated clients. Corrected volume-control: now interprets AirPlay volume range -30dB:0dB as decibel gain attenuation, with new option -db low[:high] for "flat" rescaling of the dB range. Add -taper option for a "tapered" AirPlay volume-control profile.
1.68.1 typo in help text fixed.
UxPlay 1.67
UxPlay is a GPLv3 unix AirPlay2 Mirror and AirPlay2 Audio (but not AirPlay2 Video) server: 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. When the client screen is not mirrored, Apple Lossless (ALAC) AirPlay2 Audio can be streamed from the client to the server (with cover art made available for display by an external file viewer).
UxPlay is derived from https://github.com/FD-/RPiPlay, with audio and video rendered using GStreamer, and many enhancements. While originally targeted at x86/x86_64 server and desktop systems, it also supports Raspberry Pi (with accelerated hardware video decoding using Video4Linux2 on models 4B and earlier). UxPlay should run on any Linux, and is tested on many Linux distributions. Also tested on macOS Sonoma and earlier (Intel and M2), FreeBSD 14, Windows 10 and 11 (64 bit). On Raspberry Pi, it is tested on Raspberry Pi OS (Bullseye and Bookworm, 32- and 64-bit), Ubuntu, Manjaro RPi4 and openSUSE.
ChangeLog:
1.67 2023-12-07 Added support for Apple-style one-time pin authentication of clients (new option "-pin"). Removed rpi* options (which are not valid with new Raspberry Pi model 5, and can be replaced by combinations of other options). Updated llhttp to v9.1.3; various other minor fixes and improvements (user-specifiable MAC address, export helper data for remotes, detection of unsupported h265/HEVC video).
UxPlay 1.66
UxPlay is a GPLv3 unix AirPlay2 Mirror and AirPlay2 Audio (but not AirPlay2 Video) server: its main use is to act like an AppleTV for screen-mirroring (with audio) of iOS/MacOS clients (iPads, iPhones, MacBooks, etc.) in a window on the server display (with the possibility of sharing that window on screen-sharing applications such as Zoom) on a host running Linux, macOS, or other unix, (and now also Windows 10/11, with the unix-like MYSYS2 environment) using Apple's AirPlay2 Mirror protocol. When the client screen is not mirrored, Apple Lossless (ALAC) AirPlay2 Audio can be streamed from the client to the server.
UxPlay is derived from https://github.com/FD-/RPiPlay, with audio and video rendered using GStreamer, and many enhancements. While originally targeted at x86/x86_64 server and desktop systems, it now also supports Raspberry Pi (model 4B 32/64 bit, also model 3B+) using Video4Linux2 (instead of OpenMAX) to access accelerated hardware video decoding. UxPlay is tested on a number of systems, including (among others) Debian (10 "Buster", 11 "Bullseye", 12 "Bookworm"), Ubuntu (20.04 LTS, 22.04 LTS, 23.04 (also Ubuntu derivatives Linux Mint, Pop!_OS), Red Hat and clones (Fedora 38, Rocky Linux 9.2), openSUSE Leap 15.5, Mageia 9, OpenMandriva "ROME", PCLinuxOS, Arch Linux, Manjaro, and should run on any Linux system. Also tested on macOS 13.3 (Intel and M2), FreeBSD 13.2, Windows 10 and 11 (64 bit). On Raspberry Pi, it is tested on Raspberry Pi OS (Bullseye) (32- and 64-bit), Ubuntu 22.04 LTS and 23.04, Manjaro RPi4 23.02, and (without hardware video decoding) on openSUSE 15.5.
ChangeLog:
1.66 2023-09-05 Fix IPV6 support. Add option to restrict clients to those on a list of allowed deviceIDs, or to block connections from clients on a list of blocked deviceIDs. Fix for #207 from @thiccaxe (screen lag in vsync mode after client wakes from sleep), and #213 from @march1993
UxPlay 1.65.3
UxPlay is a GPLv3 unix AirPlay2 Mirror and AirPlay2 Audio (but not AirPlay2 Video) server: its main use is to act like an AppleTV for screen-mirroring (with audio) of iOS/MacOS clients (iPads, iPhones, MacBooks, etc.) in a window on the server display (with the possibility of sharing that window on screen-sharing applications such as Zoom) on a host running Linux, macOS, or other unix, (and now also Windows 10/11, with the unix-like MYSYS2 environment) using Apple's AirPlay2 Mirror protocol. When the client screen is not mirrored, Apple Lossless (ALAC) AirPlay2 Audio can be streamed from the client to the server.
UxPlay is derived from https://github.com/FD-/RPiPlay, with audio and video rendered using GStreamer, and many enhancements. While originally targeted at x86/x86_64 server and desktop systems, it now also supports Raspberry Pi (model 4B 32/64 bit, also model 3B+) using Video4Linux2 (instead of OpenMAX) to access accelerated hardware video decoding. UxPlay is tested on a number of systems, including (among others) Debian (10 "Buster", 11 "Bullseye", 12 "Bookworm"), Ubuntu (20.04 LTS, 22.04 LTS, 23.04; also Ubuntu derivatives Linux Mint 20.3, Pop!_OS 22.04 (NVIDIA edition)), Red Hat and clones (Fedora 38, Rocky Linux 9.2), Mageia 9, openSUSE 15.5, Arch Linux 23.05, macOS 13.3 (Intel and M2), FreeBSD 13.2, Windows 10 and 11 (64 bit). On Raspberry Pi, it is tested on Raspberry Pi OS (Bullseye) (32- and 64-bit), Ubuntu 22.04 LTS and 23.04, Manjaro RPi4 23.02, and (without hardware video decoding) on openSUSE 15.4.
ChangeLog:
1.65 2023-06-05. Eliminate pair_setup part of connection protocol to allow faster connections with clients (thanks to @shuax #176 for this discovery); to revert, uncomment a line in lib/dnssdint.h. Disconnect from audio device when connection closes, to not block its use by other apps if uxplay is running but not connected. Fix for AirMyPC client (broken since 1.60), so its older non-NTP timestamp protocol works with -vsync. Corrected parsing of configuration file entries that were in quotes.
1.65.3 2023-07-23. Include RPM spec file for RPM-based distributions. Also add minor fix to provide an informative message if the required GStreamer-libav plugin feature avdec_aac is missing (this can occur in RPM-based distributions that ship an incomplete FFmpeg for Patent/License reasons). New in 1.65.3: Uxplay will now function without audio in mirror mode, if avdec_aac is missing.