update README with R Pi news

This commit is contained in:
fduncanh
2022-03-10 21:15:22 -05:00
parent 2584a55c3d
commit adf8b10ada
3 changed files with 44 additions and 35 deletions

View File

@@ -3,11 +3,12 @@
<p>Highlights:</p>
<ul>
<li>GPLv3, open source.</li>
<li>Support for both AirPlay Mirror and AirPlay Audio-only (Apple Lossless ALAC) protocols from current iOS/iPadOS 15.2 client devices.</li>
<li>Support for both AirPlay Mirror and AirPlay Audio-only (Apple Lossless ALAC) protocols f from current iOS/iPadOS 15.2 client devices.</li>
<li>macOS computers (2011 or later) can act either as AirPlay clients, or as the server running UxPlay (tested on macOS 10.15 Catalina). Using AirPlay, UxPlay can emulate a second display for macOS clients.</li>
<li>Support for older 32-bit iOS clients (such as iPad 2nd gen, iPhone 4S, when upgraded to iOS 9.3.5 or later), and also a Windows AirPlay-client emulator, AirMyPC.</li>
<li>Support for older 32-bit iOS clients (such as iPad 2nd gen, iPhone 4S, when upgraded to iOS 9.3.5 or later), and a Windows AirPlay-client emulator, AirMyPC.</li>
<li>Uses GStreamer, with options to select different output “videosinks” and “audiosinks”.</li>
<li>Support for server behind a firewall.</li>
<li><strong>New</strong>: Support for Raspberry Pi, with hardware video acceleration by Video4Linux2 (replacement for OpenMAX)</li>
</ul>
<p>This project is a GPLv3 open source unix AirPlay2 Mirror server for Linux, macOS, and *BSD. It was initially developed by <a href="http://github.com/antimof/Uxplay">antimof</a> using code from <a href="https://github.com/FD-/RPiPlay">RPiPlay</a>, which in turn derives from <a href="https://github.com/KqsMea8/AirplayServer">AirplayServer</a>, <a href="https://github.com/juhovh/shairplay">shairplay</a>, and <a href="https://github.com/EstebanKubata/playfair">playfair</a>. (The antimof site is mainly inactive, but periodically posts updates pulled from the <a href="https://github.com/FDH2/UxPlay">main UxPlay site</a>).</p>
<p>UxPlay is tested on a number of systems, including (among others) 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, Arch Linux 5.16.8, macOS 10.15.7, FreeBSD 13.0.</p>
@@ -20,7 +21,7 @@
<p>For NVIDIA graphics with the proprietary drivers, the nvdec plugin (recently renamed nvh264dec) can be used for accelerated video decoding on the NVIDIA GPU with CUDA. The nvdec plugin is part of gstreamer1.0-plugins-bad, but is generally not included in binary packages, as NVIDIAs proprietary <a href="https://docs.nvidia.com/video-technologies/video-codec-sdk/nvdec-video-decoder-api-prog-guide/">Video Codec SDK</a> must be downloaded, and three header files from it must be added to the gstreamer source before the plugin can be compiled. Users must do this themselves: see <a href="https://gist.github.com/corenel/a615b6f7eb5b5425aa49343a7b409200">these instructions</a>, and adapt them as necessary for your GStreamer installation. This plugin should be used with the <code>-vd nvdec</code> (or nvh264dec) and <code>-vs glimagesink</code> uxplay options.</p>
<ul>
<li><p><strong>GPU Support for Raspberry Pi</strong></p>
<p>Some Raspberry Pi models (e.g., model 4B) are powerful enough to run UxPlay, but work best with hardware-accelerated h264 decoding by the Pis Broadcom GPU; software decoding with combined uxplay options <code>-rpi -avdec</code> will work, but may (but not always) have unacceptable latency. Raspberry Pi OS (Bullseye) has recently abandoned the older omx (OpenMAX) GPU driver used by <a href="http://github.com/FD-/RPiPlay">RPiPlay</a>, and the corresponding GStreamer plugin omxh264dec has been deprecated and broken for some time. The replacement is the Video4Linux (v4l2) plugin v4l2h264dec from gstreamer1.0-plugins-good, which works well for playing mp4 files on the Pi. Unfortunately, features needed by UxPlay are broken in current releases of this plugin, but are fixed as of the v1.21 development branch. See the open <a href="https://github.com/FDH2/UxPlay/issues/70">Issue</a> for a patch against the current stable release 1.20.0. The UxPlay option <code>-rpi</code> by itself will use the Pis GPU for video decoding with the patched plugin.</p></li>
<p>Raspberry Pi computers can run UxPlay with software decoding of h264 video (options <code>uxplay -rpi -avdec</code>) but this usually has unacceptible latency, and hardware-accelerated decoding by the Pis built-in Broadcom GPU should be used. UxPlays antecedent <a href="http://github.com/FD-/RPiPlay">RPiPlay</a> was developed to use the 32-bit-only omx (OpenMAX) driver for this, but omx has recently been declared obsolete and abandoned in “legacy” status by Raspberry Pi OS (Bullseye). The GStreamer plugin for its replacement v4l2 (Video4Linux2) has until recently been unusable with UxPlay, but new fixes in the GStreamer development branch have changed this. Backports (as patches) to GStreamer 1.18.4 (Bullseye) and 1.20.0 (Manjaro) are now available <a href="https://github.com/FDH2/UxPlay/issues/70">here</a>, until distributions release them as updates, and work well with UxPlay, using a new option <code>uxplay -rpi</code> (tested on R Pi model 4B)</p></li>
</ul>
<h3 id="note-to-packagers-openssl-3.0.0-solves-gpl-v3-license-issues.">Note to packagers: OpenSSL-3.0.0 solves GPL v3 license issues.</h3>
<p>Some Linux distributions such as Debian do not allow distribution of compiled GPL code linked to OpenSSL-1.1.1 because its “dual OpenSSL/SSLeay” license has some incompatibilities with GPL, unless all code authors have explicitly given an “exception” to allow such linking (the historical origins of UxPlay make this impossible to obtain). Other distributions treat OpenSSL as a “System Library” which the GPL allows linking to.</p>
@@ -32,6 +33,7 @@
<p>(Instructions for Debian/Ubuntu; adapt these for other Linuxes; for macOS, see below). See <a href="#troubleshooting">Troubleshooting</a> below for help with any difficulties.</p>
<p>Make sure that your distribution provides OpenSSL 1.1.1 or later, and libplist 2.0 or later. (This means Debian 10 “Buster”, Ubuntu 18.04 or later.) If it does not, you may need to build and install these from source (see below).</p>
<p>You need a C/C++ compiler (e.g. g++) with the standard development libraries installed. Make sure that cmake&gt;=3.4.1 and pkg-config are also installed: “sudo apt-get install cmake pkg-config”. In a terminal window, change directories to the source directory of the downloaded source code (“UxPlay-*”, “*” = “master” or the release tag for zipfile downloads, “UxPlay” for “git clone” downloads), then do</p>
<p><strong>Note:</strong> By default UxPlay will be built with optimization for the computer it is built on; when this is not the case, as when you are packaging for a distribution, use the cmake option <code>-DNO_MARCH_NATIVE=ON</code>.</p>
<ol type="1">
<li><code>sudo apt-get install libssl-dev libplist-dev</code> (unless you need to build OpenSSL and libplist from source).</li>
<li><code>sudo apt-get install libavahi-compat-libdnssd-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-libav gstreamer1.0-plugins-bad</code>.</li>

