Skip to content

Releases: FDH2/UxPlay

UxPlay 1.65

05 Jun 10:42
Compare
Choose a tag to compare

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), openSUSE 15.4, 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.

UxPlay 1.64

24 Apr 08:05
Compare
Choose a tag to compare

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 various enhancements. While originally targeted at X86/X86_64 server and desktop systems, it now also supports the GStreamer Video4Linux2 plugin for 32- and 64-bit accelerated hardware video decoding on Raspberry Pi (replacing 32-bit-only no-longer-maintained OpenMAX used by RPiPlay). UxPlay is tested on a number of systems, including (among others) Debian 10.11 "Buster" and 11.2 "Bullseye", Ubuntu 20.04 LTS and 22.04.1 LTS, (also Ubuntu derivatives Linux Mint 20.3, Pop!_OS 22.04 (NVIDIA edition)), Rocky Linux 9.1 (a CentOS successor), Fedora 36, OpenSUSE 15.4, Arch Linux 22.10, macOS 13.3 (Intel and M2), FreeBSD 13.2, Windows 10 and 11 (64 bit).
On Raspberry Pi 4 model B, it is tested on Raspberry Pi OS (Bullseye) (32- and 64-bit), Ubuntu 22.04 and 22.10, Manjaro RPi4 23.02, and (without hardware video decoding) on OpenSUSE 15.4. Also tested on Raspberry Pi 3 model B+.

ChangeLog:
1.64 2023-04-23 Timestamp-based synchronization of audio and video is now the default in Mirror mode. (Use "-vsync no" to restore previous behavior.) A configuration file can now be used for startup options. Also some internal cleanups and a minor bugfix that fixes #192.

UxPlay 1.63

16 Feb 05:10
Compare
Choose a tag to compare

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 various enhancements. While originally targeted at X86/X86_64 server and desktop systems, it now also supports the GStreamer Video4Linux2 plugin for 32- and 64-bit accelerated hardware video decoding on Raspberry Pi (replacing 32-bit-only no-longer-maintained OpenMAX used by RPiPlay). UxPlay is tested on a number of systems, including (among others) Debian 10.11 "Buster" and 11.2 "Bullseye", Ubuntu 20.04 LTS and 22.04.1 LTS, Linux Mint 20.3, Pop!_OS 22.04 (NVIDIA edition), Rocky Linux 8.6 (a CentOS successor), Fedora 36, OpenSUSE 15.4, Arch Linux 22.10, macOS 12.3 (Intel and M1), FreeBSD 13.1. On Raspberry Pi, it is tested on Raspberry Pi OS (Bullseye) (32- and 64-bit), Ubuntu 22.10, and Manjaro RPi4 22.12. Also tested on 64-bit Windows 10 and 11.

1.63 2023-02-12 Reworked audio-video synchronization, with new options -vsync (for Mirror mode) and -async (for Audio-Only mode, to sync with client video). Option -vsync makes software h264 decoding of streamed videos with option -avdec viable on some recent Raspberry Pi models. Internal change: all times are now processed in nanoseconds units. Removed -ao option introduced in 1.62.

1.63.2 2023-02-19. Updated README document to describe new synchronization features (no code changes).

UxPlay 1.62

22 Jan 12:59
Compare
Choose a tag to compare

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 various enhancements. While originally targeted at X86/X86_64 server and desktop systems, it now also supports the GStreamer Video4Linux2 plugin for 32- and 64-bit accelerated hardware video decoding on Raspberry Pi (replacing 32-bit-only no-longer-maintained OpenMAX used by RPiPlay). UxPlay is tested on a number of systems, including (among others) Debian 10.11 "Buster" and 11.2 "Bullseye", Ubuntu 20.04 LTS and 22.04.1 LTS, Linux Mint 20.3, Pop!_OS 22.04 (NVIDIA edition), Rocky Linux 8.6 (a CentOS successor), Fedora 36, OpenSUSE 15.4, Arch Linux 22.10, macOS 12.3 (Intel and M1), FreeBSD 13.1. On Raspberry Pi, it is tested on Raspberry Pi OS (Bullseye) (32- and 64-bit), Ubuntu 22.10, and Manjaro RPi4 22.12. Also tested on 64-bit Windows 10 and 11.

1.62 2023-01-22 Added Audio-only mode time offset -ao x to allow user synchronization in Audio-only mode of audio playing on the server with video, song lyrics, etc. playing on the client. x = 5.0 appears to be optimal in many cases. Quality fixes: cleanup in volume changes, timestamps, some bugfixes.

