Releases: FDH2/UxPlay
UxPlay v1.55
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.55 2022-07-23 Remove the bt709 fix from -v4l2 and create a new -bt709 option (previous "-v4l2" is now "-v4l2 -bt709"). This allows the currently-required -bt709 option to be used on its own on RPi without -v4l2 (sometimes this give better results).
UxPlay v1.54
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
ChangeLog:
1.54 2022-06-25 Add support for "Cover Art" display in Audio-only (ALAC) mode. Reverted a change that caused VAAPI to crash with AMD POLARIS graphics cards. Minor internal changes to plist code and uxplay option parsing.
UxPlay v1.53
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.
ChangeLog:
1.53 2022-06-13 Internal changes to audio sync code, revised documentation, minor bugfix (fix assertion crash in 1.52 when resent audio packets are empty).
UxPlay v1.52
UxPlay is a GPLv3 unix AirPlay 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 AirPlay Mirror protocol. Older iOS clients v. 9.3.5 and later are supported. When the client screen is not mirrored, Apple Lossless (ALAC) audio can be sent from the client to the server using Airplay protocol. Although UxPlay was originally targeted at x86/x86_64 Server and Desktop systems, it now also supports both 32- and 64-bit Raspberry Pi Arm platforms with hardware-accelerated video decoding (using Video4Linux2, the replacement for deprecated 32-bit-only OpenMAX on the Pi).
This work is based on https://github.com/FD-/RPiPlay, with GStreamer integration from https://github.com/antimof/UxPlay. Tested on Debian 10.11 "Buster" and 11.2 "Bullseye", Ubuntu 20.04 and 21.10, Linux Mint 20.3, Pop!_OS 21.10 (NVIDIA edition), Raspberry Pi OS (bullseye), Rocky Linux 8.5 (a CentOS successor), OpenSUSE 15.3, Manjaro 20.2, macOS 12.3 (Intel and M1), FreeBSD 13.0.
1.52 2022-05-05 Cleaned up initial audio sync code, and reformatted streaming debug output (readable aligned timestamps with decimal points in seconds). Eliminate memory leaks (found by valgrind).
1.52a small change to gstreamer plugin check, and also to CMakeLists.txt (needed for GStreamer-1.20.x installation on macOS).
1.52b ALAC audio metadata (Artist, Titles etc. in audio-only mode) is now shown on uxplay terminal.
1.52c updated README.
UxPlay v1.51
UxPlay is a GPLv3 unix AirPlay 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 AirPlay Mirror protocol. Older iOS clients v. 9.3.5 and later are supported. When the client screen is not mirrored, Apple Lossless (ALAC) audio can be sent from the client to the server using Airplay protocol. Although UxPlay was originally targeted at x86/x86_64 Server and Desktop systems, it now also supports both 32- and 64-bit Raspberry Pi Arm platforms with hardware-accelerated video decoding (using Video4Linux2, the replacement for deprecated 32-bit-only OpenMAX on the Pi).
This work is based on https://github.com/FD-/RPiPlay, with GStreamer integration from https://github.com/antimof/UxPlay. Tested on Debian 10.11 "Buster" and 11.2 "Bullseye", Ubuntu 20.04 and 21.10, Linux Mint 20.3, Pop!_OS 21.10 (NVIDIA edition), Raspberry Pi OS (bullseye), Rocky Linux 8.5 (a CentOS successor), OpenSUSE 15.3, Manjaro 20.2, macOS 12.3 (Intel and M1), FreeBSD 13.0.
1.51 2022-04-24 Reworked options for Video4Linux2 support (new option -v4l2) and short options -rpi, -rpifb, -rpiwl as synonyms for -v4l2, -v4l2 -vs kmssink, and -v4l2 -vs waylandsink. Reverted a change from 1.48 that broke reconnection after "Stop Mirroring" is sent by client.
UxPlay v1.50
UxPlay is a GPLv3 unix AirPlay 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 AirPlay Mirror protocol. Older iOS clients v. 9.3.5 and later are supported. When the client screen is not mirrored, Apple Lossless (ALAC) audio can be sent from the client to the server using Airplay protocol. Although UxPlay was originally targeted at x86/x86_64 Server and Desktop systems, it now also supports both 32- and 64-bit Raspberry Pi Arm platforms with hardware-accelerated video decoding (using Video4Linux2, the replacement for deprecated 32-bit-only OpenMAX on the Pi).
This work is based on https://github.com/FD-/RPiPlay, with GStreamer integration from https://github.com/antimof/UxPlay. Tested on Debian 10.11 "Buster" and 11.2 "Bullseye", Ubuntu 20.04 and 21.10, Linux Mint 20.3, Pop!_OS 21.10 (NVIDIA edition), Raspberry Pi OS (bullseye), Rocky Linux 8.5 (a CentOS successor), OpenSUSE 15.3, Manjaro 20.2, macOS 12.3 (Intel and M1), FreeBSD 13.0.
1.50 2022-04-22 Added -fs fullscreen option (for Wayland or VAAPI plugins only). Changed -rpi to apply only to framebuffer ("Lite") RPi systems and added -rpigl (OpenGL) and -rpiwl (Wayland) options for RPi Desktop systems. Also modified timestamps from "DTS" to "PTS" for latency improvement, plus internal cleanups.
1.50a 2022-04-23 reverted a change from 1.48 that broke reconnection after "stop screening" was sent by client.
UxPlay v1.49
UxPlay is a GPLv3 unix AirPlay 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 AirPlay Mirror protocol. Older iOS clients v. 9.3.5 and later are supported. When the client screen is not mirrored, Apple Lossless (ALAC) audio can be sent from the client to the server using Airplay protocol. Although UxPlay was originally targeted at x86/x86_64 Server and Desktop systems, it now also supports the Raspberry Pi Arm platform with hardware-accelerated video decoding (Video4Linux2).
This work is based on https://github.com/FD-/RPiPlay, with GStreamer integration from https://github.com/antimof/UxPlay. Tested on Debian 10.11 "Buster" and 11.2 "Bullseye", Ubuntu 20.04 and 21.10, Linux Mint 20.2, Pop!_OS 21.10 (NVIDIA edition), Raspberry Pi OS (bullseye), Rocky Linux 8.5 (a CentOS successor), OpenSUSE 15.3, macOS 12.3 (Intel and M1), FreeBSD
1.49 2022-03-28 Addded options for dumping video and/or audio to file, for debugging, etc. h264 PPS/SPS NALU's are shown with -d. Fixed video-not-working for M1 Mac clients.
UxPlay v1.48
UxPlay is a GPLv3 unix AirPlay 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 AirPlay Mirror protocol. Older iOS clients v. 9.3.5 and later are supported. When the client screen is not mirrored, Apple Lossless (ALAC) audio can be sent from the client to the server using Airplay protocol. Although UxPlay was originally targeted at x86/x86_64 Server and Desktop systems, it now also supports the Raspberry Pi Arm platform with hardware-accelerated video decoding (Video4Linux2).
This work is based on https://github.com/FD-/RPiPlay, with GStreamer integration from https://github.com/antimof/UxPlay. Tested on Debian 10.11 "Buster" and 11.2 "Bullseye", Ubuntu 20.04 and 21.10, Linux Mint 20.2, Pop!_OS 21.10 (NVIDIA edition), Raspberry Pi OS (bullseye), Rocky Linux 8.5 (a CentOS successor), OpenSUSE 15.3, macOS 10.15.7, FreeBSD 13.0.
ChangeLog 1.48 2022-03-11 Made the GStreamer video pipeline fully configurable, for use with hardware h264 decoding. Support for Raspberry Pi.
UxPlay v1.47
UxPlay is a GPLv3 unix AirPlay 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 AirPlay Mirror protocol. Older iOS clients v. 9.3.5 and later are supported. When the client screen is not mirrored, Apple Lossless (ALAC) audio can be sent from the client to the server using Airplay protocol.
This work is based on https://github.com/FD-/RPiPlay, with GStreamer integration from https://github.com/antimof/UxPlay. Tested on Debian 10.11 "Buster" and 11.2 "Bullseye", Ubuntu 20.04 and 21.10, Linux Mint 20.2, Pop!_OS 21.10 (NVIDIA edition), Rocky Linux 8.5 (a CentOS successor), OpenSUSE 15.3, macOS 10.15.7, FreeBSD 13.0.
ChangeLog 1.47 2022-02-09: Added -FPSdata option to display (in the terminal) regular reports sent by the client about video streaming performance. Internal cleanups of processing of video packets received from the client. Added -reset n option to reset the connection after n ntp timeouts (also reset after "connection reset by peer" error in video stream).
UxPlay v1.46
UxPlay is a GPLv3 unix AirPlay 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 AirPlay Mirror protocol. Older iOS clients v. 9.3.5 and later are supported. When the client screen is not mirrored, Apple Lossless (ALAC) audio can be sent from the client to the server using Airplay protocol.
This work is based on https://github.com/FD-/RPiPlay, with GStreamer integration from https://github.com/antimof/UxPlay. Tested on Debian 10.11 "Buster" and 11.2 "Bullseye", Ubuntu 20.04 and 21.10, Linux Mint 20.2, Pop!_OS 21.10 (NVIDIA edition), Rocky Linux 8.5 (a CentOS successor), OpenSUSE 15.3, macOS 10.15.7, FreeBSD 13.0.
ChangeLog 1.46 2022-01-20 Restore pre-1.44 behavior (1.44 may have broken hardware acceleration): once again use decodebin in the video pipeline; introduce new option "-avdec" to force software h264 decoding by libav h264, if needed (to prevent selection of vaapisink by autovideosink). Update llhttp to v6.0.6. UxPlay now reports itself as AppleTV3,2.
1.46a Restrict connections to one client at a time (second client must now wait for first client to disconnect)
1.46b small fix to window-closing behavior needed after "close window on stop streaming" change in 1.45