mirror of
https://github.com/morgan9e/UxPlay
synced 2026-04-14 00:04:13 +09:00
README edit (minor)
This commit is contained in:
92
README.html
92
README.html
@@ -461,22 +461,16 @@ mDNS queries) needed by Avahi</strong>. See <a
|
||||
href="#troubleshooting">Troubleshooting</a> below for help with this or
|
||||
other problems.</p>
|
||||
<ul>
|
||||
<li><p>Since v 1.67, the UxPlay option “<code>-pin</code>” allows
|
||||
clients to “pair” with the UxPlay server the first time they connect to
|
||||
it, by entering a 4-digit pin code that is displayed on the UxPlay
|
||||
terminal. (This is optional, but sometimes required if the client is a
|
||||
corporately-owned and -managed device with MDM Mobile Device
|
||||
Management.) Pairing occurs just once, is currently only recorded by the
|
||||
client unless the -reg option is used, and persists until the UxPlay
|
||||
public key is changed. By default (since v1.68) the public key is now
|
||||
generated using the “Device ID”, which is either the server’s hardware
|
||||
MAC address, or can be set with the -m option (most conveniently using
|
||||
the startup option file). (Storage of a more securely-generated
|
||||
persistent key as an OpenSSL “pem” file is still available with the -key
|
||||
option). For use of uxplay in a more public environment, a list of
|
||||
previously-registered clients can (since v1.68) be optionally-maintained
|
||||
using the -reg option: without this option, returning clients claiming
|
||||
to be registered are just trusted and not checked.</p></li>
|
||||
<li><p>Unlike an Apple TV, the UxPlay server does not by default require
|
||||
clients to initially “pair” with it using a pin code displayed by the
|
||||
server (after which the client “trusts” the server, and does not need to
|
||||
repeat this). Since v1.67, Uxplay offers such “pin-authentication” as an
|
||||
option: see “<code>-pin</code>” and “<code>-reg</code>” in <a
|
||||
href="#usage">Usage</a> for details, if you wish to use it. <em>Some
|
||||
clients with MDM (Mobile Device Management, often present on
|
||||
employer-owned devices) are required to use pin-authentication: UxPlay
|
||||
will provide this even when running without the pin
|
||||
option.</em></p></li>
|
||||
<li><p>By default, UxPlay is locked to its current client until that
|
||||
client drops the connection; since UxPlay-1.58, the option
|
||||
<code>-nohold</code> modifies this behavior so that when a new client
|
||||
@@ -596,15 +590,16 @@ tree</a>; distributions that are known to supply it include Raspberry Pi
|
||||
OS, Ubuntu, and Manjaro-RPi4. Use software decoding (option -avdec) if
|
||||
this module is not available.</p></li>
|
||||
<li><p>Uxplay uses the Video4Linux2 (v4l2) plugin from GStreamer-1.22
|
||||
and later to access the GPU in models 3 and 4. This should happen
|
||||
automatically. The option -v4l2 can be used, but it is usually best to
|
||||
just let GStreamer find the best video pipeline by itself.</p></li>
|
||||
and later to access the GPU, if hardware H264 decoding is used. This
|
||||
should happen automatically. The option -v4l2 can be used, but it is
|
||||
usually best to just let GStreamer find the best video pipeline by
|
||||
itself.</p></li>
|
||||
<li><p>On older distributions (GStreamer < 1.22), the v4l2 plugin
|
||||
needs a patch: see the <a
|
||||
href="https://github.com/FDH2/UxPlay/wiki/Gstreamer-Video4Linux2-plugin-patches">UxPlay
|
||||
Wiki</a>. Legacy Raspberry Pi OS (Bullseye) has a partially-patched
|
||||
GStreamer-1.18.4 which needs the uxplay option -bt709 (and don’t use
|
||||
-v4l2); it is still better to apply the full patch from the UzxPlay Wiki
|
||||
-v4l2); it is still better to apply the full patch from the UxPlay Wiki
|
||||
in this case.</p></li>
|
||||
<li><p>For “double-legacy” Raspberry Pi OS (Buster), there is no patch
|
||||
for GStreamer-1.14. Instead, first build a complete newer
|
||||
@@ -621,11 +616,11 @@ is present in Buster.</p></li>
|
||||
lower-power models to keep audio and video synchronized using
|
||||
timestamps. In Legacy Raspberry Pi OS (Bullseye), raspi-config
|
||||
“Performance Options” allows specifying how much memory to allocate to
|
||||
the GPU, but this setting appears to be gone in Bookworm (it can also be
|
||||
set to e.g. 128GB with a line like “gpu_mem=128” in /boot/config.txt). A
|
||||
Pi Zero 2 W (which has 512GB memory) worked well when tested in 32 bit
|
||||
Bullseye or Bookworm Lite with 128GB allocated to the GPU (default seems
|
||||
to be 64GB).</p>
|
||||
the GPU, but this setting appears to be absent in Bookworm (but it can
|
||||
still be set to e.g. 128GB by adding a line “gpu_mem=128” in
|
||||
/boot/config.txt). A Pi Zero 2 W (which has 512GB memory) worked well
|
||||
when tested in 32 bit Bullseye or Bookworm Lite with 128GB allocated to
|
||||
the GPU (default seems to be 64GB).</p>
|
||||
<p>The basic uxplay options for R Pi are
|
||||
<code>uxplay [-vs <videosink>]</code>. The choice
|
||||
<code><videosink></code> = <code>glimagesink</code> is sometimes
|
||||
@@ -896,23 +891,26 @@ time: a four-digit pin code is displayed on the terminal, and the client
|
||||
screen shows a login prompt for this to be entered. When “-pin” is used
|
||||
by itself, a new random pin code is chosen for each authentication; if
|
||||
“-pin nnnn” (e.g., “-pin 3939”) is used, this will set an unchanging
|
||||
fixed code. Clients will not need to reauthenticate so long as the
|
||||
client and server public keys remain unchanged. (By default since v1.68,
|
||||
the server public key is generated from the MAC address, which can be
|
||||
changed with the -m option; see the -key option for an alternative
|
||||
method of key generation). <em>(Add a line “pin” in the UxPlay startup
|
||||
file if you wish the UxPlay server to use the pin authentication
|
||||
protocol).</em></p>
|
||||
<p><strong>-reg [<em>filename</em>]</strong>: (since v1.68). This option
|
||||
maintains a list of previously-pin-registered clients in
|
||||
$HOME/.uxplay.register (or optionally, in <em>filename</em>). Without
|
||||
this option, returning clients claiming to be already pin-registered are
|
||||
trusted and not checked. (This option may be useful if UxPlay is used in
|
||||
a more public environment, to record client details; the register is
|
||||
text, one line per client, with client’s public key (base-64 format),
|
||||
Device ID, and Device name; commenting out (with “#”) or deleting a line
|
||||
deregisters the corresponding client.) <em>(Add a line “reg” in the
|
||||
startup file if you wish to use this feature.)</em></p>
|
||||
fixed code. Authentication adds the server to the client’s list of
|
||||
“trusted servers” and the client will not need to reauthenticate
|
||||
provided that the client and server public keys remain unchanged. (By
|
||||
default since v1.68, the server public key is generated from the MAC
|
||||
address, which can be changed with the -m option; see the -key option
|
||||
for an alternative method of key generation). <em>(Add a line “pin” in
|
||||
the UxPlay startup file if you wish the UxPlay server to use the pin
|
||||
authentication protocol).</em></p>
|
||||
<p><strong>-reg [<em>filename</em>]</strong>: (since v1.68). If “-pin”
|
||||
is used, this option maintains a register of pin-authenticated “trusted
|
||||
clients” in $HOME/.uxplay.register (or optionally, in
|
||||
<em>filename</em>). Without this option, returning clients that skip
|
||||
pin-authentication are trusted and not checked. This option may be
|
||||
useful if UxPlay is used in a more public environment, to record client
|
||||
details; the register is text, one line per client, with client’s public
|
||||
key (base-64 format), Device ID, and Device name; commenting out (with
|
||||
“#”) or deleting a line deregisters the corresponding client (see
|
||||
options -restrict, -block, -allow for more ways to control client
|
||||
access). <em>(Add a line “reg” in the startup file if you wish to use
|
||||
this feature.)</em></p>
|
||||
<p><strong>-vsync [x]</strong> (In Mirror mode:) this option
|
||||
(<strong>now the default</strong>) uses timestamps to synchronize audio
|
||||
with video on the server, with an optional audio delay in (decimal)
|
||||
@@ -1020,8 +1018,8 @@ videosink name. For example, <strong>fullscreen</strong> mode is
|
||||
supported by the vaapisink plugin, and is obtained using
|
||||
<code>-vs "vaapisink fullscreen=true"</code>; this also works with
|
||||
<code>waylandsink</code>. The syntax of such options is specific to a
|
||||
given plugin, and some choices of videosink might not work on your
|
||||
system.</p>
|
||||
given plugin (see GStreamer documentation), and some choices of
|
||||
videosink might not work on your system.</p>
|
||||
<p><strong>-vs 0</strong> suppresses display of streamed video. In
|
||||
mirror mode, the client’s screen is still mirrored at a reduced rate of
|
||||
1 frame per second, but is not rendered or displayed. This option should
|
||||
@@ -1051,8 +1049,10 @@ audiosink, instead of letting autoaudiosink pick it for you. Some
|
||||
audiosink choices are: pulsesink, alsasink, pipewiresink, osssink,
|
||||
oss4sink, jackaudiosink, osxaudiosink (for macOS), wasapisink,
|
||||
directsoundsink (for Windows). Using quotes “…” might allow some
|
||||
parameters to be included with the audiosink name. (Some choices of
|
||||
audiosink might not work on your system.)</p>
|
||||
optional parameters (e.g. <code>-as "alsasink device=..."</code> to
|
||||
specify a non-default output device). The syntax of such options is
|
||||
specific to a given plugin (see GStreamer documentation), and some
|
||||
choices of audiosink might not work on your system.</p>
|
||||
<p><strong>-as 0</strong> (or just <strong>-a</strong>) suppresses
|
||||
playing of streamed audio, but displays streamed video.</p>
|
||||
<p><strong>-al <em>x</em></strong> specifies an audio latency <em>x</em>
|
||||
|
||||
62
README.md
62
README.md
@@ -377,17 +377,14 @@ are opened: **if a firewall is active, also open UDP port 5353 (for mDNS queries
|
||||
needed by Avahi**. See [Troubleshooting](#troubleshooting) below for
|
||||
help with this or other problems.
|
||||
|
||||
* Since v 1.67, the UxPlay option "`-pin`" allows clients to "pair" with the UxPlay server
|
||||
the first time they connect to it, by entering
|
||||
a 4-digit pin code that is displayed on the UxPlay terminal. (This is optional, but sometimes required if the client is a
|
||||
corporately-owned and -managed device with MDM Mobile Device Management.) Pairing occurs just once, is currently only
|
||||
recorded by the client unless the -reg option is used, and persists until the
|
||||
UxPlay public key is changed. By default (since v1.68) the public key is now generated using the "Device ID", which is either the server's
|
||||
hardware MAC address, or
|
||||
can be set with the -m option (most conveniently using the startup option file). (Storage of a more securely-generated
|
||||
persistent key as an OpenSSL "pem" file is still available with the -key option). For use of uxplay in a more public environment, a
|
||||
list of previously-registered clients can (since v1.68) be optionally-maintained using the -reg option: without this
|
||||
option, returning clients claiming to be registered are just trusted and not checked.
|
||||
* Unlike an Apple TV, the UxPlay server
|
||||
does not by default require clients to initially "pair" with it using a pin code
|
||||
displayed by the server (after which the client "trusts" the server, and does not
|
||||
need to repeat this). Since v1.67, Uxplay offers such "pin-authentication" as an option:
|
||||
see "`-pin`" and "``-reg``" in [Usage](#usage) for details, if you wish to use
|
||||
it. _Some clients
|
||||
with MDM (Mobile Device Management, often present on employer-owned devices) are required to use pin-authentication: UxPlay will
|
||||
provide this even when running without the pin option._
|
||||
|
||||
* By default, UxPlay is locked to
|
||||
its current client until that client drops the connection; since UxPlay-1.58, the option `-nohold` modifies this
|
||||
@@ -399,7 +396,7 @@ a mechanism ( `-restrict`, ``-allow <id>``, ```-block <id>```) to control which
|
||||
the video and audio streams were both played as soon as possible after they arrived (the GStreamer "_sync=false_" method), with
|
||||
a GStreamer internal clock used to try to keep them synchronized. **Starting with UxPlay-1.64, the other method
|
||||
(GStreamer's "_sync=true_" mode), which uses timestamps in the audio and video streams sent by the client, is the new default**.
|
||||
On low-decoding-power UxPlay hosts (such as Raspberry Pi 3 models) this will drop video frames that cannot be decoded in time
|
||||
On low-decoding-power UxPlay hosts (such as Raspberry Pi Zero W or 3 B+ models) this will drop video frames that cannot be decoded in time
|
||||
to play with the audio, making the video jerky, but still synchronized.
|
||||
|
||||
The older method which does not drop late video frames
|
||||
@@ -417,8 +414,9 @@ if you want to follow the Apple Music lyrics on the client while listening to su
|
||||
delays the video on the client to match audio on the server, so leads to
|
||||
a slight delay before a pause or track-change initiated on the client takes effect on the audio played by the server.
|
||||
|
||||
AirPlay volume-control attenuates volume (gain) by up to -30dB: the range -30dB:0dB can be rescaled from _Low_:0, or _Low_:_High_, using the
|
||||
option `-db` ("-db _Low_ " or "-db _Low_:_High_ "), _Low_ must be negative. Rescaling is linear in decibels. The option ```-taper``` provides a "tapered" AirPlay volume-control
|
||||
AirPlay volume-control attenuates volume (gain) by up to -30dB: the decibel range -30:0 can be rescaled from _Low_:0, or _Low_:_High_, using the
|
||||
option `-db` ("-db _Low_ " or "-db _Low_:_High_ "), _Low_ must be negative. Rescaling is linear in decibels. The
|
||||
option ```-taper``` provides a "tapered" AirPlay volume-control
|
||||
profile some users may prefer.
|
||||
|
||||
The -vsync and -async options
|
||||
@@ -475,14 +473,14 @@ See [Usage](#usage) for more run-time options.
|
||||
distributions that are known to supply it include Raspberry Pi OS, Ubuntu, and Manjaro-RPi4. Use
|
||||
software decoding (option -avdec) if this module is not available.
|
||||
|
||||
* Uxplay uses the Video4Linux2 (v4l2) plugin from GStreamer-1.22 and later to access the GPU in models 3 and 4. This
|
||||
* Uxplay uses the Video4Linux2 (v4l2) plugin from GStreamer-1.22 and later to access the GPU, if hardware H264 decoding is used. This
|
||||
should happen automatically. The option -v4l2 can be used, but it is usually best to just let GStreamer find the
|
||||
best video pipeline by itself.
|
||||
|
||||
* On older distributions (GStreamer < 1.22), the v4l2 plugin needs a patch: see
|
||||
the [UxPlay Wiki](https://github.com/FDH2/UxPlay/wiki/Gstreamer-Video4Linux2-plugin-patches). Legacy
|
||||
Raspberry Pi OS (Bullseye) has a partially-patched GStreamer-1.18.4 which needs the uxplay option -bt709 (and don't use -v4l2); it
|
||||
is still better to apply the full patch from the UzxPlay Wiki in this case.
|
||||
is still better to apply the full patch from the UxPlay Wiki in this case.
|
||||
|
||||
* For "double-legacy" Raspberry Pi OS (Buster), there is no patch for GStreamer-1.14.
|
||||
Instead, first build a complete newer GStreamer-1.18.6 from source
|
||||
@@ -495,7 +493,7 @@ See [Usage](#usage) for more run-time options.
|
||||
|
||||
Even with GPU video decoding, some frames may be dropped by the lower-power models to keep audio and video synchronized
|
||||
using timestamps. In Legacy Raspberry Pi OS (Bullseye), raspi-config "Performance Options" allows specifying how much memory
|
||||
to allocate to the GPU, but this setting appears to be gone in Bookworm (it can also be set to e.g. 128GB with a line like "gpu_mem=128" in /boot/config.txt).
|
||||
to allocate to the GPU, but this setting appears to be absent in Bookworm (but it can still be set to e.g. 128GB by adding a line "gpu_mem=128" in /boot/config.txt).
|
||||
A Pi Zero 2 W (which has 512GB memory) worked well when tested in 32 bit Bullseye or Bookworm Lite
|
||||
with 128GB allocated to the GPU (default seems to be 64GB).
|
||||
|
||||
@@ -600,7 +598,7 @@ After installing GStreamer, build and install uxplay: open a terminal and change
|
||||
the (small) initial OpenGL mirror window size, but the window can be expanded using the mouse or trackpad.
|
||||
In contrast, a window created with "-vs osxvideosink" is initially big, but has the wrong aspect ratio (stretched image);
|
||||
in this case the aspect ratio changes when the window width is changed by dragging its side;
|
||||
the option "-vs osxvideosink force-aspect-ratio=true" can be used to make the window have the
|
||||
the option `-vs "osxvideosink force-aspect-ratio=true"` can be used to make the window have the
|
||||
correct aspect ratio when it first opens.
|
||||
|
||||
## Building UxPlay on Microsoft Windows, using MSYS2 with the MinGW-64 compiler.
|
||||
@@ -712,18 +710,17 @@ with "`#`" are treated as comments, and ignored. Command line options supersede
|
||||
|
||||
**-pin [nnnn]**: (since v1.67) use Apple-style (one-time) "pin" authentication when a new client connects for the first time: a four-digit pin code is
|
||||
displayed on the terminal, and the client screen shows a login prompt for this to be entered. When "-pin" is used by itself, a new random
|
||||
pin code is chosen for each authentication; if "-pin nnnn" (e.g., "-pin 3939") is used, this will set an unchanging fixed code.
|
||||
Clients will not need to reauthenticate so long as the client and server public keys remain unchanged. (By default since v1.68, the server public key is
|
||||
generated from the MAC address, which can be changed with the -m option; see the -key option for an alternative method of key
|
||||
generation). _(Add a line "pin" in the UxPlay startup file if you wish the
|
||||
UxPlay server to use the pin authentication protocol)._
|
||||
pin code is chosen for each authentication; if "-pin nnnn" (e.g., "-pin 3939") is used, this will set an unchanging fixed code. Authentication adds the server to the client's list of
|
||||
"trusted servers" and the client will not need to reauthenticate provided that the client and server public keys remain unchanged. (By default since v1.68, the server public key is
|
||||
generated from the MAC address, which can be changed with the -m option; see the -key option for an alternative method of key
|
||||
generation). _(Add a line "pin" in the UxPlay startup file if you wish the UxPlay server to use the pin authentication protocol)._
|
||||
|
||||
**-reg [_filename_]**: (since v1.68). This option maintains a list of previously-pin-registered clients in $HOME/.uxplay.register (or optionally, in _filename_).
|
||||
Without this option, returning clients claiming to be already pin-registered are trusted and not checked. (This option may be useful if UxPlay is used
|
||||
in a more public environment, to record client details; the register is text, one line per client, with client's public
|
||||
**-reg [_filename_]**: (since v1.68). If "-pin" is used, this option
|
||||
maintains a register of pin-authenticated "trusted clients" in $HOME/.uxplay.register (or optionally, in _filename_).
|
||||
Without this option, returning clients that skip pin-authentication are trusted and not checked. This option may be useful if UxPlay is used
|
||||
in a more public environment, to record client details; the register is text, one line per client, with client's public
|
||||
key (base-64 format), Device ID, and Device name; commenting out (with "#") or deleting a line deregisters the
|
||||
corresponding client.) _(Add a line "reg" in the startup file if you wish to use this feature.)_
|
||||
|
||||
corresponding client (see options -restrict, -block, -allow for more ways to control client access). _(Add a line "reg" in the startup file if you wish to use this feature.)_
|
||||
|
||||
**-vsync [x]** (In Mirror mode:) this option (**now the default**) uses timestamps to synchronize audio with video on the server,
|
||||
with an optional audio delay in (decimal) milliseconds (_x_ = "20.5" means 0.0205 seconds delay: positive or
|
||||
@@ -814,7 +811,7 @@ which will not work if a firewall is running.
|
||||
"..." allows some parameters to be included with the videosink name.
|
||||
For example, **fullscreen** mode is supported by the vaapisink plugin, and is
|
||||
obtained using ``-vs "vaapisink fullscreen=true"``; this also works with ``waylandsink``.
|
||||
The syntax of such options is specific to a given plugin, and some choices of videosink
|
||||
The syntax of such options is specific to a given plugin (see GStreamer documentation), and some choices of videosink
|
||||
might not work on your system.
|
||||
|
||||
**-vs 0** suppresses display of streamed video. In mirror mode, the client's screen
|
||||
@@ -840,9 +837,10 @@ which will not work if a firewall is running.
|
||||
|
||||
**-as _audiosink_** chooses the GStreamer audiosink, instead of letting
|
||||
autoaudiosink pick it for you. Some audiosink choices are: pulsesink, alsasink, pipewiresink,
|
||||
osssink, oss4sink, jackaudiosink, osxaudiosink (for macOS), wasapisink, directsoundsink (for Windows). Using quotes
|
||||
"..." might allow some parameters to be included with the audiosink name.
|
||||
(Some choices of audiosink might not work on your system.)
|
||||
osssink, oss4sink, jackaudiosink, osxaudiosink (for macOS), wasapisink, directsoundsink (for Windows).
|
||||
Using quotes "..." might allow some optional parameters (e.g. `-as "alsasink device=..."` to specify a non-default output device).
|
||||
The syntax of such options is specific to a given plugin (see GStreamer documentation), and some choices of audiosink
|
||||
might not work on your system.
|
||||
|
||||
**-as 0** (or just **-a**) suppresses playing of streamed audio, but displays streamed video.
|
||||
|
||||
|
||||
92
README.txt
92
README.txt
@@ -454,23 +454,15 @@ opened: **if a firewall is active, also open UDP port 5353 (for mDNS
|
||||
queries) needed by Avahi**. See [Troubleshooting](#troubleshooting)
|
||||
below for help with this or other problems.
|
||||
|
||||
- Since v 1.67, the UxPlay option "`-pin`" allows clients to "pair"
|
||||
with the UxPlay server the first time they connect to it, by
|
||||
entering a 4-digit pin code that is displayed on the UxPlay
|
||||
terminal. (This is optional, but sometimes required if the client is
|
||||
a corporately-owned and -managed device with MDM Mobile Device
|
||||
Management.) Pairing occurs just once, is currently only recorded by
|
||||
the client unless the -reg option is used, and persists until the
|
||||
UxPlay public key is changed. By default (since v1.68) the public
|
||||
key is now generated using the "Device ID", which is either the
|
||||
server's hardware MAC address, or can be set with the -m option
|
||||
(most conveniently using the startup option file). (Storage of a
|
||||
more securely-generated persistent key as an OpenSSL "pem" file is
|
||||
still available with the -key option). For use of uxplay in a more
|
||||
public environment, a list of previously-registered clients can
|
||||
(since v1.68) be optionally-maintained using the -reg option:
|
||||
without this option, returning clients claiming to be registered are
|
||||
just trusted and not checked.
|
||||
- Unlike an Apple TV, the UxPlay server does not by default require
|
||||
clients to initially "pair" with it using a pin code displayed by
|
||||
the server (after which the client "trusts" the server, and does not
|
||||
need to repeat this). Since v1.67, Uxplay offers such
|
||||
"pin-authentication" as an option: see "`-pin`" and "`-reg`" in
|
||||
[Usage](#usage) for details, if you wish to use it. *Some clients
|
||||
with MDM (Mobile Device Management, often present on employer-owned
|
||||
devices) are required to use pin-authentication: UxPlay will provide
|
||||
this even when running without the pin option.*
|
||||
|
||||
- By default, UxPlay is locked to its current client until that client
|
||||
drops the connection; since UxPlay-1.58, the option `-nohold`
|
||||
@@ -594,16 +586,17 @@ See [Usage](#usage) for more run-time options.
|
||||
is not available.
|
||||
|
||||
- Uxplay uses the Video4Linux2 (v4l2) plugin from GStreamer-1.22 and
|
||||
later to access the GPU in models 3 and 4. This should happen
|
||||
automatically. The option -v4l2 can be used, but it is usually best
|
||||
to just let GStreamer find the best video pipeline by itself.
|
||||
later to access the GPU, if hardware H264 decoding is used. This
|
||||
should happen automatically. The option -v4l2 can be used, but it is
|
||||
usually best to just let GStreamer find the best video pipeline by
|
||||
itself.
|
||||
|
||||
- On older distributions (GStreamer \< 1.22), the v4l2 plugin needs a
|
||||
patch: see the [UxPlay
|
||||
Wiki](https://github.com/FDH2/UxPlay/wiki/Gstreamer-Video4Linux2-plugin-patches).
|
||||
Legacy Raspberry Pi OS (Bullseye) has a partially-patched
|
||||
GStreamer-1.18.4 which needs the uxplay option -bt709 (and don't use
|
||||
-v4l2); it is still better to apply the full patch from the UzxPlay
|
||||
-v4l2); it is still better to apply the full patch from the UxPlay
|
||||
Wiki in this case.
|
||||
|
||||
- For "double-legacy" Raspberry Pi OS (Buster), there is no patch for
|
||||
@@ -621,11 +614,11 @@ Even with GPU video decoding, some frames may be dropped by the
|
||||
lower-power models to keep audio and video synchronized using
|
||||
timestamps. In Legacy Raspberry Pi OS (Bullseye), raspi-config
|
||||
"Performance Options" allows specifying how much memory to allocate to
|
||||
the GPU, but this setting appears to be gone in Bookworm (it can also be
|
||||
set to e.g. 128GB with a line like "gpu_mem=128" in /boot/config.txt). A
|
||||
Pi Zero 2 W (which has 512GB memory) worked well when tested in 32 bit
|
||||
Bullseye or Bookworm Lite with 128GB allocated to the GPU (default seems
|
||||
to be 64GB).
|
||||
the GPU, but this setting appears to be absent in Bookworm (but it can
|
||||
still be set to e.g. 128GB by adding a line "gpu_mem=128" in
|
||||
/boot/config.txt). A Pi Zero 2 W (which has 512GB memory) worked well
|
||||
when tested in 32 bit Bullseye or Bookworm Lite with 128GB allocated to
|
||||
the GPU (default seems to be 64GB).
|
||||
|
||||
The basic uxplay options for R Pi are `uxplay [-vs <videosink>]`. The
|
||||
choice `<videosink>` = `glimagesink` is sometimes useful. With the
|
||||
@@ -904,23 +897,26 @@ four-digit pin code is displayed on the terminal, and the client screen
|
||||
shows a login prompt for this to be entered. When "-pin" is used by
|
||||
itself, a new random pin code is chosen for each authentication; if
|
||||
"-pin nnnn" (e.g., "-pin 3939") is used, this will set an unchanging
|
||||
fixed code. Clients will not need to reauthenticate so long as the
|
||||
client and server public keys remain unchanged. (By default since v1.68,
|
||||
the server public key is generated from the MAC address, which can be
|
||||
changed with the -m option; see the -key option for an alternative
|
||||
method of key generation). *(Add a line "pin" in the UxPlay startup file
|
||||
if you wish the UxPlay server to use the pin authentication protocol).*
|
||||
fixed code. Authentication adds the server to the client's list of
|
||||
"trusted servers" and the client will not need to reauthenticate
|
||||
provided that the client and server public keys remain unchanged. (By
|
||||
default since v1.68, the server public key is generated from the MAC
|
||||
address, which can be changed with the -m option; see the -key option
|
||||
for an alternative method of key generation). *(Add a line "pin" in the
|
||||
UxPlay startup file if you wish the UxPlay server to use the pin
|
||||
authentication protocol).*
|
||||
|
||||
**-reg \[*filename*\]**: (since v1.68). This option maintains a list of
|
||||
previously-pin-registered clients in \$HOME/.uxplay.register (or
|
||||
optionally, in *filename*). Without this option, returning clients
|
||||
claiming to be already pin-registered are trusted and not checked. (This
|
||||
option may be useful if UxPlay is used in a more public environment, to
|
||||
record client details; the register is text, one line per client, with
|
||||
client's public key (base-64 format), Device ID, and Device name;
|
||||
commenting out (with "\#") or deleting a line deregisters the
|
||||
corresponding client.) *(Add a line "reg" in the startup file if you
|
||||
wish to use this feature.)*
|
||||
**-reg \[*filename*\]**: (since v1.68). If "-pin" is used, this option
|
||||
maintains a register of pin-authenticated "trusted clients" in
|
||||
\$HOME/.uxplay.register (or optionally, in *filename*). Without this
|
||||
option, returning clients that skip pin-authentication are trusted and
|
||||
not checked. This option may be useful if UxPlay is used in a more
|
||||
public environment, to record client details; the register is text, one
|
||||
line per client, with client's public key (base-64 format), Device ID,
|
||||
and Device name; commenting out (with "\#") or deleting a line
|
||||
deregisters the corresponding client (see options -restrict, -block,
|
||||
-allow for more ways to control client access). *(Add a line "reg" in
|
||||
the startup file if you wish to use this feature.)*
|
||||
|
||||
**-vsync \[x\]** (In Mirror mode:) this option (**now the default**)
|
||||
uses timestamps to synchronize audio with video on the server, with an
|
||||
@@ -1034,8 +1030,9 @@ gtksink, glimagesink, waylandsink, osxvideosink (for macOS), kmssink
|
||||
some parameters to be included with the videosink name. For example,
|
||||
**fullscreen** mode is supported by the vaapisink plugin, and is
|
||||
obtained using `-vs "vaapisink fullscreen=true"`; this also works with
|
||||
`waylandsink`. The syntax of such options is specific to a given plugin,
|
||||
and some choices of videosink might not work on your system.
|
||||
`waylandsink`. The syntax of such options is specific to a given plugin
|
||||
(see GStreamer documentation), and some choices of videosink might not
|
||||
work on your system.
|
||||
|
||||
**-vs 0** suppresses display of streamed video. In mirror mode, the
|
||||
client's screen is still mirrored at a reduced rate of 1 frame per
|
||||
@@ -1068,8 +1065,11 @@ removed in UxPlay 1.67)
|
||||
autoaudiosink pick it for you. Some audiosink choices are: pulsesink,
|
||||
alsasink, pipewiresink, osssink, oss4sink, jackaudiosink, osxaudiosink
|
||||
(for macOS), wasapisink, directsoundsink (for Windows). Using quotes
|
||||
"..." might allow some parameters to be included with the audiosink
|
||||
name. (Some choices of audiosink might not work on your system.)
|
||||
"..." might allow some optional parameters
|
||||
(e.g. `-as "alsasink device=..."` to specify a non-default output
|
||||
device). The syntax of such options is specific to a given plugin (see
|
||||
GStreamer documentation), and some choices of audiosink might not work
|
||||
on your system.
|
||||
|
||||
**-as 0** (or just **-a**) suppresses playing of streamed audio, but
|
||||
displays streamed video.
|
||||
|
||||
Reference in New Issue
Block a user