edited README

This commit is contained in:
fduncanh
2022-03-12 03:29:27 -05:00
parent 5efcf019bd
commit 41f5356e5f
3 changed files with 18 additions and 6 deletions

View File

@@ -150,7 +150,7 @@
<h1 id="improvements">Improvements</h1>
<ol type="1">
<li><p>Updates of the RAOP (AirPlay protocol) collection of codes maintained at https://github.com/FD-/RPiPlay.git so it is current as of 2021-08-01, adding all changes since the original release of UxPlay by antimof. This involved crypto updates, replacement of the included plist library by the system-installed version, and a change over to a library llhttp for http parsing.</p></li>
<li><p>Added the -s, -o -p, -m, -r, -f, -fps -vs -as and -t options.</p></li>
<li><p>Added -s, -o -p, -m, -r, -f, -fps, -vs, -as and -t options.</p></li>
<li><p>If “<code>cmake -DZOOMFIX=ON .</code>” is run before compiling, the mirrored window is now visible to screen-sharing applications such as Zoom. (This applies only to X11 windows produced by videosinks <code>ximagesink</code> and <code>xvimagesink</code>, which are often selected by default.) To compile with ZOOMFIX=ON, the X11 development libraries must be installed. <em>(ZOOMFIX will not be needed once the upcoming gstreamer-1.20 is available, since starting with that release, the GStreamer X11 mirror window will be natively visible for screen-sharing, but it make take some time for distributions to supply this version.)</em> Thanks to David Ventura https://github.com/DavidVentura/UxPlay for the fix and also for getting it into gstreamer-1.20. [If uxplay was compiled after cmake was run without -DZOOMFIX=ON, and your gstreamer version is older than 1.20, you can still manually make the X11 window visible to screen-sharing apps with the X11 utility xdotool, if it is installed, with: <code>xdotool selectwindow set_window --name &lt;name&gt;</code> (where <code>&lt;name&gt;</code> is your choice of name), and then select the uxplay window by clicking on it with the mouse.]</p></li>
<li><p>The AirPlay server now terminates correctly when the gstreamer display window is closed, and is relaunched with the same settings to wait for a new connection. The program uxplay terminates when Ctrl-C is typed in the terminal window. The <strong>-t <em>timeout</em></strong> option relaunches the server after <em>timeout</em> seconds of inactivity to allow new connections to be made.</p></li>
<li><p>In principle, multiple instances of uxplay can be run simultaneously using the <strong>-m</strong> (generate random MAC address) option to give each a different (“local” as opposed to “universal”) MAC address. If the <strong>-p [n]</strong> option is used, they also need separate network port choices. (However, there may be a large latency, and running two instances of uxplay simultaneously on the same computer may not be very useful; using the <strong>-fps</strong> option to force streaming framerates below 30fps could be helpful.)</p></li>
@@ -162,6 +162,8 @@
<li><p>The hostname of the server running uxplay is now appended to the AirPlay server name, which is now displayed as <em>name</em>@hostname, where <em>name</em> is “UxPlay”, (or whatever is set with the <strong>-n</strong> option).</p></li>
<li><p>Added support for audio-only streaming with original (non-Mirror) AirPlay protocol, with Apple Lossless (ALAC) audio.</p></li>
<li><p>Added suppport for the older AirPlay protocol used by third-party Windows-based AirPlay mirror emulators such as AirMyPC.</p></li>
<li><p>Made the video pipeline fully configurable with options -vp, -vd, -vc, for accelerated hardware support (e.g. NVIDIA).</p></li>
<li><p>Added Raspberry Pi support (accelerated hardware decoding) with -rpi option.</p></li>
</ol>
<h1 id="disclaimer">Disclaimer</h1>
<p>All the resources in this repository are written using only freely available information from the internet. The code and related resources are meant for educational purposes only. It is the responsibility of the user to make sure all local laws are adhered to.</p>
@@ -174,7 +176,7 @@
<ul>
<li><strong>EstebanKubata</strong>: Created a FairPlay library called <a href="https://github.com/EstebanKubata/playfair">PlayFair</a>. Located in the <code>lib/playfair</code> folder. License: GNU GPL</li>
<li><strong>Juho Vähä-Herttua</strong> and contributors: Created an AirPlay audio server called <a href="https://github.com/juhovh/shairplay">ShairPlay</a>, including support for Fairplay based on PlayFair. Most of the code in <code>lib/</code> originally stems from this project. License: GNU LGPLv2.1+</li>
<li><strong>dsafa22</strong>: Created an AirPlay 2 mirroring server <a href="https://github.com/dsafa22/AirplayServer">AirplayServer</a> (seems gone now), for Android based on ShairPlay. Code is preserved <a href="https://github.com/KqSMea8/AirplayServer">here</a>, and <a href="https://github.com/FDH2/UxPlay/wiki/AirPlay2">see here</a> for the description of the analysis of the AirPlay 2 mirror protocol that made RPiPlay possible, by the AirplayServer author. All code in <code>lib/</code> concerning mirroring is dsafa22s work. License: GNU LGPLv2.1+</li>
<li><strong>dsafa22</strong>: Created an AirPlay 2 mirroring server <a href="https://github.com/dsafa22/AirplayServer">AirplayServer</a> (seems gone now), for Android based on ShairPlay. Code is preserved <a href="https://github.com/jiangban/AirplayServer">here</a>, and <a href="https://github.com/FDH2/UxPlay/wiki/AirPlay2">see here</a> for the description of the analysis of the AirPlay 2 mirror protocol that made RPiPlay possible, by the AirplayServer author. All code in <code>lib/</code> concerning mirroring is dsafa22s work. License: GNU LGPLv2.1+</li>
<li><strong>Florian Draschbacher</strong> and contributors: adapted dsafa22s Android project for the Raspberry Pi, with extensive cleanups, debugging and improvements. The project <a href="https://github.com/FD-/RPiPlay">RPiPlay</a> is basically a port of dsafa22s code to the Raspberry Pi, utilizing OpenMAX and OpenSSL for better performance on the Pi. License GPL v3.</li>
</ul>
<p>Independent of UxPlay, but used by it and bundled with it:</p>

