mirror of
https://github.com/morgan9e/UxPlay
synced 2026-04-14 00:04:13 +09:00
update README with R Pi news
This commit is contained in:
@@ -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 NVIDIA’s 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 Pi’s 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 Pi’s 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 Pi’s built-in Broadcom GPU should be used. UxPlay’s 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>=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>
|
||||
|
||||
28
README.md
28
README.md
@@ -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`.
|
||||
|
||||
43
README.txt
43
README.txt
@@ -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`.
|
||||
|
||||
Reference in New Issue
Block a user