View File

@@ -6,13 +6,15 @@
Highlights:
* GPLv3, open source.
* Support for both AirPlay Mirror and AirPlay Audio-only (Apple Lossless ALAC) protocols from current iOS/iPadOS 15.2 client devices.
* Support for both AirPlay Mirror and AirPlay Audio-only (Apple Lossless ALAC) protocols f
from current iOS/iPadOS 15.2 client devices.
* macOS computers (2011 or later) can act either as AirPlay clients, or as the server running UxPlay (tested
on macOS 10.15 Catalina). Using AirPlay, UxPlay can emulate a second display for macOS clients.
* Support for older 32-bit iOS clients (such as iPad 2nd gen, iPhone 4S, when upgraded to iOS 9.3.5 or later), and also a Windows AirPlay-client
emulator, AirMyPC.
* Support for older 32-bit iOS clients (such as iPad 2nd gen, iPhone 4S, when upgraded to iOS 9.3.5 or later),
and a Windows AirPlay-client emulator, AirMyPC.
* Uses GStreamer, with options to select different output "videosinks" and "audiosinks".
* Support for server behind a firewall.
* **New**: Support for Raspberry Pi, with hardware video acceleration by Video4Linux2 (replacement for OpenMAX)
This project is a GPLv3 open source unix AirPlay2 Mirror server for Linux, macOS, and \*BSD.
It was initially developed by
@@ -78,16 +80,14 @@ This plugin should be used with the `-vd nvdec` (or nvh264dec) and `-vs glimages
* **GPU Support for Raspberry Pi**
Some Raspberry Pi models (e.g., model 4B) are powerful enough to run UxPlay, but work best with hardware-accelerated h264 decoding by
the Pi's Broadcom GPU; software decoding with combined uxplay options `-rpi -avdec` will work, but may (but not always) have unacceptable
latency. Raspberry Pi OS (Bullseye)
has recently abandoned the older omx (OpenMAX) GPU driver used by [RPiPlay](http://github.com/FD-/RPiPlay), and the corresponding
GStreamer plugin omxh264dec has been deprecated and broken for some time. The replacement is the Video4Linux (v4l2) plugin
v4l2h264dec from gstreamer1.0-plugins-good, which works well for playing mp4 files on the Pi. Unfortunately, features needed
by UxPlay are broken in current releases of this plugin, but are fixed as of the v1.21 development branch. See the
open [Issue](https://github.com/FDH2/UxPlay/issues/70) for a patch against the current stable release 1.20.0. The
UxPlay option `-rpi` by itself will use the Pi's GPU for video decoding with the patched plugin.
Raspberry Pi computers can run UxPlay with software decoding of h264 video (options `uxplay -rpi -avdec`) but this usually
has unacceptible latency, and hardware-accelerated decoding by the Pi's built-in Broadcom GPU should be used.
UxPlay's antecedent [RPiPlay](http://github.com/FD-/RPiPlay) was developed to use the 32-bit-only omx (OpenMAX) driver for this, but omx
has recently been declared obsolete and abandoned in "legacy" status by Raspberry Pi OS (Bullseye). The GStreamer plugin for its
replacement v4l2 (Video4Linux2) has until recently been unusable with UxPlay, but new fixes in the GStreamer
development branch have changed this. Backports (as patches) to GStreamer 1.18.4 (Bullseye) and 1.20.0 (Manjaro) are now
available [here](https://github.com/FDH2/UxPlay/issues/70), until distributions release them as updates, and work well with UxPlay,
using a new option `uxplay -rpi` (tested on R Pi model 4B)
### Note to packagers: OpenSSL-3.0.0 solves GPL v3 license issues.
@@ -125,6 +125,8 @@ Make sure that cmake>=3.4.1 and pkg-config are also installed: "sudo apt-get ins
In a terminal window, change directories to the source directory of the
downloaded source code ("UxPlay-\*", "\*" = "master" or the release tag for zipfile downloads, "UxPlay" for "git clone" downloads), then do
**Note:** By default UxPlay will be built with optimization for the computer it is built on; when this is
not the case, as when you are packaging for a distribution, use the cmake option `-DNO_MARCH_NATIVE=ON`.
1. `sudo apt-get install libssl-dev libplist-dev` (unless you need to build OpenSSL and libplist from source).
2. `sudo apt-get install libavahi-compat-libdnssd-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-libav gstreamer1.0-plugins-bad`.

View File

@@ -7,18 +7,20 @@ Highlights:
- GPLv3, open source.
- Support for both AirPlay Mirror and AirPlay Audio-only (Apple
Lossless ALAC) protocols from current iOS/iPadOS 15.2 client
Lossless ALAC) protocols f from current iOS/iPadOS 15.2 client
devices.
- macOS computers (2011 or later) can act either as AirPlay clients,
or as the server running UxPlay (tested on macOS 10.15 Catalina).
Using AirPlay, UxPlay can emulate a second display for macOS
clients.
- Support for older 32-bit iOS clients (such as iPad 2nd gen, iPhone
4S, when upgraded to iOS 9.3.5 or later), and also a Windows
4S, when upgraded to iOS 9.3.5 or later), and a Windows
AirPlay-client emulator, AirMyPC.
- Uses GStreamer, with options to select different output "videosinks"
and "audiosinks".
- Support for server behind a firewall.
- **New**: Support for Raspberry Pi, with hardware video acceleration
by Video4Linux2 (replacement for OpenMAX)
This project is a GPLv3 open source unix AirPlay2 Mirror server for
Linux, macOS, and \*BSD. It was initially developed by
@@ -102,23 +104,21 @@ uxplay options.
- **GPU Support for Raspberry Pi**
Some Raspberry Pi models (e.g., model 4B) are powerful enough to run
UxPlay, but work best with hardware-accelerated h264 decoding by the
Pi's Broadcom GPU; software decoding with combined uxplay options
`-rpi -avdec` will work, but may (but not always) have unacceptable
latency. Raspberry Pi OS (Bullseye) has recently abandoned the older
omx (OpenMAX) GPU driver used by
[RPiPlay](http://github.com/FD-/RPiPlay), and the corresponding
GStreamer plugin omxh264dec has been deprecated and broken for some
time. The replacement is the Video4Linux (v4l2) plugin v4l2h264dec
from gstreamer1.0-plugins-good, which works well for playing mp4
files on the Pi. Unfortunately, features needed by UxPlay are broken
in current releases of this plugin, but are fixed as of the v1.21
development branch. See the open
[Issue](https://github.com/FDH2/UxPlay/issues/70) for a patch
against the current stable release 1.20.0. The UxPlay option `-rpi`
by itself will use the Pi's GPU for video decoding with the patched
plugin.
Raspberry Pi computers can run UxPlay with software decoding of h264
video (options `uxplay -rpi -avdec`) but this usually has
unacceptible latency, and hardware-accelerated decoding by the Pi's
built-in Broadcom GPU should be used. UxPlay's antecedent
[RPiPlay](http://github.com/FD-/RPiPlay) was developed to use the
32-bit-only omx (OpenMAX) driver for this, but omx has recently been
declared obsolete and abandoned in "legacy" status by Raspberry Pi
OS (Bullseye). The GStreamer plugin for its replacement v4l2
(Video4Linux2) has until recently been unusable with UxPlay, but new
fixes in the GStreamer development branch have changed this.
Backports (as patches) to GStreamer 1.18.4 (Bullseye) and 1.20.0
(Manjaro) are now available
[here](https://github.com/FDH2/UxPlay/issues/70), until
distributions release them as updates, and work well with UxPlay,
using a new option `uxplay -rpi` (tested on R Pi model 4B)
### Note to packagers: OpenSSL-3.0.0 solves GPL v3 license issues.
@@ -167,6 +167,11 @@ window, change directories to the source directory of the downloaded
source code ("UxPlay-\*", "\*" = "master" or the release tag for zipfile
downloads, "UxPlay" for "git clone" downloads), then do
**Note:** By default UxPlay will be built with optimization for the
computer it is built on; when this is not the case, as when you are
packaging for a distribution, use the cmake option
`-DNO_MARCH_NATIVE=ON`.
1. `sudo apt-get install libssl-dev libplist-dev` (unless you need to
build OpenSSL and libplist from source).
2. `sudo apt-get install libavahi-compat-libdnssd-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-libav gstreamer1.0-plugins-bad`.