View File

@@ -605,7 +605,7 @@ This involved crypto updates, replacement
of the included plist library by the system-installed version, and a change
over to a library llhttp for http parsing.
2. Added the -s, -o -p, -m, -r, -f, -fps -vs -as and -t options.
2. Added -s, -o -p, -m, -r, -f, -fps, -vs, -as and -t options.
3. If "`cmake -DZOOMFIX=ON .`" is run before compiling,
the mirrored window is now visible to screen-sharing applications such as
@@ -670,6 +670,10 @@ is compiled.) On macOS, Avahi is not used.
13. Added suppport for the older AirPlay protocol used by third-party Windows-based AirPlay mirror emulators such as AirMyPC.
14. Made the video pipeline fully configurable with options -vp, -vd, -vc, for accelerated hardware support (e.g. NVIDIA).
15. Added Raspberry Pi support (accelerated hardware decoding) with -rpi option.
# Disclaimer
All the resources in this repository are written using only freely available information from the internet. The code and related resources are meant for educational purposes only. It is the responsibility of the user to make sure all local laws are adhered to.
@@ -693,7 +697,7 @@ Desktop Linux (antimof's work on code in `renderers/` was later backported to RP
* **EstebanKubata**: Created a FairPlay library called [PlayFair](https://github.com/EstebanKubata/playfair). Located in the `lib/playfair` folder. License: GNU GPL
* **Juho Vähä-Herttua** and contributors: Created an AirPlay audio server called [ShairPlay](https://github.com/juhovh/shairplay), including support for Fairplay based on PlayFair. Most of the code in `lib/` originally stems from this project. License: GNU LGPLv2.1+
* **dsafa22**: Created an AirPlay 2 mirroring server [AirplayServer](https://github.com/dsafa22/AirplayServer) (seems gone now), for Android based on ShairPlay. Code is
preserved [here](https://github.com/KqSMea8/AirplayServer), and [see here](https://github.com/FDH2/UxPlay/wiki/AirPlay2) for the description
preserved [here](https://github.com/jiangban/AirplayServer), and [see here](https://github.com/FDH2/UxPlay/wiki/AirPlay2) for the description
of the analysis of the AirPlay 2 mirror protocol that made RPiPlay possible, by the AirplayServer author. All
code in `lib/` concerning mirroring is dsafa22's work. License: GNU LGPLv2.1+
* **Florian Draschbacher** and contributors: adapted dsafa22's Android project for the Raspberry Pi, with extensive cleanups, debugging and improvements. The

View File

@@ -800,7 +800,7 @@ Improvements
included plist library by the system-installed version, and a change
over to a library llhttp for http parsing.
2. Added the -s, -o -p, -m, -r, -f, -fps -vs -as and -t options.
2. Added -s, -o -p, -m, -r, -f, -fps, -vs, -as and -t options.
3. If "`cmake -DZOOMFIX=ON .`" is run before compiling, the mirrored
window is now visible to screen-sharing applications such as Zoom.
@@ -878,6 +878,12 @@ Improvements
13. Added suppport for the older AirPlay protocol used by third-party
Windows-based AirPlay mirror emulators such as AirMyPC.
14. Made the video pipeline fully configurable with options -vp, -vd,
-vc, for accelerated hardware support (e.g. NVIDIA).
15. Added Raspberry Pi support (accelerated hardware decoding) with -rpi
option.
Disclaimer
==========
@@ -922,7 +928,7 @@ code included in UxPlay by inheritance from RPiPlay include:
- **dsafa22**: Created an AirPlay 2 mirroring server
[AirplayServer](https://github.com/dsafa22/AirplayServer) (seems
gone now), for Android based on ShairPlay. Code is preserved
[here](https://github.com/KqSMea8/AirplayServer), and [see
[here](https://github.com/jiangban/AirplayServer), and [see
here](https://github.com/FDH2/UxPlay/wiki/AirPlay2) for the
description of the analysis of the AirPlay 2 mirror protocol that
made RPiPlay possible, by the AirplayServer author. All code in