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
|
packaged UxPlay, a RPM “specfile” <strong>uxplay.spec</strong> is now
|
||||||
provided with recent <a
|
provided with recent <a
|
||||||
href="https://github.com/FDH2/UxPlay/releases">releases</a> (see their
|
href="https://github.com/FDH2/UxPlay/releases">releases</a> (see their
|
||||||
“Assets”), and can also be found in the UxPlay source top directory. To
|
“Assets”), and can also be found in the UxPlay source top directory.
|
||||||
build a RPM package, install rpmdevtools, create a rpmbuild tree with
|
This can be used to build an installable RPM package. First-time RPM
|
||||||
“<code>rpmdev-setuptree</code>”, and copy uxplay.spec into
|
builders should first install the rpm-build and rpmdevtools packages,
|
||||||
<code>~/rpmbuild/SPECS</code>. In that directory, run
|
then create the rpmbuild tree with “<code>rpmdev-setuptree</code>”. Then
|
||||||
“<code>spectool -g uxplay.spec</code>” (spectool may also be called
|
download and copy uxplay.spec into <code>~/rpmbuild/SPECS</code>. In
|
||||||
“rpmdev-spectool”) to download the corresponding source file
|
that directory, run “<code>rpmdev-spectool -g -R uxplay.spec</code>” to
|
||||||
<code>uxplay-*.tar.gz</code>, which should then be moved into
|
download the corresponding source file <code>uxplay-*.tar.gz</code> into
|
||||||
<code>~/rpmbuild/SOURCES</code>; then run
|
<code>~/rpmbuild/SOURCES</code> (“rpmdev-spectool” may also be just
|
||||||
“<code>rpmbuild -ba uxplay.spec</code>” (you will need to install any
|
called “spectool”); then run “<code>rpmbuild -ba uxplay.spec</code>”
|
||||||
required dependencies this reports). This should create an installable
|
(you will need to install any required dependencies this reports). This
|
||||||
uxplay RPM package in a subdirectory of <code>~/rpmbuild/RPMS</code>.
|
should create the uxplay RPM package in a subdirectory of
|
||||||
(<strong>uxplay.spec</strong> is tested on Fedora 38, Rocky Linux 9.2,
|
<code>~/rpmbuild/RPMS</code>. (<strong>uxplay.spec</strong> is tested on
|
||||||
OpenSUSE Leap 15.5, Mageia 9, OpenMandriva, pclinuxos; it can be easily
|
Fedora 38, Rocky Linux 9.2, openSUSE Leap 15.5, Mageia 9, OpenMandriva,
|
||||||
modified to include dependency lists for other RPM-based
|
PCLinuxOS; it can be easily modified to include dependency lists for
|
||||||
distributions.)</p></li>
|
other RPM-based distributions.)</p></li>
|
||||||
<li><p>On Linux and *BSD the mDNS/DNS-SD (Bonjour/ZeroConf) local
|
<li><p>On Linux and *BSD the mDNS/DNS-SD (Bonjour/ZeroConf) local
|
||||||
network services needed by UxPlay are usually provided by Avahi:
|
network services needed by UxPlay are usually provided by Avahi:
|
||||||
<strong>if there is a firewall on the server that will host UxPlay, make
|
<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>
|
href="https://github.com/FDH2/UxPlay">UxPlay site</a>).</p>
|
||||||
<p>UxPlay is tested on a number of systems, including (among others)
|
<p>UxPlay is tested on a number of systems, including (among others)
|
||||||
Debian (10 “Buster”, 11 “Bullseye”, 12 “Bookworm”), Ubuntu (20.04 LTS,
|
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
|
22.04 LTS, 23.04 (also Ubuntu derivatives Linux Mint, Pop!_OS), Red Hat
|
||||||
(NVIDIA edition)), Red Hat and clones (Fedora 38, Rocky Linux 9.2),
|
and clones (Fedora 38, Rocky Linux 9.2), openSUSE Leap 15.5, Mageia 9,
|
||||||
Mageia 9, OpenMandriva “ROME”, openSUSE 15.5, Arch Linux 23.05, macOS
|
OpenMandriva “ROME”, PCLinuxOS, Arch Linux, Manjaro, and should run on
|
||||||
13.3 (Intel and M2), FreeBSD 13.2, Windows 10 and 11 (64 bit).</p>
|
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)
|
<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
|
(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
|
(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>
|
Linux and *BSD</h3>
|
||||||
<p><strong>For those with RPM-based distributions, a RPM spec file
|
<p><strong>For those with RPM-based distributions, a RPM spec file
|
||||||
uxplay.spec is also available for building a rpm package with
|
uxplay.spec is also available for building a rpm package with
|
||||||
rpmbuild</strong> (tested on Fedora 38, Rocky Linux 9.2 (RHEL clone),
|
rpmbuild</strong>. See <a
|
||||||
OpenSUSE 15.5, and Mageia 9; see “Packaging Status” section)</p>
|
href="#packaging-status-linux-and-bsd-distributions">“Packaging
|
||||||
|
Status”</a> section above.</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><p><strong>Red Hat, or clones like CentOS (now continued as Rocky
|
<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)
|
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
|
gstreamer1-devel gstreamer1-plugins-base-devel (+libX11-devel for
|
||||||
fullscreen X11) <em>(some of these may be in the “CodeReady” add-on
|
fullscreen X11) <em>(some of these may be in the “CodeReady” add-on
|
||||||
repository, called “PowerTools” by clones)</em></p></li>
|
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”,
|
Hat, except for name changes: (Mageia) “gstreamer1.0-devel”,
|
||||||
“gstreamer-plugins-base1.0-devel”; (OpenMandriva) “libopenssl-devel”,
|
“gstreamer-plugins-base1.0-devel”; (OpenMandriva) “libopenssl-devel”,
|
||||||
“gstreamer-devel”, “libgst-plugins-base1.0-devel”. pclinuxos: same as
|
“gstreamer-devel”, “libgst-plugins-base1.0-devel”. PCLinuxOS: same as
|
||||||
Mageia, but uses synaptic (or apt) as its package manager</p></li>
|
Mageia, but uses synaptic (or apt) as its package manager.</p></li>
|
||||||
<li><p><strong>openSUSE:</strong> (sudo zypper install)
|
<li><p><strong>openSUSE:</strong> (sudo zypper install)
|
||||||
libopenssl-3-devel (formerly libopenssl-devel) libplist-2_0-devel
|
libopenssl-3-devel (formerly libopenssl-devel) libplist-2_0-devel
|
||||||
(formerly libplist-devel) avahi-compat-mDNSResponder-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>
|
repositories for those distributions.</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><p><strong>Red Hat, or clones like CentOS (now continued as Rocky
|
<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)
|
Linux or Alma Linux):</strong> Install gstreamer1-libav
|
||||||
gstreamer1-libav gstreamer1-plugins-bad-free (+ gstreamer1-vaapi for
|
gstreamer1-plugins-bad-free (+ gstreamer1-vaapi for Intel/AMD graphics).
|
||||||
Intel/AMD graphics). In recent Fedora, gstreamer1-libav is renamed
|
In recent Fedora, gstreamer1-libav is renamed gstreamer1-plugin-libav.
|
||||||
gstreamer1-plugin-libav. <strong>To get avdec_aac, install packages from
|
<strong>To get avdec_aac, install packages from <a
|
||||||
<a href="https://rpmfusion.org">rpmfusion.org</a></strong>: (get
|
href="https://rpmfusion.org">rpmfusion.org</a></strong>: (get
|
||||||
ffmpeg-libs from rpmfusion; on RHEL or clones, but not recent Fedora,
|
ffmpeg-libs from rpmfusion; on RHEL or clones, but not recent Fedora,
|
||||||
also get gstreamer1-libav from there).</p></li>
|
also get gstreamer1-libav from there).</p></li>
|
||||||
<li><p><strong>Mageia, pclinuxos, OpenMandriva:</strong> (sudo dnf
|
<li><p><strong>Mageia, PCLinuxOS, OpenMandriva:</strong> Install
|
||||||
install, or sudo yum install) gstreamer1.0-libav
|
gstreamer1.0-libav gstreamer1.0-plugins-bad (+ gstreamer1.0-vaapi for
|
||||||
gstreamer1.0-plugins-bad (+ gstreamer1.0-vaapi for Intel/AMD graphics).
|
Intel/AMD graphics). <strong>On Mageia, to get avdec_aac, install ffmpeg
|
||||||
<strong>On Mageia, to get avdec_aac, install ffmpeg from the “tainted”
|
from the “tainted” repository</strong>, (which also provides a more
|
||||||
repository</strong>, (which also provides a more complete
|
complete gstreamer1.0-plugins-bad).</p></li>
|
||||||
gstreamer1.0-plugins-bad). pclinuxos: same as Mageia, but uses synaptic
|
<li><p><strong>openSUSE:</strong> Install gstreamer-plugins-libav
|
||||||
(or apt) as its package manager.</p></li>
|
gstreamer-plugins-bad (+ gstreamer-plugins-vaapi for Intel/AMD
|
||||||
<li><p><strong>openSUSE:</strong> (sudo zypper install)
|
graphics). <strong>To get avdec_aac, install libav* packages for
|
||||||
gstreamer-plugins-libav gstreamer-plugins-bad (+ gstreamer-plugins-vaapi
|
openSUSE from <a
|
||||||
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>
|
href="https://ftp.gwdg.de/pub/linux/misc/packman/suse/">Packman</a>
|
||||||
“Essentials”</strong>; recommendation: after adding the Packman
|
“Essentials”</strong>; recommendation: after adding the Packman
|
||||||
repository, use the option in YaST Software management to switch all
|
repository, use the option in YaST Software management to switch all
|
||||||
system packages for multimedia to Packman).</p></li>
|
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
|
gst-plugins-bad gst-libav (+ gstreamer-vaapi for Intel/AMD
|
||||||
graphics).</p></li>
|
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,
|
gstreamer1-plugins, gstreamer1-plugins-* (* = core, good, bad, x, gtk,
|
||||||
gl, vulkan, pulse, v4l2, …), (+ gstreamer1-vaapi for Intel/AMD
|
gl, vulkan, pulse, v4l2, …), (+ gstreamer1-vaapi for Intel/AMD
|
||||||
graphics).</p></li>
|
graphics).</p></li>
|
||||||
@@ -729,14 +729,13 @@ compiler.</h2>
|
|||||||
</ul>
|
</ul>
|
||||||
<ol type="1">
|
<ol type="1">
|
||||||
<li><p>Download and install <strong>Bonjour SDK for Windows
|
<li><p>Download and install <strong>Bonjour SDK for Windows
|
||||||
v3.0</strong> from the official Apple site <a
|
v3.0</strong>. You can download the SDK without any registration at <a
|
||||||
href="https://developer.apple.com/download/all/?q=Bonjour%20SDK%20for%20Windows">https://developer.apple.com/download</a>.
|
href="https://www.softpedia.com/get/Programming/SDK-DDK/Bonjour-SDK.shtml">softpedia.com</a>,
|
||||||
(Apple makes you register as a developer to access it; if you do not
|
or get it from the official Apple site <a
|
||||||
want to go through the registration process, you can download the SDK
|
href="https://developer.apple.com/download/all/?q=Bonjour%20SDK%20for%20Windows">https://developer.apple.com/download</a>
|
||||||
without any registration at <a
|
(Apple makes you register as a developer to access it from their site).
|
||||||
href="https://www.softpedia.com/get/Programming/SDK-DDK/Bonjour-SDK.shtml">softpedia.com</a>.)
|
|
||||||
This should install the Bonjour SDK as
|
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
|
<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
|
possible, but is not tested.) The unix-like MSYS2 build environment will
|
||||||
be used: download and install MSYS2 from the official site <a
|
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>
|
<code>C:\msys64\mingw64\bin\uxplay</code>.</p>
|
||||||
<h1 id="usage">Usage</h1>
|
<h1 id="usage">Usage</h1>
|
||||||
<p>Options:</p>
|
<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);
|
<p><strong>-n server_name</strong> (Default: UxPlay);
|
||||||
server_name@_hostname_ will be the name that appears offering AirPlay
|
server_name@_hostname_ will be the name that appears offering AirPlay
|
||||||
services to your iPad, iPhone etc, where <em>hostname</em> is the name
|
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
|
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
|
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
|
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,
|
usec). <em>(However, the client appears to ignore this reported latency,
|
||||||
as a workaround for a problem that is now fixed).</p>
|
so this option seems non-functional.)</em></p>
|
||||||
<p><strong>-ca <em>filename</em></strong> provides a file (where
|
<p><strong>-ca <em>filename</em></strong> provides a file (where
|
||||||
<em>filename</em> can include a full path) used for output of “cover
|
<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
|
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
|
introduced 2017, running tvOS 12.2.1), so it does not seem to matter
|
||||||
what UxPlay claims to be.</p>
|
what UxPlay claims to be.</p>
|
||||||
<h1 id="changelog">Changelog</h1>
|
<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
|
gstreamer libav feature “avdec_aac” is missing: (this occurs in
|
||||||
RPM-based distributions that ship an incomplete FFmpeg for Patent or
|
RPM-based distributions that ship an incomplete FFmpeg for Patent or
|
||||||
License reasons, and rely on users installing an externally-supplied
|
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
|
<p>1.65 2023-06-03 Eliminate pair_setup part of connection protocol to
|
||||||
allow faster connections with clients (thanks to <span class="citation"
|
allow faster connections with clients (thanks to <span class="citation"
|
||||||
data-cites="shuax">@shuax</span> #176 for this discovery); to revert,
|
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.
|
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
|
* **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
|
[releases](https://github.com/FDH2/UxPlay/releases) (see their "Assets"), and can also be found in the UxPlay source top directory.
|
||||||
build a RPM package, install rpmdevtools, create a rpmbuild tree with "`rpmdev-setuptree`", and copy uxplay.spec into ``~/rpmbuild/SPECS``.
|
This can be used to build an installable RPM package. First-time RPM builders should first install the rpm-build and rpmdevtools packages,
|
||||||
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
|
then create the rpmbuild tree with "`rpmdev-setuptree`". Then download and
|
||||||
moved into ``~/rpmbuild/SOURCES``; then run "```rpmbuild -ba uxplay.spec```" (you will need to install
|
copy uxplay.spec into ``~/rpmbuild/SPECS``. In that directory, run "`rpmdev-spectool -g -R uxplay.spec`" to download the corresponding
|
||||||
any required dependencies this reports). This should create an installable uxplay RPM package in a subdirectory of `~/rpmbuild/RPMS`.
|
source file `uxplay-*.tar.gz` into ``~/rpmbuild/SOURCES`` ("rpmdev-spectool" may also be just called "spectool"); then
|
||||||
(**uxplay.spec** is tested on Fedora 38, Rocky Linux 9.2, OpenSUSE Leap 15.5, Mageia 9, OpenMandriva, pclinuxos;
|
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.)
|
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
|
* 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).
|
* To (easily) compile the latest UxPlay from source, see the section [Getting UxPlay](#getting-uxplay).
|
||||||
|
|
||||||
# Detailed description of UxPlay
|
# Detailed description of UxPlay
|
||||||
|
|
||||||
This project is a GPLv3 open source unix AirPlay2 Mirror server for Linux, macOS, and \*BSD.
|
This project is a GPLv3 open source unix AirPlay2 Mirror server for Linux, macOS, and \*BSD.
|
||||||
It was initially developed by
|
It was initially developed by
|
||||||
[antimof](http://github.com/antimof/Uxplay) using code
|
[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)).
|
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"),
|
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,
|
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), Mageia 9, OpenMandriva "ROME", openSUSE 15.5, Arch Linux 23.05, macOS 13.3 (Intel and M2),
|
Rocky Linux 9.2), openSUSE Leap 15.5, Mageia 9, OpenMandriva "ROME", PCLinuxOS, Arch Linux, Manjaro, and should run on any Linux system.
|
||||||
FreeBSD 13.2, Windows 10 and 11 (64 bit).
|
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,
|
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+.
|
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
|
### Building on non-Debian Linux and \*BSD
|
||||||
**For those with RPM-based distributions, a RPM spec file uxplay.spec is also available for
|
**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),
|
building a rpm package with rpmbuild**. See ["Packaging Status"](#packaging-status-linux-and-bsd-distributions) section above.
|
||||||
OpenSUSE 15.5, and Mageia 9; see "Packaging Status" section)
|
|
||||||
|
|
||||||
|
|
||||||
* **Red Hat, or clones like CentOS (now continued as Rocky Linux or Alma Linux):**
|
* **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
|
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)_
|
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";
|
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,
|
(OpenMandriva) "libopenssl-devel", "gstreamer-devel", "libgst-plugins-base1.0-devel". PCLinuxOS: same as Mageia,
|
||||||
but uses synaptic (or apt) as its package manager
|
but uses synaptic (or apt) as its package manager.
|
||||||
|
|
||||||
* **openSUSE:**
|
* **openSUSE:**
|
||||||
(sudo zypper install) libopenssl-3-devel (formerly
|
(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:
|
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.
|
get it from community repositories for those distributions.
|
||||||
|
|
||||||
* **Red Hat, or clones like CentOS (now continued as Rocky Linux or Alma Linux):**
|
* **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
|
Install gstreamer1-libav gstreamer1-plugins-bad-free (+ gstreamer1-vaapi
|
||||||
for Intel/AMD graphics). In recent Fedora, gstreamer1-libav is renamed gstreamer1-plugin-libav.
|
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;
|
**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).
|
on RHEL or clones, but not recent Fedora, also get gstreamer1-libav from there).
|
||||||
|
|
||||||
* **Mageia, pclinuxos, OpenMandriva:**
|
* **Mageia, PCLinuxOS, OpenMandriva:**
|
||||||
(sudo dnf install, or sudo yum install) gstreamer1.0-libav gstreamer1.0-plugins-bad (+ gstreamer1.0-vaapi
|
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**,
|
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
|
(which also provides a more complete gstreamer1.0-plugins-bad).
|
||||||
(or apt) as its package manager.
|
|
||||||
|
|
||||||
* **openSUSE:**
|
* **openSUSE:**
|
||||||
(sudo zypper install)
|
Install gstreamer-plugins-libav gstreamer-plugins-bad (+ gstreamer-plugins-vaapi
|
||||||
gstreamer-plugins-libav gstreamer-plugins-bad (+ gstreamer-plugins-vaapi
|
|
||||||
for Intel/AMD graphics). **To get avdec_aac, install libav\* packages for openSUSE
|
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
|
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
|
Packman repository, use the option in YaST Software management to switch
|
||||||
all system packages for multimedia to Packman).
|
all system packages for multimedia to Packman).
|
||||||
|
|
||||||
* **Arch Linux**
|
* **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).
|
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).
|
(\* = 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.
|
* tested on Windows 10 and 11, 64-bit.
|
||||||
|
|
||||||
1. Download and install **Bonjour SDK for Windows v3.0** from the official Apple site
|
1. Download and install **Bonjour SDK for Windows v3.0**. You can download the SDK without any registration
|
||||||
[https://developer.apple.com/download](https://developer.apple.com/download/all/?q=Bonjour%20SDK%20for%20Windows). (Apple
|
at [softpedia.com](https://www.softpedia.com/get/Programming/SDK-DDK/Bonjour-SDK.shtml), or get it from the official Apple
|
||||||
makes you register as a developer to access it; if you do not want to go through the registration process, you can download
|
site [https://developer.apple.com/download](https://developer.apple.com/download/all/?q=Bonjour%20SDK%20for%20Windows) (Apple makes
|
||||||
the SDK without any registration at [softpedia.com](https://www.softpedia.com/get/Programming/SDK-DDK/Bonjour-SDK.shtml).)
|
you register as a developer to access it from their site). This should install the Bonjour SDK as `C:\Program Files\Bonjour SDK`.
|
||||||
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
|
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
|
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:
|
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
|
**-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.
|
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.
|
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
|
**-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
|
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 0.25 sec (250000 usec). _(However, the client appears to ignore this reported latency, so this option seems non-functional.)_
|
||||||
is now fixed).
|
|
||||||
|
|
||||||
**-ca _filename_** provides a file (where _filename_ can include a full path) used for output of "cover art"
|
**-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
|
(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
|
# 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
|
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).
|
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
|
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.
|
(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
|
a RPM "specfile" **uxplay.spec** is now provided with recent
|
||||||
[releases](https://github.com/FDH2/UxPlay/releases) (see their
|
[releases](https://github.com/FDH2/UxPlay/releases) (see their
|
||||||
"Assets"), and can also be found in the UxPlay source top directory.
|
"Assets"), and can also be found in the UxPlay source top directory.
|
||||||
To build a RPM package, install rpmdevtools, create a rpmbuild tree
|
This can be used to build an installable RPM package. First-time RPM
|
||||||
with "`rpmdev-setuptree`", and copy uxplay.spec into
|
builders should first install the rpm-build and rpmdevtools
|
||||||
`~/rpmbuild/SPECS`. In that directory, run
|
packages, then create the rpmbuild tree with "`rpmdev-setuptree`".
|
||||||
"`spectool -g uxplay.spec`" (spectool may also be called
|
Then download and copy uxplay.spec into `~/rpmbuild/SPECS`. In that
|
||||||
"rpmdev-spectool") to download the corresponding source file
|
directory, run "`rpmdev-spectool -g -R uxplay.spec`" to download
|
||||||
`uxplay-*.tar.gz`, which should then be moved into
|
the corresponding source file `uxplay-*.tar.gz` into
|
||||||
`~/rpmbuild/SOURCES`; then run "`rpmbuild -ba uxplay.spec`" (you
|
`~/rpmbuild/SOURCES` ("rpmdev-spectool" may also be just called
|
||||||
will need to install any required dependencies this reports). This
|
"spectool"); then run "`rpmbuild -ba uxplay.spec`" (you will need to
|
||||||
should create an installable uxplay RPM package in a subdirectory of
|
install any required dependencies this reports). This should create
|
||||||
`~/rpmbuild/RPMS`. (**uxplay.spec** is tested on Fedora 38, Rocky
|
the uxplay RPM package in a subdirectory of `~/rpmbuild/RPMS`.
|
||||||
Linux 9.2, OpenSUSE Leap 15.5, Mageia 9, OpenMandriva, pclinuxos; it
|
(**uxplay.spec** is tested on Fedora 38, Rocky Linux 9.2, openSUSE
|
||||||
can be easily modified to include dependency lists for other
|
Leap 15.5, Mageia 9, OpenMandriva, PCLinuxOS; it can be easily
|
||||||
RPM-based distributions.)
|
modified to include dependency lists for other RPM-based
|
||||||
|
distributions.)
|
||||||
|
|
||||||
- On Linux and \*BSD the mDNS/DNS-SD (Bonjour/ZeroConf) local network
|
- On Linux and \*BSD the mDNS/DNS-SD (Bonjour/ZeroConf) local network
|
||||||
services needed by UxPlay are usually provided by Avahi: **if there
|
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
|
UxPlay is tested on a number of systems, including (among others) Debian
|
||||||
(10 "Buster", 11 "Bullseye", 12 "Bookworm"), Ubuntu (20.04 LTS, 22.04
|
(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
|
LTS, 23.04 (also Ubuntu derivatives Linux Mint, Pop!\_OS), Red Hat and
|
||||||
(NVIDIA edition)), Red Hat and clones (Fedora 38, Rocky Linux 9.2),
|
clones (Fedora 38, Rocky Linux 9.2), openSUSE Leap 15.5, Mageia 9,
|
||||||
Mageia 9, OpenMandriva "ROME", openSUSE 15.5, Arch Linux 23.05, macOS
|
OpenMandriva "ROME", PCLinuxOS, Arch Linux, Manjaro, and should run on
|
||||||
13.3 (Intel and M2), FreeBSD 13.2, Windows 10 and 11 (64 bit).
|
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)
|
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
|
(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
|
### Building on non-Debian Linux and \*BSD
|
||||||
|
|
||||||
**For those with RPM-based distributions, a RPM spec file uxplay.spec is
|
**For those with RPM-based distributions, a RPM spec file uxplay.spec is
|
||||||
also available for building a rpm package with rpmbuild** (tested on
|
also available for building a rpm package with rpmbuild**. See
|
||||||
Fedora 38, Rocky Linux 9.2 (RHEL clone), OpenSUSE 15.5, and Mageia 9;
|
["Packaging Status"](#packaging-status-linux-and-bsd-distributions)
|
||||||
see "Packaging Status" section)
|
section above.
|
||||||
|
|
||||||
- **Red Hat, or clones like CentOS (now continued as Rocky Linux or
|
- **Red Hat, or clones like CentOS (now continued as Rocky Linux or
|
||||||
Alma Linux):** (sudo dnf install, or sudo yum install) openssl-devel
|
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
|
*(some of these may be in the "CodeReady" add-on repository, called
|
||||||
"PowerTools" by clones)*
|
"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",
|
name changes: (Mageia) "gstreamer1.0-devel",
|
||||||
"gstreamer-plugins-base1.0-devel"; (OpenMandriva)
|
"gstreamer-plugins-base1.0-devel"; (OpenMandriva)
|
||||||
"libopenssl-devel", "gstreamer-devel",
|
"libopenssl-devel", "gstreamer-devel",
|
||||||
"libgst-plugins-base1.0-devel". pclinuxos: same as Mageia, but uses
|
"libgst-plugins-base1.0-devel". PCLinuxOS: same as Mageia, but uses
|
||||||
synaptic (or apt) as its package manager
|
synaptic (or apt) as its package manager.
|
||||||
|
|
||||||
- **openSUSE:** (sudo zypper install) libopenssl-3-devel (formerly
|
- **openSUSE:** (sudo zypper install) libopenssl-3-devel (formerly
|
||||||
libopenssl-devel) libplist-2_0-devel (formerly libplist-devel)
|
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.
|
repositories for those distributions.
|
||||||
|
|
||||||
- **Red Hat, or clones like CentOS (now continued as Rocky Linux or
|
- **Red Hat, or clones like CentOS (now continued as Rocky Linux or
|
||||||
Alma Linux):** (sudo dnf install, or sudo yum install)
|
Alma Linux):** Install gstreamer1-libav gstreamer1-plugins-bad-free
|
||||||
gstreamer1-libav gstreamer1-plugins-bad-free (+ gstreamer1-vaapi for
|
(+ gstreamer1-vaapi for Intel/AMD graphics). In recent Fedora,
|
||||||
Intel/AMD graphics). In recent Fedora, gstreamer1-libav is renamed
|
gstreamer1-libav is renamed gstreamer1-plugin-libav. **To get
|
||||||
gstreamer1-plugin-libav. **To get avdec_aac, install packages from
|
avdec_aac, install packages from
|
||||||
[rpmfusion.org](https://rpmfusion.org)**: (get ffmpeg-libs from
|
[rpmfusion.org](https://rpmfusion.org)**: (get ffmpeg-libs from
|
||||||
rpmfusion; on RHEL or clones, but not recent Fedora, also get
|
rpmfusion; on RHEL or clones, but not recent Fedora, also get
|
||||||
gstreamer1-libav from there).
|
gstreamer1-libav from there).
|
||||||
|
|
||||||
- **Mageia, pclinuxos, OpenMandriva:** (sudo dnf install, or sudo yum
|
- **Mageia, PCLinuxOS, OpenMandriva:** Install gstreamer1.0-libav
|
||||||
install) gstreamer1.0-libav gstreamer1.0-plugins-bad (+
|
gstreamer1.0-plugins-bad (+ gstreamer1.0-vaapi for Intel/AMD
|
||||||
gstreamer1.0-vaapi for Intel/AMD graphics). **On Mageia, to get
|
graphics). **On Mageia, to get avdec_aac, install ffmpeg from the
|
||||||
avdec_aac, install ffmpeg from the "tainted" repository**, (which
|
"tainted" repository**, (which also provides a more complete
|
||||||
also provides a more complete gstreamer1.0-plugins-bad). pclinuxos:
|
gstreamer1.0-plugins-bad).
|
||||||
same as Mageia, but uses synaptic (or apt) as its package manager.
|
|
||||||
|
|
||||||
- **openSUSE:** (sudo zypper install) gstreamer-plugins-libav
|
- **openSUSE:** Install gstreamer-plugins-libav gstreamer-plugins-bad
|
||||||
gstreamer-plugins-bad (+ gstreamer-plugins-vaapi for Intel/AMD
|
(+ gstreamer-plugins-vaapi for Intel/AMD graphics). **To get
|
||||||
graphics). **To get avdec_aac, install libav\* packages for openSUSE
|
avdec_aac, install libav\* packages for openSUSE from
|
||||||
from [Packman](https://ftp.gwdg.de/pub/linux/misc/packman/suse/)
|
[Packman](https://ftp.gwdg.de/pub/linux/misc/packman/suse/)
|
||||||
"Essentials"**; recommendation: after adding the Packman repository,
|
"Essentials"**; recommendation: after adding the Packman repository,
|
||||||
use the option in YaST Software management to switch all system
|
use the option in YaST Software management to switch all system
|
||||||
packages for multimedia to Packman).
|
packages for multimedia to Packman).
|
||||||
|
|
||||||
- **Arch Linux** (sudo pacman -Syu) gst-plugins-good gst-plugins-bad
|
- **Arch Linux** Install gst-plugins-good gst-plugins-bad gst-libav (+
|
||||||
gst-libav (+ gstreamer-vaapi for Intel/AMD graphics).
|
gstreamer-vaapi for Intel/AMD graphics).
|
||||||
|
|
||||||
- **FreeBSD:** (sudo pkg install) gstreamer1-libav,
|
- **FreeBSD:** Install gstreamer1-libav, gstreamer1-plugins,
|
||||||
gstreamer1-plugins, gstreamer1-plugins-\* (\* = core, good, bad, x,
|
gstreamer1-plugins-\* (\* = core, good, bad, x, gtk, gl, vulkan,
|
||||||
gtk, gl, vulkan, pulse, v4l2, ...), (+ gstreamer1-vaapi for
|
pulse, v4l2, ...), (+ gstreamer1-vaapi for Intel/AMD graphics).
|
||||||
Intel/AMD graphics).
|
|
||||||
|
|
||||||
### Starting and running UxPlay
|
### Starting and running UxPlay
|
||||||
|
|
||||||
@@ -721,15 +721,14 @@ device is rotated).
|
|||||||
|
|
||||||
- tested on Windows 10 and 11, 64-bit.
|
- tested on Windows 10 and 11, 64-bit.
|
||||||
|
|
||||||
1. Download and install **Bonjour SDK for Windows v3.0** from the
|
1. Download and install **Bonjour SDK for Windows v3.0**. You can
|
||||||
official Apple site
|
download the SDK without any registration at
|
||||||
[https://developer.apple.com/download](https://developer.apple.com/download/all/?q=Bonjour%20SDK%20for%20Windows).
|
[softpedia.com](https://www.softpedia.com/get/Programming/SDK-DDK/Bonjour-SDK.shtml),
|
||||||
(Apple makes you register as a developer to access it; if you do not
|
or get it from the official Apple site
|
||||||
want to go through the registration process, you can download the
|
[https://developer.apple.com/download](https://developer.apple.com/download/all/?q=Bonjour%20SDK%20for%20Windows)
|
||||||
SDK without any registration at
|
(Apple makes you register as a developer to access it from their
|
||||||
[softpedia.com](https://www.softpedia.com/get/Programming/SDK-DDK/Bonjour-SDK.shtml).)
|
site). This should install the Bonjour SDK as
|
||||||
This should install the Bonjour SDK as
|
`C:\Program Files\Bonjour SDK`.
|
||||||
`C:\Program Files\Bonjour SDK`
|
|
||||||
|
|
||||||
2. (This is for 64-bit Windows; a build for 32-bit Windows should be
|
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
|
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:
|
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
|
**-n server_name** (Default: UxPlay); server_name@\_hostname\_ will be
|
||||||
the name that appears offering AirPlay services to your iPad, iPhone
|
the name that appears offering AirPlay services to your iPad, iPhone
|
||||||
etc, where *hostname* is the name of the server running uxplay. This
|
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
|
**-al *x*** specifies an audio latency *x* in (decimal) seconds in
|
||||||
Audio-only (ALAC), that is reported to the client. Values in the range
|
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
|
\[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
|
number of microseconds. Default is 0.25 sec (250000 usec). *(However,
|
||||||
replaces the `-ao` option introduced in v1.62, as a workaround for a
|
the client appears to ignore this reported latency, so this option seems
|
||||||
problem that is now fixed).
|
non-functional.)*
|
||||||
|
|
||||||
**-ca *filename*** provides a file (where *filename* can include a full
|
**-ca *filename*** provides a file (where *filename* can include a full
|
||||||
path) used for output of "cover art" (from Apple Music, *etc.*,) in
|
path) used for output of "cover art" (from Apple Music, *etc.*,) in
|
||||||
@@ -1391,11 +1396,12 @@ what UxPlay claims to be.
|
|||||||
|
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
1.65.3 2023-07-23 Add RPM spec file; add graceful exit if required
|
1.65.3 2023-07-23 Add RPM spec file; add warning if required gstreamer
|
||||||
gstreamer libav feature "avdec_aac" is missing: (this occurs in
|
libav feature "avdec_aac" is missing: (this occurs in RPM-based
|
||||||
RPM-based distributions that ship an incomplete FFmpeg for Patent or
|
distributions that ship an incomplete FFmpeg for Patent or License
|
||||||
License reasons, and rely on users installing an externally-supplied
|
reasons, and rely on users installing an externally-supplied complete
|
||||||
complete FFmpeg).
|
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
|
1.65 2023-06-03 Eliminate pair_setup part of connection protocol to
|
||||||
allow faster connections with clients (thanks to @shuax #176 for this
|
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")) {
|
if (strstr(err->message,"Internal data stream error")) {
|
||||||
logger_log(logger, LOGGER_INFO,
|
logger_log(logger, LOGGER_INFO,
|
||||||
"*** This is a generic GStreamer error that usually means that GStreamer\n"
|
"*** 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"
|
"*** If you are letting the default autovideosink select the videosink,\n"
|
||||||
"*** GStreamer may be trying to use non-functional hardware h264 video decoding.\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"
|
"*** Try using option -avdec to force software decoding or use -vs <videosink>\n"
|
||||||
"*** to select a videosink of your choice (see \"man uxplay\").\n"
|
"*** to select a videosink of your choice (see \"man uxplay\").\n\n"
|
||||||
"*** Raspberry Pi OS with GStreamer-1.18.4 needs \"-bt709\" uxplay option");
|
"*** Raspberry Pi OS with (unpatched) GStreamer-1.18.4 needs \"-bt709\" uxplay option");
|
||||||
}
|
}
|
||||||
g_error_free (err);
|
g_error_free (err);
|
||||||
g_free (debug);
|
g_free (debug);
|
||||||
|
|||||||
17
uxplay.spec
17
uxplay.spec
@@ -50,14 +50,14 @@ Requires: gstreamer-plugins-bad
|
|||||||
Requires: gstreamer-plugins-libav
|
Requires: gstreamer-plugins-libav
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
#Mageia, OpenMandriva, pclinuxos (Mandrake descendents)
|
#Mageia, OpenMandriva, PCLinuxOS (Mandriva/Mandrake descendents)
|
||||||
%if "%{_host_vendor}" == "mageia" || %{defined omvver} || "%{_host_vendor}" == "mandriva"
|
%if "%{_host_vendor}" == "mageia" || %{defined omvver} || "%{_host_vendor}" == "mandriva"
|
||||||
%if "%{_host_vendor}" == "mandriva"
|
%if "%{_host_vendor}" == "mandriva"
|
||||||
# "mandriva" is pclinuxos.
|
# host_vendor = "mandriva" identifies PCLinuxOS.
|
||||||
# as of 07/2023, pclinuxos does not seem to supply openssl >= 3.0
|
# 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
|
# Note that UxPlay does not have a "GPL exception" allowing it to be
|
||||||
# distributed in binary form when linked to openssl < 3.0, unless
|
# distributed in binary form when linked to openssl < 3.0, unless that
|
||||||
# openssl < 3.0 can be regarded as a "system library".
|
# OpenSSL < 3.0 qualifies as a "system library".
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
BuildRequires: %{mklibname openssl-devel} >= 1.1.1
|
BuildRequires: %{mklibname openssl-devel} >= 1.1.1
|
||||||
Requires: %{mklibname openssl1.1.0}
|
Requires: %{mklibname openssl1.1.0}
|
||||||
@@ -71,14 +71,15 @@ Requires: %{mklibname openssl3}
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: %{mklibname plist-devel} >= 2.0
|
BuildRequires: %{mklibname plist-devel} >= 2.0
|
||||||
Requires: %{mklibname plist2.0_3}
|
|
||||||
BuildRequires: %{mklibname avahi-compat-libdns_sd-devel}
|
BuildRequires: %{mklibname avahi-compat-libdns_sd-devel}
|
||||||
%if %{defined omvver}
|
%if %{defined omvver}
|
||||||
BuildRequires: %{mklibname gstreamer-devel}
|
BuildRequires: %{mklibname gstreamer-devel}
|
||||||
BuildRequires: %{mklibname gst-plugins-base1.0-devel}
|
BuildRequires: %{mklibname gst-plugins-base1.0-devel}
|
||||||
|
Requires: %{mklibname plist} >= 2.0
|
||||||
%else
|
%else
|
||||||
BuildRequires: %{mklibname gstreamer1.0-devel}
|
BuildRequires: %{mklibname gstreamer1.0-devel}
|
||||||
BuildRequires: %{mklibname gstreamer-plugins-base1.0-devel}
|
BuildRequires: %{mklibname gstreamer-plugins-base1.0-devel}
|
||||||
|
Requires: %{mklibname plist2.0_3}
|
||||||
%endif
|
%endif
|
||||||
Requires: gstreamer1.0-plugins-base
|
Requires: gstreamer1.0-plugins-base
|
||||||
Requires: gstreamer1.0-plugins-good
|
Requires: gstreamer1.0-plugins-good
|
||||||
@@ -133,7 +134,7 @@ cd build
|
|||||||
%{_docdir}/%{name}/llhttp/LICENSE-MIT
|
%{_docdir}/%{name}/llhttp/LICENSE-MIT
|
||||||
|
|
||||||
%changelog
|
%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
|
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