mirror of
https://github.com/morgan9e/UxPlay
synced 2026-04-14 00:04:13 +09:00
preparing for v1.73 release
This commit is contained in:
239
README.html
239
README.html
@@ -1,85 +1,70 @@
|
||||
<h1
|
||||
id="uxplay-1.72-airplay-mirror-and-airplay-audio-server-for-linux-macos-and-unix-also-runs-on-windows.">UxPlay
|
||||
1.72: AirPlay-Mirror and AirPlay-Audio server for Linux, macOS, and Unix
|
||||
id="uxplay-1.73-airplay-mirror-and-airplay-audio-server-for-linux-macos-and-unix-also-runs-on-windows.">UxPlay
|
||||
1.73: AirPlay-Mirror and AirPlay-Audio server for Linux, macOS, and Unix
|
||||
(also runs on Windows).</h1>
|
||||
<h3
|
||||
id="now-developed-at-the-github-site-httpsgithub.comfdh2uxplay-where-all-user-issues-should-be-posted-and-latest-versions-can-be-found."><strong>Now
|
||||
developed at the GitHub site <a href="https://github.com/FDH2/UxPlay"
|
||||
class="uri">https://github.com/FDH2/UxPlay</a> (where ALL user issues
|
||||
should be posted, and latest versions can be found).</strong></h3>
|
||||
<p>– <strong>NEW on github</strong>: some YouTube app HLS videos now
|
||||
offer alternative language tracks (generated by AI dubbing). Language
|
||||
choices will be made in order of preferences set with option -lang (or
|
||||
by environment variable $LANGUAGE, which it overrides). Format is
|
||||
<code>-lang fr:es:en</code>, where French (“fr”) is the first choice, if
|
||||
available, then Spanish (“es”), etc. $LANGUAGE has the same format.
|
||||
<code>-lang</code> by itself suppresses playing of dubbed audio.</p>
|
||||
<ul>
|
||||
<li><p><strong>NEW on github</strong>: Support for <strong>service
|
||||
discovery using a Bluetooth LE “beacon”</strong> for both Linux/*BSD and
|
||||
Windows (as an alternative to Bonjour/Rendezvous DNS-SD service
|
||||
discovery). The user must set up a Bluetooth LE “beacon”, (a USB 4.0 or
|
||||
later “dongle” can be used). See instructions below. The beacon runs
|
||||
independently of UxPlay and regularly broadcasts a Bluetooth LE (“Low
|
||||
Energy”) 46 byte packet informing nearby iOS/macOS devices of the local
|
||||
IPv4 network address of the UxPlay server, and which TCP port to contact
|
||||
UxPlay on. Two versions of a Python script (Python >=3.6)
|
||||
“uxplay-beacon.py”, (one for Linux/*BSD using BlueZ
|
||||
LEAdvertisingManager1 with DBus, and one for Windows using
|
||||
winrt/BluetoothLEAdvertisementPublisher) are ready for users to run: the
|
||||
appropriate version will be installed when UxPlay is built. They
|
||||
independently run Service-Discovery beacons that iOS devices respond to.
|
||||
Instructions are <a href="#bluetooth-le-beacon-setup">given
|
||||
<li><p><strong>NEW in v1.73</strong> (November 2025):</p></li>
|
||||
<li><p>Some YouTube app HLS videos now offer alternative language tracks
|
||||
(generated by AI dubbing). Language choices will be made in order of
|
||||
preferences set with option -lang (or by environment variable $LANGUAGE,
|
||||
which “-lang” overrides). Format is <code>-lang fr:es:en</code>, where
|
||||
French (“fr”) is the first choice, if available, then Spanish (“es”),
|
||||
etc. $LANGUAGE has the same format: <code>-lang</code> (by itself)
|
||||
suppresses playing of dubbed audio if $LANGUAGE is set.</p></li>
|
||||
<li><p>Support for <strong>service discovery using a Bluetooth LE
|
||||
“beacon”</strong> for both Linux/*BSD and Windows (as an alternative to
|
||||
Bonjour/Rendezvous DNS-SD service discovery). <strong>This can be used
|
||||
on networks that do not allow the user to run a DNS_SD service.</strong>
|
||||
The user must run a Bluetooth LE “beacon”, (a USB 4.0 or later “dongle”
|
||||
can be used). The beacon is managed by a Python3 script
|
||||
<code>uxplay-beacon.py</code> (available in two versions, a BlueZ/DBus
|
||||
version for Linux/*BSD, and a winrt version for Windows). The beacon
|
||||
runs independently of UxPlay: while UxPlay is running, it regularly
|
||||
broadcasts a Bluetooth LE (“Low Energy”) 46 byte legacy-type
|
||||
advertisement informing nearby iOS/macOS devices of the local IPv4
|
||||
network address of the UxPlay server, and which TCP port to contact
|
||||
UxPlay on. Instructions are <a href="#bluetooth-le-beacon-setup">given
|
||||
below</a>.</p></li>
|
||||
<li><p><strong>NEW on github</strong>: option
|
||||
<code>-vrtp <rest-of-pipeline></code> bypasses rendering by
|
||||
UxPlay, and instead transmits rtp packets of decrypted h264 or h265
|
||||
video to an external renderer (e.g. OBS Studio) at an address specified
|
||||
in <code>rest-of-pipeline</code>. (Note: this is video only, an option
|
||||
“-rtp” which muxes audio and video into a mpeg4 container still needs to
|
||||
be created: Pull Requests welcomed).</p></li>
|
||||
<li><p><strong>NEW on github</strong>: (for Linux/*BSD Desktop
|
||||
Environments using D-Bus). New option <code>-scrsv <n></code>
|
||||
provides screensaver inhibition (e.g., to prevent screensaver function
|
||||
while watching mirrored videos without keyboard or mouse activity): n =
|
||||
0 (off) n=1 (on during video activity) n=2 (always on while UxPlay is
|
||||
running). Tested on Gnome/KDE/Cinnamon/Mate/Xfce 4: may need adjustment
|
||||
for other Desktop Environments (please report). (watch output of
|
||||
<code>dbus-monitor</code> to verify that inhibition is working).
|
||||
<em>Might not work on Wayland</em>.</p></li>
|
||||
<li><p><strong>NEW on github</strong>: option -ca (with no filename
|
||||
given) will now render Apple Music cover art (in audio-only mode) inside
|
||||
UxPlay. (-ca <code><filename></code> will continue to export cover
|
||||
art for display by an external viewer).</p></li>
|
||||
<li><p><strong>NEW in v1.72</strong>: Improved Support for (YouTube) HLS
|
||||
(HTTP Live Streaming) video with the new “-hls” option (introduced in
|
||||
1.71).* <strong>Only streaming from the YouTube iOS app (in "m3u8"
|
||||
protocol) is currently supported</strong>: (streaming using the AirPlay
|
||||
icon in a browser window is <strong>not</strong> yet supported).Click on
|
||||
the airplay icon in the YouTube app to stream video. <strong>Please
|
||||
report any issues with this new feature of UxPlay</strong>.</p>
|
||||
<li><p>option <code>-vrtp <rest-of-pipeline></code> bypasses
|
||||
rendering by UxPlay, and instead transmits rtp packets of decrypted h264
|
||||
or h265 video to an external renderer (e.g. OBS Studio) at an address
|
||||
specified in <code>rest-of-pipeline</code>. (Note: this is video only,
|
||||
an option “-rtp” which muxes audio and video into a mpeg4 container
|
||||
still needs to be created: Pull Requests welcomed).</p></li>
|
||||
<li><p>(for Linux/*BSD Desktop Environments using D-Bus). New option
|
||||
<code>-scrsv <n></code> provides screensaver inhibition (e.g., to
|
||||
prevent screensaver function while watching mirrored videos without
|
||||
keyboard or mouse activity): n = 0 (off) n=1 (on during video activity)
|
||||
n=2 (always on while UxPlay is running). Tested on
|
||||
Gnome/KDE/Cinnamon/Mate/Xfce 4: may need adjustment for other Desktop
|
||||
Environments (please report). (watch output of <code>dbus-monitor</code>
|
||||
to verify that inhibition is working). <em>Might not work on
|
||||
Wayland</em>.</p></li>
|
||||
<li><p>option -ca (with no filename given) will now render Apple Music
|
||||
cover art (in audio-only mode) inside UxPlay. (-ca
|
||||
<code><filename></code> will continue to export cover art for
|
||||
display by an external viewer).</p></li>
|
||||
<li><p>Improved Support for (YouTube) HLS (HTTP Live Streaming) video
|
||||
with the new “-hls” option (introduced in 1.71).* <strong>Only streaming
|
||||
from the YouTube iOS app (in "m3u8" protocol) is currently
|
||||
supported</strong>: (streaming using the AirPlay icon in a browser
|
||||
window is <strong>not</strong> yet supported).Click on the airplay icon
|
||||
in the YouTube app to stream video. <strong>Please report any issues
|
||||
with this new feature of UxPlay</strong>.</p>
|
||||
<p><em>The default video player for HLS is GStreamer playbin v3: use
|
||||
“-hls 2” to revert to playbin v2 if some videos fail to play</em>.</p>
|
||||
<ul>
|
||||
<li>user-requested features: added support for setting a password (as an
|
||||
alternative to on-screen pin codes) to control client access (-pw
|
||||
“-hls 2” to revert to the older GStreamer player playbin v2 if some
|
||||
videos fail to play</em>.</p></li>
|
||||
<li><p>user-requested features: added support for setting a password (as
|
||||
an alternative to on-screen pin codes) to control client access (-pw
|
||||
option, see “man pw” or this README for details); added support for
|
||||
setting initial client audio-streaming volume (-vol option), and output
|
||||
of audio-mode metadata to file (for display by some external process,
|
||||
-md option).</li>
|
||||
</ul>
|
||||
<p><strong>ISSUES</strong> <strong><em>(Please help to solve if you have
|
||||
expertise)</em></strong></p>
|
||||
<ul>
|
||||
<li>in HLS video streaming from the YouTube app (-hls option), rendered
|
||||
using GStreamer’s media player “playbin3” (or playbin2, with option -hls
|
||||
2), we don’t understand how to correctly deal with “interstitials” (= 15
|
||||
sec commercials) when “skip” is pressed on the client. (HLS is handled
|
||||
by handlers in lib/http_handlers.h). (Should response to HTTP requests
|
||||
POST /action (playlistRemove) and POST /Stop be modified? <em>Wireshark
|
||||
data from HLS on an AppleTV model 3 with UN-upgraded original OS
|
||||
(unencrypted communications) could be useful!</em></li>
|
||||
</ul></li>
|
||||
-md option).</p></li>
|
||||
</ul>
|
||||
<h2 id="highlights">Highlights:</h2>
|
||||
<ul>
|
||||
@@ -528,11 +513,11 @@ on how your audio is set up.</p>
|
||||
hardware-accelerated h264 video decoding by Intel or AMD graphics (but
|
||||
not for use with NVIDIA using proprietary drivers). However this package
|
||||
contains older drivers (vaapisink, vaapih264dec, etc) that are no longer
|
||||
developed. This package is no longer recommended, and and its contents
|
||||
have been superseded by new VA-API drivers (vah264dec, etc.) that are
|
||||
supplied in “<strong>plugins-bad</strong>”; there is no replacement for
|
||||
vaapisink: use glimagesink or xvimagesink, or just let autovideosink
|
||||
choose for you.</p></li>
|
||||
developed, <strong>and should not be installed unless these
|
||||
needed</strong>. The “va” plugins (vah264dec, etc.) that replace the
|
||||
“vaapi” plugins are provided in “<strong>plugins-bad</strong>”: and use
|
||||
standard videosinks (xvimagesink, glimagesink, etc.) instead of the
|
||||
special videosink “vaapisink” used by “vaapi” plugins.</p></li>
|
||||
<li><p>Also install “<strong>gstreamer1.0-tools</strong>” to get the
|
||||
utility gst-inspect-1.0 for examining the GStreamer
|
||||
installation.</p></li>
|
||||
@@ -544,38 +529,39 @@ complete GStreamer from source</em>)</h3>
|
||||
<p>In some cases, because of patent issues, the libav plugin feature
|
||||
<strong>avdec_aac</strong> needed for decoding AAC audio in mirror mode
|
||||
is not provided in the official distribution: get it from community
|
||||
repositories for those distributions. _Note: the “vaapi” packages listed
|
||||
below are no longer recommended: newer “va” versions of the VA-API
|
||||
plugins for Intel/AMD graphics are provided by *-plugins-bad_</p>
|
||||
repositories for those distributions. _Note: the (deprecated) “vaapi”
|
||||
packages listed below are no longer recommended: newer “va” versions of
|
||||
the VA-API plugins for Intel/AMD graphics are provided by
|
||||
*-plugins-bad._</p>
|
||||
<ul>
|
||||
<li><p><strong>Red Hat, or clones like CentOS (now continued as Rocky
|
||||
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
|
||||
gstreamer1-plugins-bad-free (<em>deprecated:</em> 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> 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>
|
||||
gstreamer1.0-libav gstreamer1.0-plugins-bad (<em>deprecated:</em>
|
||||
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
|
||||
gstreamer-plugins-bad (<em>deprecated:</em> 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> Install gst-plugins-good
|
||||
gst-plugins-bad gst-libav (+ gstreamer-vaapi for Intel/AMD
|
||||
graphics).</p></li>
|
||||
gst-plugins-bad gst-libav (<em>deprecated:</em> gstreamer-vaapi for
|
||||
Intel/AMD graphics).</p></li>
|
||||
<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>
|
||||
gl, vulkan, pulse, v4l2, …), (<em>deprecated:</em> gstreamer1-vaapi for
|
||||
Intel/AMD graphics).</p></li>
|
||||
<li><p><strong>OpenBSD:</strong> Install gstreamer1-libav,
|
||||
gstreamer-plugins-* (* = core, bad, base, good).</p></li>
|
||||
</ul>
|
||||
@@ -709,13 +695,14 @@ to see what is available. Some possibilites on Linux/*BSD are:</p>
|
||||
(X11)</p></li>
|
||||
<li><p><strong>kmssink</strong>, <strong>fbdevsink</strong> (console
|
||||
graphics without X11)</p></li>
|
||||
<li><p><strong>vaapisink</strong> (for Intel/AMD hardware-accelerated
|
||||
graphics) is obsolete: instead use “<code>-vd vah264dec</code>” (or
|
||||
“vah265dec”) with glimagesink or xvmagesink.</p></li>
|
||||
<li><p><strong>vaapisink</strong> (<em>deprecated</em>,for Intel/AMD
|
||||
hardware-accelerated graphics) is obsolete: instead use
|
||||
<strong>glimagesink</strong> or <strong>xvmagesink</strong> (with
|
||||
hardware decoding by “vah264dec`, which may get selected automatically,
|
||||
but can be explicitly specified with the”-vd ” option.)</p></li>
|
||||
<li><p>for NVIDIA hardware graphics (with CUDA) use
|
||||
<strong>glimagesink</strong> combined with “<code>-vd nvh264dec</code>”
|
||||
(or “nvh264sldec”, a new variant which will become “nvh264dec” in
|
||||
GStreamer-1.24).</p></li>
|
||||
<strong>glimagesink</strong> combined with
|
||||
“<code>-vd nvh264dec</code>”.</p></li>
|
||||
<li><p>If the server is “headless” (no attached monitor, renders audio
|
||||
only) use <code>-vs 0</code>.</p></li>
|
||||
</ul>
|
||||
@@ -1076,10 +1063,10 @@ terminals, use the numerical keypad with “Num Lock” on: while holding
|
||||
down the “Alt” key, type “+” on the keypad, followed by the UTF-8 hex
|
||||
code for the character (using the keypad for numbers), then release the
|
||||
“Alt” key. (The UTF-8 hex codes have 4 hex digits: for example, the
|
||||
“copyright” symbol has hex code 00a9.) This method must be activated in
|
||||
the Windows Registry: using regedit, find the Registry section
|
||||
“copyright” symbol has hex code 00a9.) <em>This method must be activated
|
||||
in the Windows Registry: using regedit, find the Registry section
|
||||
’HKEY_Current_User/Control Panel/Input Method”, and add a new Key
|
||||
“EnableHexNumpad” with value “1”, then reboot the computer.</p>
|
||||
“EnableHexNumpad” with value “1”, then reboot the computer.</em></p>
|
||||
<h1 id="usage">Usage</h1>
|
||||
<p>Options:</p>
|
||||
<ul>
|
||||
@@ -1123,13 +1110,14 @@ video player to use for playing HLS video. <em>(Playbin v3 is the
|
||||
recommended player, but if some videos fail to play, you can try with
|
||||
version 2.)</em></p>
|
||||
<p><strong>-lang [list]</strong> Specify language preferences for
|
||||
YouTube app HLS videos, which may offer a choice of language (based on
|
||||
AI dubbing). If this option is not used, preferences will be taken from
|
||||
environment variable $LANGUAGE, if set. Both methods specify the
|
||||
preference order as e.g. list = <code>fr:es:en</code>, fot French (first
|
||||
choice), Spanish (second choice), and English (third choice).<br />
|
||||
If “list” is not given (or list = 0), $LANGUAGE is ignored and undubbed
|
||||
audio is played.</p>
|
||||
YouTube app HLS videos, some of which now which offer a choice of
|
||||
language (based on AI dubbing). If this option is not used, preferences
|
||||
will be taken from environment variable $LANGUAGE, if set. Both methods
|
||||
specify the preference order by a list: e.g., <code>fr:es:en</code>, for
|
||||
French (first choice), Spanish (second choice), and English (third
|
||||
choice). If option <code>-lang</code> is not followed by a list (or
|
||||
<code>-list 0</code> is used), $LANGUAGE is ignored and undubbed audio
|
||||
is played.</p>
|
||||
<p><strong>-scrsv n</strong>. (since 1.73) (So far, only implemented on
|
||||
Linux/*BSD systems using D-Bus). Inhibit the screensaver in the absence
|
||||
of keyboard input (e.g., while watching video), using the
|
||||
@@ -1517,8 +1505,8 @@ systems:</p>
|
||||
<p>For Windows support on MSYS2 UCRT systems, use pacman -S to install
|
||||
<code>mingw-w64-ucrt-x86_64-python</code>,
|
||||
<code>*-python-gobject</code>, <code>*-python-psutil</code>, and
|
||||
<code>*-python-pip</code>. Then install winrt bindings
|
||||
<code>pip install winrt-Windows.Foundation.Collections</code>,
|
||||
<code>*-python-pip</code>. Then install <strong>winrt</strong> bindings:
|
||||
“<code>pip install winrt-Windows.Foundation.Collections</code>”, also
|
||||
<code>winrt-Windows.Devices.Bluetooth.Advertisement</code> and
|
||||
<code>winrt-Windows.Storage.Streams</code>.</p>
|
||||
<p>If uxplay will be run with option “<code>uxplay -ble</code>” (so it
|
||||
@@ -1545,15 +1533,15 @@ or <code>uxplay-beacon.py --help</code>. Options are</p>
|
||||
<li><p><code>--ipv4 <ipv4 address></code>. This option can be
|
||||
used to specify the ipv4 address at which the UxPlay server should be
|
||||
contacted by the client. If it is not given, an address will be obtained
|
||||
automatically using <code>gethostbyname</code>. Only ipv4 addresses are
|
||||
supported.</p></li>
|
||||
automatically (specify the address with the option if automatic
|
||||
selection fails). Only ipv4 addresses are supported.</p></li>
|
||||
<li><p><code>--path <BLE data file></code>. This overrides the
|
||||
default choice of BLE data file (<code>~/.uxplay.ble</code>) that is
|
||||
monitored by the beacon script. This also requires that uxplay is run
|
||||
with option “<code>uxplay -ble <BLE data file></code>”.</p></li>
|
||||
</ul>
|
||||
<p>The BlueZ/Dbus version has thee more options not offered by the
|
||||
Windows version:</p>
|
||||
Windows version (the Windows operating system chooses their values):</p>
|
||||
<ul>
|
||||
<li><p><code>--AdvMin x</code>, <code>--AdvMax y</code>. These controls
|
||||
the interval between BLE advertisement broadcasts. This interval is in
|
||||
@@ -1563,13 +1551,14 @@ AdvMin < AdvMax it is chosen flexibly in this range to avoid
|
||||
interfering with other tasks the Bluetooth device is carrying out. The
|
||||
default values are AdvMin = AdvMax = 100. The advertisement is broadcast
|
||||
on all three Bluetooth LE advertising channels: 37,38,39.</p></li>
|
||||
<li><p><code>--index x</code> (default x = 0, x >= 0). This should be
|
||||
used to distinguish between multiple simultaneous instances of
|
||||
uxplay-beacon.py that are running to support multiple instances of
|
||||
<li><p><code>--index x</code> (default x = 0, x >= 0). This can be
|
||||
used by the DBus to distinguish between multiple simultaneous instances
|
||||
of uxplay-beacon.py that are running to support multiple instances of
|
||||
UxPlay. Each instance must have its own BLE Data file (just as each
|
||||
instance of UxPlay must also have its own MAC address and ports).
|
||||
<em>Note: running multiple beacons simultaneously on the same host has
|
||||
not been tested.</em></p></li>
|
||||
not been tested, and this option might not be useful or
|
||||
needed.</em></p></li>
|
||||
</ul>
|
||||
<p>If you wish to test Bluetooth LE Service Discovery on Linux/*BSD, you
|
||||
can disable DNS_SD Service discovery by the avahi-daemon with</p>
|
||||
@@ -1921,14 +1910,16 @@ 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 version UxPlay claims to be.</p>
|
||||
<h1 id="changelog">Changelog</h1>
|
||||
<p>xxxx 2025-09-25 Render Audio cover-art inside UxPlay with -ca option
|
||||
<p>1.73 2025-11-10 Render Audio cover-art inside UxPlay with -ca option
|
||||
(no file specified). (D-Bus based) option -scrsv <n> to inhibit
|
||||
screensaver while UxPlay is running (Linux/*BSD only). Add support for
|
||||
Service Discovery using a Bluetooth LE beacon. Add -vrtp option for
|
||||
forwarding decrypted h264/5 video to an external renderer (e.g., OBS
|
||||
Studio). Check that option input strings have valid UTF-8 encoding. New
|
||||
option <code>-lang fr:es:en</code> to specify language preferences for
|
||||
YouTube HLS videos when they offer a choice.</p>
|
||||
screensaver while UxPlay is running (Linux/*BSD only). Add password
|
||||
support (-pw) using a displayed pin code as a password that changes
|
||||
every time (and not as a one-time pin). Add support for Service
|
||||
Discovery using a Bluetooth LE beacon. Add -vrtp option for forwarding
|
||||
decrypted h264/5 video to an external renderer (e.g., OBS Studio). Check
|
||||
that option input strings have valid UTF-8 encoding. New option
|
||||
<code>-lang fr:es:en</code> to specify language preferences for YouTube
|
||||
HLS videos when they offer a choice.</p>
|
||||
<p>1.72.2 2025-07-07 Fix bug (typo) in DNS_SD advertisement introduced
|
||||
with -pw option. Update llhttp to v 9.3.0</p>
|
||||
<p>1.72.1 2025-06-06 minor update: fix regression in -reg option; add
|
||||
|
||||
Reference in New Issue
Block a user