mirror of
https://github.com/morgan9e/UxPlay
synced 2026-04-14 00:04:13 +09:00
informational/README updates; adjust uxplay.spec for OpenMandriva
This commit is contained in:
113
README.html
113
README.html
@@ -46,21 +46,21 @@ systems through AUR.</p></li>
|
||||
packaged UxPlay, a RPM “specfile” <strong>uxplay.spec</strong> is now
|
||||
provided with recent <a
|
||||
href="https://github.com/FDH2/UxPlay/releases">releases</a> (see their
|
||||
“Assets”), and can also be found in the UxPlay source top directory. To
|
||||
build a RPM package, install rpmdevtools, create a rpmbuild tree with
|
||||
“<code>rpmdev-setuptree</code>”, and copy uxplay.spec into
|
||||
<code>~/rpmbuild/SPECS</code>. In that directory, run
|
||||
“<code>spectool -g uxplay.spec</code>” (spectool may also be called
|
||||
“rpmdev-spectool”) to download the corresponding source file
|
||||
<code>uxplay-*.tar.gz</code>, which should then be moved into
|
||||
<code>~/rpmbuild/SOURCES</code>; then run
|
||||
“<code>rpmbuild -ba uxplay.spec</code>” (you will need to install any
|
||||
required dependencies this reports). This should create an installable
|
||||
uxplay RPM package in a subdirectory of <code>~/rpmbuild/RPMS</code>.
|
||||
(<strong>uxplay.spec</strong> is tested on Fedora 38, Rocky Linux 9.2,
|
||||
OpenSUSE Leap 15.5, Mageia 9, OpenMandriva, pclinuxos; it can be easily
|
||||
modified to include dependency lists for other RPM-based
|
||||
distributions.)</p></li>
|
||||
“Assets”), and can also be found in the UxPlay source top directory.
|
||||
This can be used to build an installable RPM package. First-time RPM
|
||||
builders should first install the rpm-build and rpmdevtools packages,
|
||||
then create the rpmbuild tree with “<code>rpmdev-setuptree</code>”. Then
|
||||
download and copy uxplay.spec into <code>~/rpmbuild/SPECS</code>. In
|
||||
that directory, run “<code>rpmdev-spectool -g -R uxplay.spec</code>” to
|
||||
download the corresponding source file <code>uxplay-*.tar.gz</code> into
|
||||
<code>~/rpmbuild/SOURCES</code> (“rpmdev-spectool” may also be just
|
||||
called “spectool”); then run “<code>rpmbuild -ba uxplay.spec</code>”
|
||||
(you will need to install any required dependencies this reports). This
|
||||
should create the uxplay RPM package in a subdirectory of
|
||||
<code>~/rpmbuild/RPMS</code>. (<strong>uxplay.spec</strong> is tested on
|
||||
Fedora 38, Rocky Linux 9.2, openSUSE Leap 15.5, Mageia 9, OpenMandriva,
|
||||
PCLinuxOS; it can be easily modified to include dependency lists for
|
||||
other RPM-based distributions.)</p></li>
|
||||
<li><p>On Linux and *BSD the mDNS/DNS-SD (Bonjour/ZeroConf) local
|
||||
network services needed by UxPlay are usually provided by Avahi:
|
||||
<strong>if there is a firewall on the server that will host UxPlay, make
|
||||
@@ -102,10 +102,11 @@ posts updates pulled from the new main <a
|
||||
href="https://github.com/FDH2/UxPlay">UxPlay site</a>).</p>
|
||||
<p>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),
|
||||
Mageia 9, OpenMandriva “ROME”, openSUSE 15.5, Arch Linux 23.05, macOS
|
||||
13.3 (Intel and M2), FreeBSD 13.2, Windows 10 and 11 (64 bit).</p>
|
||||
22.04 LTS, 23.04 (also Ubuntu derivatives Linux Mint, Pop!_OS), Red Hat
|
||||
and clones (Fedora 38, Rocky Linux 9.2), openSUSE Leap 15.5, Mageia 9,
|
||||
OpenMandriva “ROME”, PCLinuxOS, Arch Linux, Manjaro, and should run on
|
||||
any Linux system. Also tested on macOS 13.3 (Intel and M2), FreeBSD
|
||||
13.2, Windows 10 and 11 (64 bit).</p>
|
||||
<p>On Raspberry Pi 4 model B, 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.5. Also tested on
|
||||
@@ -314,8 +315,9 @@ GStreamer plugins must first be installed).</p>
|
||||
Linux and *BSD</h3>
|
||||
<p><strong>For those with RPM-based distributions, a RPM spec file
|
||||
uxplay.spec is also available for building a rpm package with
|
||||
rpmbuild</strong> (tested on Fedora 38, Rocky Linux 9.2 (RHEL clone),
|
||||
OpenSUSE 15.5, and Mageia 9; see “Packaging Status” section)</p>
|
||||
rpmbuild</strong>. See <a
|
||||
href="#packaging-status-linux-and-bsd-distributions">“Packaging
|
||||
Status”</a> section above.</p>
|
||||
<ul>
|
||||
<li><p><strong>Red Hat, or clones like CentOS (now continued as Rocky
|
||||
Linux or Alma Linux):</strong> (sudo dnf install, or sudo yum install)
|
||||
@@ -323,11 +325,11 @@ openssl-devel libplist-devel avahi-compat-libdns_sd-devel
|
||||
gstreamer1-devel gstreamer1-plugins-base-devel (+libX11-devel for
|
||||
fullscreen X11) <em>(some of these may be in the “CodeReady” add-on
|
||||
repository, called “PowerTools” by clones)</em></p></li>
|
||||
<li><p><strong>Mageia, pclinuxos, OpenMandriva:</strong> Same as Red
|
||||
<li><p><strong>Mageia, PCLinuxOS, OpenMandriva:</strong> Same as Red
|
||||
Hat, except for name changes: (Mageia) “gstreamer1.0-devel”,
|
||||
“gstreamer-plugins-base1.0-devel”; (OpenMandriva) “libopenssl-devel”,
|
||||
“gstreamer-devel”, “libgst-plugins-base1.0-devel”. pclinuxos: same as
|
||||
Mageia, but uses synaptic (or apt) as its package manager</p></li>
|
||||
“gstreamer-devel”, “libgst-plugins-base1.0-devel”. PCLinuxOS: same as
|
||||
Mageia, but uses synaptic (or apt) as its package manager.</p></li>
|
||||
<li><p><strong>openSUSE:</strong> (sudo zypper install)
|
||||
libopenssl-3-devel (formerly libopenssl-devel) libplist-2_0-devel
|
||||
(formerly libplist-devel) avahi-compat-mDNSResponder-devel
|
||||
@@ -380,32 +382,30 @@ is not provided in the official distribution: get it from community
|
||||
repositories for those distributions.</p>
|
||||
<ul>
|
||||
<li><p><strong>Red Hat, or clones like CentOS (now continued as Rocky
|
||||
Linux or Alma Linux):</strong> (sudo dnf install, or sudo yum install)
|
||||
gstreamer1-libav gstreamer1-plugins-bad-free (+ gstreamer1-vaapi for
|
||||
Intel/AMD graphics). In recent Fedora, gstreamer1-libav is renamed
|
||||
gstreamer1-plugin-libav. <strong>To get avdec_aac, install packages from
|
||||
<a href="https://rpmfusion.org">rpmfusion.org</a></strong>: (get
|
||||
Linux or Alma Linux):</strong> Install gstreamer1-libav
|
||||
gstreamer1-plugins-bad-free (+ gstreamer1-vaapi for Intel/AMD graphics).
|
||||
In recent Fedora, gstreamer1-libav is renamed gstreamer1-plugin-libav.
|
||||
<strong>To get avdec_aac, install packages from <a
|
||||
href="https://rpmfusion.org">rpmfusion.org</a></strong>: (get
|
||||
ffmpeg-libs from rpmfusion; on RHEL or clones, but not recent Fedora,
|
||||
also get gstreamer1-libav from there).</p></li>
|
||||
<li><p><strong>Mageia, pclinuxos, OpenMandriva:</strong> (sudo dnf
|
||||
install, or sudo yum install) gstreamer1.0-libav
|
||||
gstreamer1.0-plugins-bad (+ gstreamer1.0-vaapi for Intel/AMD graphics).
|
||||
<strong>On Mageia, to get avdec_aac, install ffmpeg from the “tainted”
|
||||
repository</strong>, (which also provides a more complete
|
||||
gstreamer1.0-plugins-bad). pclinuxos: same as Mageia, but uses synaptic
|
||||
(or apt) as its package manager.</p></li>
|
||||
<li><p><strong>openSUSE:</strong> (sudo zypper install)
|
||||
gstreamer-plugins-libav gstreamer-plugins-bad (+ gstreamer-plugins-vaapi
|
||||
for Intel/AMD graphics). <strong>To get avdec_aac, install libav*
|
||||
packages for openSUSE from <a
|
||||
<li><p><strong>Mageia, PCLinuxOS, OpenMandriva:</strong> Install
|
||||
gstreamer1.0-libav gstreamer1.0-plugins-bad (+ gstreamer1.0-vaapi for
|
||||
Intel/AMD graphics). <strong>On Mageia, to get avdec_aac, install ffmpeg
|
||||
from the “tainted” repository</strong>, (which also provides a more
|
||||
complete gstreamer1.0-plugins-bad).</p></li>
|
||||
<li><p><strong>openSUSE:</strong> Install gstreamer-plugins-libav
|
||||
gstreamer-plugins-bad (+ gstreamer-plugins-vaapi for Intel/AMD
|
||||
graphics). <strong>To get avdec_aac, install libav* packages for
|
||||
openSUSE from <a
|
||||
href="https://ftp.gwdg.de/pub/linux/misc/packman/suse/">Packman</a>
|
||||
“Essentials”</strong>; recommendation: after adding the Packman
|
||||
repository, use the option in YaST Software management to switch all
|
||||
system packages for multimedia to Packman).</p></li>
|
||||
<li><p><strong>Arch Linux</strong> (sudo pacman -Syu) gst-plugins-good
|
||||
<li><p><strong>Arch Linux</strong> Install gst-plugins-good
|
||||
gst-plugins-bad gst-libav (+ gstreamer-vaapi for Intel/AMD
|
||||
graphics).</p></li>
|
||||
<li><p><strong>FreeBSD:</strong> (sudo pkg install) gstreamer1-libav,
|
||||
<li><p><strong>FreeBSD:</strong> Install gstreamer1-libav,
|
||||
gstreamer1-plugins, gstreamer1-plugins-* (* = core, good, bad, x, gtk,
|
||||
gl, vulkan, pulse, v4l2, …), (+ gstreamer1-vaapi for Intel/AMD
|
||||
graphics).</p></li>
|
||||
@@ -729,14 +729,13 @@ compiler.</h2>
|
||||
</ul>
|
||||
<ol type="1">
|
||||
<li><p>Download and install <strong>Bonjour SDK for Windows
|
||||
v3.0</strong> from the official Apple site <a
|
||||
href="https://developer.apple.com/download/all/?q=Bonjour%20SDK%20for%20Windows">https://developer.apple.com/download</a>.
|
||||
(Apple makes you register as a developer to access it; if you do not
|
||||
want to go through the registration process, you can download the SDK
|
||||
without any registration at <a
|
||||
href="https://www.softpedia.com/get/Programming/SDK-DDK/Bonjour-SDK.shtml">softpedia.com</a>.)
|
||||
v3.0</strong>. You can download the SDK without any registration at <a
|
||||
href="https://www.softpedia.com/get/Programming/SDK-DDK/Bonjour-SDK.shtml">softpedia.com</a>,
|
||||
or get it from the official Apple site <a
|
||||
href="https://developer.apple.com/download/all/?q=Bonjour%20SDK%20for%20Windows">https://developer.apple.com/download</a>
|
||||
(Apple makes you register as a developer to access it from their site).
|
||||
This should install the Bonjour SDK as
|
||||
<code>C:\Program Files\Bonjour SDK</code></p></li>
|
||||
<code>C:\Program Files\Bonjour SDK</code>.</p></li>
|
||||
<li><p>(This is for 64-bit Windows; a build for 32-bit Windows should be
|
||||
possible, but is not tested.) The unix-like MSYS2 build environment will
|
||||
be used: download and install MSYS2 from the official site <a
|
||||
@@ -839,6 +838,13 @@ environment, in the Windows Terminal, with
|
||||
<code>C:\msys64\mingw64\bin\uxplay</code>.</p>
|
||||
<h1 id="usage">Usage</h1>
|
||||
<p>Options:</p>
|
||||
<ul>
|
||||
<li>These can also be written (one option per line, without the initial
|
||||
“<code>-</code>” character) in the UxPlay startup file (either given by
|
||||
environment variable <code>$UXPLAYRC</code>, or <code>~/.uxplayrc</code>
|
||||
or <code>~/.config/uxplayrc</code>). Command line options supersede
|
||||
options in the startup file.</li>
|
||||
</ul>
|
||||
<p><strong>-n server_name</strong> (Default: UxPlay);
|
||||
server_name@_hostname_ will be the name that appears offering AirPlay
|
||||
services to your iPad, iPhone etc, where <em>hostname</em> is the name
|
||||
@@ -975,8 +981,8 @@ playing of streamed audio, but displays streamed video.</p>
|
||||
in (decimal) seconds in Audio-only (ALAC), that is reported to the
|
||||
client. Values in the range [0.0, 10.0] seconds are allowed, and will be
|
||||
converted to a whole number of microseconds. Default is 0.25 sec (250000
|
||||
usec). (This replaces the <code>-ao</code> option introduced in v1.62,
|
||||
as a workaround for a problem that is now fixed).</p>
|
||||
usec). <em>(However, the client appears to ignore this reported latency,
|
||||
so this option seems non-functional.)</em></p>
|
||||
<p><strong>-ca <em>filename</em></strong> provides a file (where
|
||||
<em>filename</em> can include a full path) used for output of “cover
|
||||
art” (from Apple Music, <em>etc.</em>,) in audio-only ALAC mode. This
|
||||
@@ -1360,11 +1366,12 @@ an AppleTV6,2 with sourceVersion 380.20.1 (an AppleTV 4K 1st gen,
|
||||
introduced 2017, running tvOS 12.2.1), so it does not seem to matter
|
||||
what UxPlay claims to be.</p>
|
||||
<h1 id="changelog">Changelog</h1>
|
||||
<p>1.65.3 2023-07-23 Add RPM spec file; add graceful exit if required
|
||||
<p>1.65.3 2023-07-23 Add RPM spec file; add warning if required
|
||||
gstreamer libav feature “avdec_aac” is missing: (this occurs in
|
||||
RPM-based distributions that ship an incomplete FFmpeg for Patent or
|
||||
License reasons, and rely on users installing an externally-supplied
|
||||
complete FFmpeg).</p>
|
||||
complete FFmpeg). Mirror-mode airplay will now work without audio if
|
||||
avdec_aac is missing.</p>
|
||||
<p>1.65 2023-06-03 Eliminate pair_setup part of connection protocol to
|
||||
allow faster connections with clients (thanks to <span class="citation"
|
||||
data-cites="shuax">@shuax</span> #176 for this discovery); to revert,
|
||||
|
||||
69
README.md
69
README.md
@@ -31,12 +31,14 @@
|
||||
available on Arch-based systems through AUR.
|
||||
|
||||
* **NEW**: while no RPM-based distributions have yet packaged UxPlay, a RPM "specfile" **uxplay.spec** is now provided with recent
|
||||
[releases](https://github.com/FDH2/UxPlay/releases) (see their "Assets"), and can also be found in the UxPlay source top directory. To
|
||||
build a RPM package, install rpmdevtools, create a rpmbuild tree with "`rpmdev-setuptree`", and copy uxplay.spec into ``~/rpmbuild/SPECS``.
|
||||
In that directory, run "`spectool -g uxplay.spec`" (spectool may also be called "rpmdev-spectool") to download the corresponding source file `uxplay-*.tar.gz`, which should then be
|
||||
moved into ``~/rpmbuild/SOURCES``; then run "```rpmbuild -ba uxplay.spec```" (you will need to install
|
||||
any required dependencies this reports). This should create an installable uxplay RPM package in a subdirectory of `~/rpmbuild/RPMS`.
|
||||
(**uxplay.spec** is tested on Fedora 38, Rocky Linux 9.2, OpenSUSE Leap 15.5, Mageia 9, OpenMandriva, pclinuxos;
|
||||
[releases](https://github.com/FDH2/UxPlay/releases) (see their "Assets"), and can also be found in the UxPlay source top directory.
|
||||
This can be used to build an installable RPM package. First-time RPM builders should first install the rpm-build and rpmdevtools packages,
|
||||
then create the rpmbuild tree with "`rpmdev-setuptree`". Then download and
|
||||
copy uxplay.spec into ``~/rpmbuild/SPECS``. In that directory, run "`rpmdev-spectool -g -R uxplay.spec`" to download the corresponding
|
||||
source file `uxplay-*.tar.gz` into ``~/rpmbuild/SOURCES`` ("rpmdev-spectool" may also be just called "spectool"); then
|
||||
run "```rpmbuild -ba uxplay.spec```" (you will need to install
|
||||
any required dependencies this reports). This should create the uxplay RPM package in a subdirectory of `~/rpmbuild/RPMS`.
|
||||
(**uxplay.spec** is tested on Fedora 38, Rocky Linux 9.2, openSUSE Leap 15.5, Mageia 9, OpenMandriva, PCLinuxOS;
|
||||
it can be easily modified to include dependency lists for other RPM-based distributions.)
|
||||
|
||||
* On Linux and \*BSD the mDNS/DNS-SD (Bonjour/ZeroConf) local network services needed by UxPlay are usually provided by Avahi: **if
|
||||
@@ -57,7 +59,6 @@ that accesses the firmware decoder in the Broadcom GPU)_.
|
||||
* To (easily) compile the latest UxPlay from source, see the section [Getting UxPlay](#getting-uxplay).
|
||||
|
||||
# Detailed description of UxPlay
|
||||
|
||||
This project is a GPLv3 open source unix AirPlay2 Mirror server for Linux, macOS, and \*BSD.
|
||||
It was initially developed by
|
||||
[antimof](http://github.com/antimof/Uxplay) using code
|
||||
@@ -69,9 +70,9 @@ development, but periodically posts updates pulled from the new
|
||||
main [UxPlay site](https://github.com/FDH2/UxPlay)).
|
||||
|
||||
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), Mageia 9, OpenMandriva "ROME", openSUSE 15.5, Arch Linux 23.05, macOS 13.3 (Intel and M2),
|
||||
FreeBSD 13.2, Windows 10 and 11 (64 bit).
|
||||
Ubuntu (20.04 LTS, 22.04 LTS, 23.04 (also Ubuntu derivatives Linux Mint, Pop!\_OS), Red Hat and clones (Fedora 38,
|
||||
Rocky Linux 9.2), openSUSE Leap 15.5, Mageia 9, OpenMandriva "ROME", PCLinuxOS, Arch Linux, Manjaro, and should run on any Linux system.
|
||||
Also tested on 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 LTS and 23.04, Manjaro RPi4 23.02,
|
||||
and (without hardware video decoding) on openSUSE 15.5. Also tested on Raspberry Pi 3 model B+.
|
||||
@@ -253,8 +254,7 @@ the GStreamer plugins must first be installed).
|
||||
|
||||
### Building on non-Debian Linux and \*BSD
|
||||
**For those with RPM-based distributions, a RPM spec file uxplay.spec is also available for
|
||||
building a rpm package with rpmbuild** (tested on Fedora 38, Rocky Linux 9.2 (RHEL clone),
|
||||
OpenSUSE 15.5, and Mageia 9; see "Packaging Status" section)
|
||||
building a rpm package with rpmbuild**. See ["Packaging Status"](#packaging-status-linux-and-bsd-distributions) section above.
|
||||
|
||||
|
||||
* **Red Hat, or clones like CentOS (now continued as Rocky Linux or Alma Linux):**
|
||||
@@ -262,10 +262,10 @@ OpenSUSE 15.5, and Mageia 9; see "Packaging Status" section)
|
||||
gstreamer1-devel gstreamer1-plugins-base-devel (+libX11-devel for fullscreen X11) _(some of these
|
||||
may be in the "CodeReady" add-on repository, called "PowerTools" by clones)_
|
||||
|
||||
* **Mageia, pclinuxos, OpenMandriva:**
|
||||
* **Mageia, PCLinuxOS, OpenMandriva:**
|
||||
Same as Red Hat, except for name changes: (Mageia) "gstreamer1.0-devel", "gstreamer-plugins-base1.0-devel";
|
||||
(OpenMandriva) "libopenssl-devel", "gstreamer-devel", "libgst-plugins-base1.0-devel". pclinuxos: same as Mageia,
|
||||
but uses synaptic (or apt) as its package manager
|
||||
(OpenMandriva) "libopenssl-devel", "gstreamer-devel", "libgst-plugins-base1.0-devel". PCLinuxOS: same as Mageia,
|
||||
but uses synaptic (or apt) as its package manager.
|
||||
|
||||
* **openSUSE:**
|
||||
(sudo zypper install) libopenssl-3-devel (formerly
|
||||
@@ -310,31 +310,29 @@ In some cases, because of patent issues,
|
||||
the libav plugin feature **avdec_aac** needed for decoding AAC audio in mirror mode is not provided in the official distribution:
|
||||
get it from community repositories for those distributions.
|
||||
|
||||
* **Red Hat, or clones like CentOS (now continued as Rocky Linux or Alma Linux):**
|
||||
(sudo dnf install, or sudo yum install) gstreamer1-libav gstreamer1-plugins-bad-free (+ gstreamer1-vaapi
|
||||
* **Red Hat, or clones like CentOS (now continued as Rocky Linux or Alma Linux):**
|
||||
Install gstreamer1-libav gstreamer1-plugins-bad-free (+ gstreamer1-vaapi
|
||||
for Intel/AMD graphics). In recent Fedora, gstreamer1-libav is renamed gstreamer1-plugin-libav.
|
||||
**To get avdec_aac, install packages from [rpmfusion.org](https://rpmfusion.org)**: (get ffmpeg-libs from rpmfusion;
|
||||
on RHEL or clones, but not recent Fedora, also get gstreamer1-libav from there).
|
||||
|
||||
* **Mageia, pclinuxos, OpenMandriva:**
|
||||
(sudo dnf install, or sudo yum install) gstreamer1.0-libav gstreamer1.0-plugins-bad (+ gstreamer1.0-vaapi
|
||||
* **Mageia, PCLinuxOS, OpenMandriva:**
|
||||
Install gstreamer1.0-libav gstreamer1.0-plugins-bad (+ gstreamer1.0-vaapi
|
||||
for Intel/AMD graphics). **On Mageia, to get avdec_aac, install ffmpeg from the "tainted" repository**,
|
||||
(which also provides a more complete gstreamer1.0-plugins-bad). pclinuxos: same as Mageia, but uses synaptic
|
||||
(or apt) as its package manager.
|
||||
(which also provides a more complete gstreamer1.0-plugins-bad).
|
||||
|
||||
* **openSUSE:**
|
||||
(sudo zypper install)
|
||||
gstreamer-plugins-libav gstreamer-plugins-bad (+ gstreamer-plugins-vaapi
|
||||
* **openSUSE:**
|
||||
Install gstreamer-plugins-libav gstreamer-plugins-bad (+ gstreamer-plugins-vaapi
|
||||
for Intel/AMD graphics). **To get avdec_aac, install libav\* packages for openSUSE
|
||||
from [Packman](https://ftp.gwdg.de/pub/linux/misc/packman/suse/) "Essentials"**; recommendation: after adding the
|
||||
Packman repository, use the option in YaST Software management to switch
|
||||
all system packages for multimedia to Packman).
|
||||
|
||||
* **Arch Linux**
|
||||
(sudo pacman -Syu) gst-plugins-good gst-plugins-bad gst-libav (+ gstreamer-vaapi
|
||||
Install gst-plugins-good gst-plugins-bad gst-libav (+ gstreamer-vaapi
|
||||
for Intel/AMD graphics).
|
||||
|
||||
* **FreeBSD:** (sudo pkg install) gstreamer1-libav, gstreamer1-plugins, gstreamer1-plugins-*
|
||||
* **FreeBSD:** Install gstreamer1-libav, gstreamer1-plugins, gstreamer1-plugins-*
|
||||
(\* = core, good, bad, x, gtk, gl, vulkan, pulse, v4l2, ...), (+ gstreamer1-vaapi for Intel/AMD graphics).
|
||||
|
||||
|
||||
@@ -570,12 +568,10 @@ seems fragile against attempts to change the X11 window size, or to rotations th
|
||||
|
||||
* tested on Windows 10 and 11, 64-bit.
|
||||
|
||||
1. Download and install **Bonjour SDK for Windows v3.0** from the official Apple site
|
||||
[https://developer.apple.com/download](https://developer.apple.com/download/all/?q=Bonjour%20SDK%20for%20Windows). (Apple
|
||||
makes you register as a developer to access it; if you do not want to go through the registration process, you can download
|
||||
the SDK without any registration at [softpedia.com](https://www.softpedia.com/get/Programming/SDK-DDK/Bonjour-SDK.shtml).)
|
||||
This should install the Bonjour SDK as `C:\Program Files\Bonjour SDK`
|
||||
|
||||
1. Download and install **Bonjour SDK for Windows v3.0**. You can download the SDK without any registration
|
||||
at [softpedia.com](https://www.softpedia.com/get/Programming/SDK-DDK/Bonjour-SDK.shtml), or get it from the official Apple
|
||||
site [https://developer.apple.com/download](https://developer.apple.com/download/all/?q=Bonjour%20SDK%20for%20Windows) (Apple makes
|
||||
you register as a developer to access it from their site). This should install the Bonjour SDK as `C:\Program Files\Bonjour SDK`.
|
||||
|
||||
2. (This is for 64-bit Windows; a build for 32-bit Windows should be possible, but is not tested.) The
|
||||
unix-like MSYS2 build environment will be used: download and install MSYS2 from the official
|
||||
@@ -665,6 +661,9 @@ the Windows Terminal, with `C:\msys64\mingw64\bin\uxplay`.
|
||||
|
||||
Options:
|
||||
|
||||
* These can also be written (one option per line, without the initial "`-`" character) in the UxPlay startup file (either given by
|
||||
environment variable `$UXPLAYRC`, or ``~/.uxplayrc`` or ```~/.config/uxplayrc```). Command line options supersede options in the startup file.
|
||||
|
||||
**-n server_name** (Default: UxPlay); server_name@_hostname_ will be the name that appears offering
|
||||
AirPlay services to your iPad, iPhone etc, where _hostname_ is the name of the server running uxplay.
|
||||
This will also now be the name shown above the mirror display (X11) window.
|
||||
@@ -784,8 +783,7 @@ which will not work if a firewall is running.
|
||||
|
||||
**-al _x_** specifies an audio latency _x_ in (decimal) seconds in Audio-only (ALAC), that is reported to the client. Values
|
||||
in the range [0.0, 10.0] seconds are allowed, and will be converted to a whole number of microseconds. Default
|
||||
is 0.25 sec (250000 usec). (This replaces the `-ao` option introduced in v1.62, as a workaround for a problem that
|
||||
is now fixed).
|
||||
is 0.25 sec (250000 usec). _(However, the client appears to ignore this reported latency, so this option seems non-functional.)_
|
||||
|
||||
**-ca _filename_** provides a file (where _filename_ can include a full path) used for output of "cover art"
|
||||
(from Apple Music, _etc._,) in audio-only ALAC mode. This file is overwritten with the latest cover art as
|
||||
@@ -1084,9 +1082,10 @@ tvOS 12.2.1), so it does not seem to matter what UxPlay claims to be.
|
||||
|
||||
|
||||
# Changelog
|
||||
1.65.3 2023-07-23 Add RPM spec file; add graceful exit if required gstreamer libav feature "avdec_aac" is
|
||||
1.65.3 2023-07-23 Add RPM spec file; add warning if required gstreamer libav feature "avdec_aac" is
|
||||
missing: (this occurs in RPM-based distributions that ship an incomplete FFmpeg for Patent
|
||||
or License reasons, and rely on users installing an externally-supplied complete FFmpeg).
|
||||
Mirror-mode airplay will now work without audio if avdec_aac is missing.
|
||||
|
||||
1.65 2023-06-03 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.
|
||||
|
||||
126
README.txt
126
README.txt
@@ -41,19 +41,20 @@ status](https://repology.org/badge/vertical-allrepos/uxplay.svg)](https://repolo
|
||||
a RPM "specfile" **uxplay.spec** is now provided with recent
|
||||
[releases](https://github.com/FDH2/UxPlay/releases) (see their
|
||||
"Assets"), and can also be found in the UxPlay source top directory.
|
||||
To build a RPM package, install rpmdevtools, create a rpmbuild tree
|
||||
with "`rpmdev-setuptree`", and copy uxplay.spec into
|
||||
`~/rpmbuild/SPECS`. In that directory, run
|
||||
"`spectool -g uxplay.spec`" (spectool may also be called
|
||||
"rpmdev-spectool") to download the corresponding source file
|
||||
`uxplay-*.tar.gz`, which should then be moved into
|
||||
`~/rpmbuild/SOURCES`; then run "`rpmbuild -ba uxplay.spec`" (you
|
||||
will need to install any required dependencies this reports). This
|
||||
should create an installable uxplay RPM package in a subdirectory of
|
||||
`~/rpmbuild/RPMS`. (**uxplay.spec** is tested on Fedora 38, Rocky
|
||||
Linux 9.2, OpenSUSE Leap 15.5, Mageia 9, OpenMandriva, pclinuxos; it
|
||||
can be easily modified to include dependency lists for other
|
||||
RPM-based distributions.)
|
||||
This can be used to build an installable RPM package. First-time RPM
|
||||
builders should first install the rpm-build and rpmdevtools
|
||||
packages, then create the rpmbuild tree with "`rpmdev-setuptree`".
|
||||
Then download and copy uxplay.spec into `~/rpmbuild/SPECS`. In that
|
||||
directory, run "`rpmdev-spectool -g -R uxplay.spec`" to download
|
||||
the corresponding source file `uxplay-*.tar.gz` into
|
||||
`~/rpmbuild/SOURCES` ("rpmdev-spectool" may also be just called
|
||||
"spectool"); then run "`rpmbuild -ba uxplay.spec`" (you will need to
|
||||
install any required dependencies this reports). This should create
|
||||
the uxplay RPM package in a subdirectory of `~/rpmbuild/RPMS`.
|
||||
(**uxplay.spec** is tested on Fedora 38, Rocky Linux 9.2, openSUSE
|
||||
Leap 15.5, Mageia 9, OpenMandriva, PCLinuxOS; it can be easily
|
||||
modified to include dependency lists for other RPM-based
|
||||
distributions.)
|
||||
|
||||
- On Linux and \*BSD the mDNS/DNS-SD (Bonjour/ZeroConf) local network
|
||||
services needed by UxPlay are usually provided by Avahi: **if there
|
||||
@@ -96,10 +97,11 @@ pulled from the new main [UxPlay site](https://github.com/FDH2/UxPlay)).
|
||||
|
||||
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),
|
||||
Mageia 9, OpenMandriva "ROME", openSUSE 15.5, Arch Linux 23.05, macOS
|
||||
13.3 (Intel and M2), FreeBSD 13.2, Windows 10 and 11 (64 bit).
|
||||
LTS, 23.04 (also Ubuntu derivatives Linux Mint, Pop!\_OS), Red Hat and
|
||||
clones (Fedora 38, Rocky Linux 9.2), openSUSE Leap 15.5, Mageia 9,
|
||||
OpenMandriva "ROME", PCLinuxOS, Arch Linux, Manjaro, and should run on
|
||||
any Linux system. Also tested on 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 LTS and 23.04, Manjaro RPi4 23.02, and
|
||||
@@ -308,9 +310,9 @@ GStreamer plugins must first be installed).
|
||||
### Building on non-Debian Linux and \*BSD
|
||||
|
||||
**For those with RPM-based distributions, a RPM spec file uxplay.spec is
|
||||
also available for building a rpm package with rpmbuild** (tested on
|
||||
Fedora 38, Rocky Linux 9.2 (RHEL clone), OpenSUSE 15.5, and Mageia 9;
|
||||
see "Packaging Status" section)
|
||||
also available for building a rpm package with rpmbuild**. See
|
||||
["Packaging Status"](#packaging-status-linux-and-bsd-distributions)
|
||||
section above.
|
||||
|
||||
- **Red Hat, or clones like CentOS (now continued as Rocky Linux or
|
||||
Alma Linux):** (sudo dnf install, or sudo yum install) openssl-devel
|
||||
@@ -319,12 +321,12 @@ see "Packaging Status" section)
|
||||
*(some of these may be in the "CodeReady" add-on repository, called
|
||||
"PowerTools" by clones)*
|
||||
|
||||
- **Mageia, pclinuxos, OpenMandriva:** Same as Red Hat, except for
|
||||
- **Mageia, PCLinuxOS, OpenMandriva:** Same as Red Hat, except for
|
||||
name changes: (Mageia) "gstreamer1.0-devel",
|
||||
"gstreamer-plugins-base1.0-devel"; (OpenMandriva)
|
||||
"libopenssl-devel", "gstreamer-devel",
|
||||
"libgst-plugins-base1.0-devel". pclinuxos: same as Mageia, but uses
|
||||
synaptic (or apt) as its package manager
|
||||
"libgst-plugins-base1.0-devel". PCLinuxOS: same as Mageia, but uses
|
||||
synaptic (or apt) as its package manager.
|
||||
|
||||
- **openSUSE:** (sudo zypper install) libopenssl-3-devel (formerly
|
||||
libopenssl-devel) libplist-2_0-devel (formerly libplist-devel)
|
||||
@@ -371,36 +373,34 @@ provided in the official distribution: get it from community
|
||||
repositories for those distributions.
|
||||
|
||||
- **Red Hat, or clones like CentOS (now continued as Rocky Linux or
|
||||
Alma Linux):** (sudo dnf install, or sudo yum install)
|
||||
gstreamer1-libav gstreamer1-plugins-bad-free (+ gstreamer1-vaapi for
|
||||
Intel/AMD graphics). In recent Fedora, gstreamer1-libav is renamed
|
||||
gstreamer1-plugin-libav. **To get avdec_aac, install packages from
|
||||
Alma Linux):** Install gstreamer1-libav gstreamer1-plugins-bad-free
|
||||
(+ gstreamer1-vaapi for Intel/AMD graphics). In recent Fedora,
|
||||
gstreamer1-libav is renamed gstreamer1-plugin-libav. **To get
|
||||
avdec_aac, install packages from
|
||||
[rpmfusion.org](https://rpmfusion.org)**: (get ffmpeg-libs from
|
||||
rpmfusion; on RHEL or clones, but not recent Fedora, also get
|
||||
gstreamer1-libav from there).
|
||||
|
||||
- **Mageia, pclinuxos, OpenMandriva:** (sudo dnf install, or sudo yum
|
||||
install) gstreamer1.0-libav gstreamer1.0-plugins-bad (+
|
||||
gstreamer1.0-vaapi for Intel/AMD graphics). **On Mageia, to get
|
||||
avdec_aac, install ffmpeg from the "tainted" repository**, (which
|
||||
also provides a more complete gstreamer1.0-plugins-bad). pclinuxos:
|
||||
same as Mageia, but uses synaptic (or apt) as its package manager.
|
||||
- **Mageia, PCLinuxOS, OpenMandriva:** Install gstreamer1.0-libav
|
||||
gstreamer1.0-plugins-bad (+ gstreamer1.0-vaapi for Intel/AMD
|
||||
graphics). **On Mageia, to get avdec_aac, install ffmpeg from the
|
||||
"tainted" repository**, (which also provides a more complete
|
||||
gstreamer1.0-plugins-bad).
|
||||
|
||||
- **openSUSE:** (sudo zypper install) gstreamer-plugins-libav
|
||||
gstreamer-plugins-bad (+ gstreamer-plugins-vaapi for Intel/AMD
|
||||
graphics). **To get avdec_aac, install libav\* packages for openSUSE
|
||||
from [Packman](https://ftp.gwdg.de/pub/linux/misc/packman/suse/)
|
||||
- **openSUSE:** Install gstreamer-plugins-libav gstreamer-plugins-bad
|
||||
(+ gstreamer-plugins-vaapi for Intel/AMD graphics). **To get
|
||||
avdec_aac, install libav\* packages for openSUSE from
|
||||
[Packman](https://ftp.gwdg.de/pub/linux/misc/packman/suse/)
|
||||
"Essentials"**; recommendation: after adding the Packman repository,
|
||||
use the option in YaST Software management to switch all system
|
||||
packages for multimedia to Packman).
|
||||
|
||||
- **Arch Linux** (sudo pacman -Syu) gst-plugins-good gst-plugins-bad
|
||||
gst-libav (+ gstreamer-vaapi for Intel/AMD graphics).
|
||||
- **Arch Linux** Install gst-plugins-good gst-plugins-bad gst-libav (+
|
||||
gstreamer-vaapi for Intel/AMD graphics).
|
||||
|
||||
- **FreeBSD:** (sudo pkg install) gstreamer1-libav,
|
||||
gstreamer1-plugins, gstreamer1-plugins-\* (\* = core, good, bad, x,
|
||||
gtk, gl, vulkan, pulse, v4l2, ...), (+ gstreamer1-vaapi for
|
||||
Intel/AMD graphics).
|
||||
- **FreeBSD:** Install gstreamer1-libav, gstreamer1-plugins,
|
||||
gstreamer1-plugins-\* (\* = core, good, bad, x, gtk, gl, vulkan,
|
||||
pulse, v4l2, ...), (+ gstreamer1-vaapi for Intel/AMD graphics).
|
||||
|
||||
### Starting and running UxPlay
|
||||
|
||||
@@ -721,15 +721,14 @@ device is rotated).
|
||||
|
||||
- tested on Windows 10 and 11, 64-bit.
|
||||
|
||||
1. Download and install **Bonjour SDK for Windows v3.0** from the
|
||||
official Apple site
|
||||
[https://developer.apple.com/download](https://developer.apple.com/download/all/?q=Bonjour%20SDK%20for%20Windows).
|
||||
(Apple makes you register as a developer to access it; if you do not
|
||||
want to go through the registration process, you can download the
|
||||
SDK without any registration at
|
||||
[softpedia.com](https://www.softpedia.com/get/Programming/SDK-DDK/Bonjour-SDK.shtml).)
|
||||
This should install the Bonjour SDK as
|
||||
`C:\Program Files\Bonjour SDK`
|
||||
1. Download and install **Bonjour SDK for Windows v3.0**. You can
|
||||
download the SDK without any registration at
|
||||
[softpedia.com](https://www.softpedia.com/get/Programming/SDK-DDK/Bonjour-SDK.shtml),
|
||||
or get it from the official Apple site
|
||||
[https://developer.apple.com/download](https://developer.apple.com/download/all/?q=Bonjour%20SDK%20for%20Windows)
|
||||
(Apple makes you register as a developer to access it from their
|
||||
site). This should install the Bonjour SDK as
|
||||
`C:\Program Files\Bonjour SDK`.
|
||||
|
||||
2. (This is for 64-bit Windows; a build for 32-bit Windows should be
|
||||
possible, but is not tested.) The unix-like MSYS2 build environment
|
||||
@@ -840,6 +839,12 @@ in the Windows Terminal, with `C:\msys64\mingw64\bin\uxplay`.
|
||||
|
||||
Options:
|
||||
|
||||
- These can also be written (one option per line, without the initial
|
||||
"`-`" character) in the UxPlay startup file (either given by
|
||||
environment variable `$UXPLAYRC`, or `~/.uxplayrc` or
|
||||
`~/.config/uxplayrc`). Command line options supersede options in the
|
||||
startup file.
|
||||
|
||||
**-n server_name** (Default: UxPlay); server_name@\_hostname\_ will be
|
||||
the name that appears offering AirPlay services to your iPad, iPhone
|
||||
etc, where *hostname* is the name of the server running uxplay. This
|
||||
@@ -986,9 +991,9 @@ displays streamed video.
|
||||
**-al *x*** specifies an audio latency *x* in (decimal) seconds in
|
||||
Audio-only (ALAC), that is reported to the client. Values in the range
|
||||
\[0.0, 10.0\] seconds are allowed, and will be converted to a whole
|
||||
number of microseconds. Default is 0.25 sec (250000 usec). (This
|
||||
replaces the `-ao` option introduced in v1.62, as a workaround for a
|
||||
problem that is now fixed).
|
||||
number of microseconds. Default is 0.25 sec (250000 usec). *(However,
|
||||
the client appears to ignore this reported latency, so this option seems
|
||||
non-functional.)*
|
||||
|
||||
**-ca *filename*** provides a file (where *filename* can include a full
|
||||
path) used for output of "cover art" (from Apple Music, *etc.*,) in
|
||||
@@ -1391,11 +1396,12 @@ what UxPlay claims to be.
|
||||
|
||||
# Changelog
|
||||
|
||||
1.65.3 2023-07-23 Add RPM spec file; add graceful exit if required
|
||||
gstreamer libav feature "avdec_aac" is missing: (this occurs in
|
||||
RPM-based distributions that ship an incomplete FFmpeg for Patent or
|
||||
License reasons, and rely on users installing an externally-supplied
|
||||
complete FFmpeg).
|
||||
1.65.3 2023-07-23 Add RPM spec file; add warning if required gstreamer
|
||||
libav feature "avdec_aac" is missing: (this occurs in RPM-based
|
||||
distributions that ship an incomplete FFmpeg for Patent or License
|
||||
reasons, and rely on users installing an externally-supplied complete
|
||||
FFmpeg). Mirror-mode airplay will now work without audio if avdec_aac is
|
||||
missing.
|
||||
|
||||
1.65 2023-06-03 Eliminate pair_setup part of connection protocol to
|
||||
allow faster connections with clients (thanks to @shuax #176 for this
|
||||
|
||||
@@ -324,12 +324,12 @@ gboolean gstreamer_pipeline_bus_callback(GstBus *bus, GstMessage *message, gpoin
|
||||
if (strstr(err->message,"Internal data stream error")) {
|
||||
logger_log(logger, LOGGER_INFO,
|
||||
"*** This is a generic GStreamer error that usually means that GStreamer\n"
|
||||
"*** was unable to construct a working video pipeline.\n"
|
||||
"*** was unable to construct a working video pipeline.\n\n"
|
||||
"*** If you are letting the default autovideosink select the videosink,\n"
|
||||
"*** GStreamer may be trying to use non-functional hardware h264 video decoding.\n"
|
||||
"*** Try using option -avdec to force software decoding or use -vs <videosink>\n"
|
||||
"*** to select a videosink of your choice (see \"man uxplay\").\n"
|
||||
"*** Raspberry Pi OS with GStreamer-1.18.4 needs \"-bt709\" uxplay option");
|
||||
"*** to select a videosink of your choice (see \"man uxplay\").\n\n"
|
||||
"*** Raspberry Pi OS with (unpatched) GStreamer-1.18.4 needs \"-bt709\" uxplay option");
|
||||
}
|
||||
g_error_free (err);
|
||||
g_free (debug);
|
||||
|
||||
17
uxplay.spec
17
uxplay.spec
@@ -50,14 +50,14 @@ Requires: gstreamer-plugins-bad
|
||||
Requires: gstreamer-plugins-libav
|
||||
%endif
|
||||
|
||||
#Mageia, OpenMandriva, pclinuxos (Mandrake descendents)
|
||||
#Mageia, OpenMandriva, PCLinuxOS (Mandriva/Mandrake descendents)
|
||||
%if "%{_host_vendor}" == "mageia" || %{defined omvver} || "%{_host_vendor}" == "mandriva"
|
||||
%if "%{_host_vendor}" == "mandriva"
|
||||
# "mandriva" is pclinuxos.
|
||||
# as of 07/2023, pclinuxos does not seem to supply openssl >= 3.0
|
||||
# host_vendor = "mandriva" identifies PCLinuxOS.
|
||||
# As of 07/2023, PCLinuxOS does not seem to supply openssl >= 3.0.
|
||||
# Note that UxPlay does not have a "GPL exception" allowing it to be
|
||||
# distributed in binary form when linked to openssl < 3.0, unless
|
||||
# openssl < 3.0 can be regarded as a "system library".
|
||||
# distributed in binary form when linked to openssl < 3.0, unless that
|
||||
# OpenSSL < 3.0 qualifies as a "system library".
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: %{mklibname openssl-devel} >= 1.1.1
|
||||
Requires: %{mklibname openssl1.1.0}
|
||||
@@ -71,14 +71,15 @@ Requires: %{mklibname openssl3}
|
||||
%endif
|
||||
%endif
|
||||
BuildRequires: %{mklibname plist-devel} >= 2.0
|
||||
Requires: %{mklibname plist2.0_3}
|
||||
BuildRequires: %{mklibname avahi-compat-libdns_sd-devel}
|
||||
%if %{defined omvver}
|
||||
BuildRequires: %{mklibname gstreamer-devel}
|
||||
BuildRequires: %{mklibname gst-plugins-base1.0-devel}
|
||||
Requires: %{mklibname plist} >= 2.0
|
||||
%else
|
||||
BuildRequires: %{mklibname gstreamer1.0-devel}
|
||||
BuildRequires: %{mklibname gstreamer-plugins-base1.0-devel}
|
||||
Requires: %{mklibname plist2.0_3}
|
||||
%endif
|
||||
Requires: gstreamer1.0-plugins-base
|
||||
Requires: gstreamer1.0-plugins-good
|
||||
@@ -133,7 +134,7 @@ cd build
|
||||
%{_docdir}/%{name}/llhttp/LICENSE-MIT
|
||||
|
||||
%changelog
|
||||
* Wed Jul 26 2023 UxPlay maintainer <https://github.com/FDH2/UxPlay>
|
||||
* Thu Aug 24 2023 UxPlay maintainer <https://github.com/FDH2/UxPlay>
|
||||
Initial uxplay.spec: tested on Fedora 38, Rocky Linux 9.2, OpenSUSE
|
||||
Leap 15.5, Mageia 9, OpenMandriva ROME, pclinuxos
|
||||
Leap 15.5, Mageia 9, OpenMandriva ROME, PCLinuxOS
|
||||
-
|
||||
|
||||
Reference in New Issue
Block a user