UxPlay 1.61.1

30 Dec 04:48
Compare
Choose a tag to compare

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 various enhancements. While originally targeted at X86/X86_64 server and desktop systems, it now also supports the GStreamer Video4Linux2 plugin for 32- and 64-bit accelerated hardware video decoding on Raspberry Pi (replacing 32-bit-only no-longer-maintained OpenMAX used by RPiPlay). UxPlay is tested on a number of systems, including (among others) Debian 10.11 "Buster" and 11.2 "Bullseye", Ubuntu 20.04 LTS and 22.04.1 LTS, Linux Mint 20.3, Pop!_OS 22.04 (NVIDIA edition), Rocky Linux 8.6 (a CentOS successor), Fedora 36, OpenSUSE 15.4, Arch Linux 22.10, macOS 12.3 (Intel and M1), FreeBSD 13.1. On Raspberry Pi, it is tested on Raspberry Pi OS (Bullseye) (32- and 64-bit), Ubuntu 22.04.1, and Manjaro RPi4 22.10. Also tested on 64-bit Windows 10 and 11.

1.61 2022-12-30 Removed -t option (workaround for an Avahi issue, correctly solved by opening network port UDP 5353 in firewall). Remove -g debug flag from CMAKE_CFLAGS. Postpend (instead of prepend) build environment CFLAGS to CMAKE_CFLAGS. Refactor parts of uxplay.cpp

1.61.1 2022-12-31 Remove -U_FORTIFY_SOURCE from Cflags

UxPlay 1.60

15 Dec 18:16
Compare
Choose a tag to compare

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 various enhancements. While originally targeted at X86/X86_64 server and desktop systems, it now also supports the GStreamer Video4Linux2 plugin for 32- and 64-bit accelerated hardware video decoding on Raspberry Pi (replacing 32-bit-only no-longer-maintained OpenMAX used by RPiPlay). UxPlay is tested on a number of systems, including (among others) Debian 10.11 "Buster" and 11.2 "Bullseye", Ubuntu 20.04 LTS and 22.04.1 LTS, Linux Mint 20.3, Pop!_OS 22.04 (NVIDIA edition), Rocky Linux 8.6 (a CentOS successor), OpenSUSE 15.4, Arch Linux 22.10, macOS 12.3 (Intel and M1), FreeBSD 13.1. On Raspberry Pi, it is tested on Raspberry Pi OS (Bullseye) (32- and 64-bit), Ubuntu 22.10, and Manjaro RPi4 22.10. Also tested on 64-bit Windows 10 and 11.

1.60 2022-12-15 Added exit with error message if DNSServiceRegister fails (instead of just stalling). Test for Mac Client's attempt to use unsupported AirPlay 2 "REMOTE CONTROL" protocol (with no timing channel), and warn if this occurs. Reworked metadata processing to correctly parse DMAP header (previous version worked with DMAP messages currently received, but was not correct).

UxPlay 1.59

12 Dec 20:45
Compare
Choose a tag to compare

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 various enhancements. While originally targeted at X86/X86_64 server and desktop systems, it now also supports the GStreamer Video4Linux2 plugin for 32- and 64-bit accelerated hardware video decoding on Raspberry Pi (replacing 32-bit-only no-longer-maintained OpenMAX used by RPiPlay). UxPlay is tested on a number of systems, including (among others) Debian 10.11 "Buster" and 11.2 "Bullseye", Ubuntu 20.04 LTS and 22.04.1 LTS, Linux Mint 20.3, Pop!_OS 22.04 (NVIDIA edition), Rocky Linux 8.6 (a CentOS successor), OpenSUSE 15.4, Arch Linux 22.10, macOS 12.3 (Intel and M1), FreeBSD 13.1. On Raspberry Pi, it is tested on Raspberry Pi OS (Bullseye) (32- and 64-bit), Ubuntu 22.10, and Manjaro RPi4 22.10. Also tested on 64-bit Windows 10 and 11.

1.59 2022-12-12: remove "ZOOMFIX" compile option and make compilation with X11-dependence the default if X11 development libraries are detected (this now also provides fullscreen mode with a F11 or Alt+Enter key toggle); ZOOMFIX is now automatically applied for GStreamer < 1.20. New cmake option -DNO_X11_DEPS compiles uxplay without X11 dependence. Reworked internal metadata handling. Fix segfault with "-vs 0".

UxPlay 1.58

04 Nov 06:44
5f72631
Compare
Choose a tag to compare

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 enviromnent) 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 various enhancements. While originally targeted at X86/X86_64 server and desktop systems, it now also supports the GStreamer Video4Linux2 plugin for 32- and 64-bit accelerated hardware video decoding on Raspberry Pi (replacing 32-bit-only no-longer-maintained OpenMAX used by RPiPlay). UxPlay is tested on a number of systems, including (among others) Debian 10.11 "Buster" and 11.2 "Bullseye", Ubuntu 20.04 LTS and 22.04.1 LTS, Linux Mint 20.3, Pop!_OS 22.04 (NVIDIA edition), Rocky Linux 8.6 (a CentOS successor), OpenSUSE 15.4, Arch Linux 22.10, macOS 12.3 (Intel and M1), FreeBSD 13.1. On Raspberry Pi, it is tested on Raspberry Pi OS (Bullseye) (32- and 64-bit), Ubuntu 22.10, and Manjaro RPi4 22.10. Also tested on 64-bit Windows 10 and 11.

1.58 2022-11-04 Added a requested new option "-nohold" that causes UxPlay to drop a connection with a current client when a new client requests a connection, and connect to that new client. Also updated llhttp to v8.1.0.

UxPlay 1.57

10 Oct 00:08
Compare
Choose a tag to compare

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 enviromnent) 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 various enhancements. While originally targeted at X86/X86_64 server and desktop systems, it now also supports the GStreamer Video4Linux2 plugin for 32- and 64-bit accelerated hardware video decoding on Raspberry Pi (replacing 32-bit-only no-longer-maintained OpenMAX used by RPiPlay). UxPlay is tested on a number of systems, including (among others) Debian 10.11 "Buster" and 11.2 "Bullseye", Ubuntu 20.04 LTS and 22.04.1 LTS, Linux Mint 20.3, Pop!_OS 22.04 (NVIDIA edition), Rocky Linux 8.6 (a CentOS successor), OpenSUSE 15.4, Arch Linux 22.10, macOS 12.3 (Intel and M1), FreeBSD 13.1. On Raspberry Pi, it is tested on Raspberry Pi OS (Bullseye) (32- and 64-bit), Ubuntu 22.04.1, and Manjaro RPi4 22.10. Also tested on 64-bit Windows 10 and 11.

1.57 2022-10-09 Minor fixes: (fix coredump on AUR on "stop mirroring", occurs when compiled with AUR CFLAGS -DFORTIFY_SOURCE); graceful exit when required plugins are missing; improved support for builds on Windows. Include audioresample in GStreamer audio pipeline.

UxPlay v1.56

31 Jul 12:13
Compare
Choose a tag to compare

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, 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 various enhancements. While originally targeted at X86/X86_64 server and desktop systems, it now also supports the GStreamer Video4Linux2 plugin for 32- and 64-bit accelerated hardware video decoding on Raspberry Pi (replacing deprecated OpenMAX used by RPiPlay). UxPlay is tested on many systems, including Debian 10.11 "Buster" and 11.2 "Bullseye", Ubuntu 20.04 and 22.04, Linux Mint 20.3, Pop!_OS 22.04 (NVIDIA edition), Raspberry Pi OS (Bullseye), Rocky Linux 8.6 (a CentOS successor), OpenSUSE 15.4, Manjaro 22.04 (RPi 4), macOS 12.3 (Intel and M1), FreeBSD 13.1

1.56 2022-07-31 Minor update to revise the Raspberry-Pi-specific "convenience" combined options -rpi*, as GStreamer's Video4Linux2 plugin has been updated to remove the need for the "bt709" color workaround, and updated GStreamer patches are now available. Un-updated GStreamer will now require -bt709 option to be explicitly used. A new convenience option -rpigl for OpenGL graphics on RPi is also added.

1.56a 2022-09-15 Updated documentation (Raspberry Pi OS now supplies fully-patched Gstreamer, and UxPlay now builds on Windows) but no code changes for non-Windows installations

1.56b 2022-09-29 minor cosmetic cleanup in parsing of audio and video dump option; some updates to README documentation.

1.56c 2022-10-04 added some missing copyright headers, no code changes.

1.56d 2022-10-08 small fix to prevent coredump on "Stop Mirroring" when compiled with -DFORTIFY_SOURCE (as in ArchLinux AUR)