mirror of
https://github.com/morgan9e/UxPlay
synced 2026-04-14 00:04:13 +09:00
README update for the BleuIO version of uxplay-beacon.py
This commit is contained in:
37
README.html
37
README.html
@@ -24,14 +24,16 @@ 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>
|
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”
|
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
|
can be used). The beacon is managed by a Python3 script
|
||||||
<code>uxplay-beacon.py</code> (available in two versions, a BlueZ/DBus
|
<code>uxplay-beacon.py</code> (available in three versions, a BlueZ/DBus
|
||||||
version for Linux/*BSD, and a winrt version for Windows). The beacon
|
version for Linux/*BSD, a winrt version for Windows, and a version for
|
||||||
runs independently of UxPlay: while UxPlay is running, it regularly
|
the BlueIO usb-serial dongle (which has its own BlueTooth-LE stack
|
||||||
broadcasts a Bluetooth LE (“Low Energy”) 46 byte legacy-type
|
independent of that of the host system) that runs on all systems
|
||||||
advertisement informing nearby iOS/macOS devices of the local IPv4
|
including macOS). The beacon runs independently of UxPlay: while UxPlay
|
||||||
network address of the UxPlay server, and which TCP port to contact
|
is running, it regularly broadcasts a Bluetooth LE (“Low Energy”) 46
|
||||||
UxPlay on. Instructions are <a href="#bluetooth-le-beacon-setup">given
|
byte legacy-type advertisement informing nearby iOS/macOS devices of the
|
||||||
below</a>.</p></li>
|
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>option <code>-vrtp <rest-of-pipeline></code> bypasses
|
<li><p>option <code>-vrtp <rest-of-pipeline></code> bypasses
|
||||||
rendering by UxPlay, and instead transmits rtp packets of decrypted h264
|
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
|
or h265 video to an external renderer (e.g. OBS Studio) at an address
|
||||||
@@ -933,11 +935,12 @@ This should install the Bonjour SDK as
|
|||||||
<code>C:\Program Files\Bonjour SDK</code>.</li>
|
<code>C:\Program Files\Bonjour SDK</code>.</li>
|
||||||
</ol>
|
</ol>
|
||||||
<ul>
|
<ul>
|
||||||
<li><strong>NEW: while you still need to install the Bonjour SDK to
|
<li>**NEW: while you still need to install the Bonjour SDK to build
|
||||||
build UxPlay, there is now an alternative method for Service Discovery
|
UxPlay, there is now an alternative method for Service Discovery using a
|
||||||
using a Bluetooth Low Energy (BLE) beacon. A Windows-based python script
|
Bluetooth Low Energy (BLE) beacon. (Dfferent) Python3 scripts for
|
||||||
for running the beacon is available for this.</strong> See <a
|
running the beacon is on Linux/BSD*, Windows and macOS available for
|
||||||
href="#bluetooth-le-beacon-setup">instructions below</a>.</li>
|
this.** See <a href="#bluetooth-le-beacon-setup">instructions
|
||||||
|
below</a>.</li>
|
||||||
</ul>
|
</ul>
|
||||||
<ol start="2" type="1">
|
<ol start="2" type="1">
|
||||||
<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
|
||||||
@@ -1584,7 +1587,7 @@ default choice of BLE data file (<code>~/.uxplay.ble</code>) that is
|
|||||||
monitored by the beacon script. This also requires that uxplay is run
|
monitored by the beacon script. This also requires that uxplay is run
|
||||||
with option “<code>uxplay -ble <BLE data file></code>”.</p></li>
|
with option “<code>uxplay -ble <BLE data file></code>”.</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>The BlueZ/Dbus version has thee more options not offered by the
|
<p>The BlueZ/Dbus version has three more options not offered by the
|
||||||
Windows version (the Windows operating system chooses their values):</p>
|
Windows version (the Windows operating system chooses their values):</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><p><code>--AdvMin x</code>, <code>--AdvMax y</code>. These controls
|
<li><p><code>--AdvMin x</code>, <code>--AdvMax y</code>. These controls
|
||||||
@@ -1604,6 +1607,12 @@ instance of UxPlay must also have its own MAC address and ports).
|
|||||||
not been tested, and this option might not be useful or
|
not been tested, and this option might not be useful or
|
||||||
needed.</em></p></li>
|
needed.</em></p></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<p><strong>NEW</strong> While the native macOS BlueTooth-LE does not
|
||||||
|
allow users to send “manufacturer-specific” advertisements like the
|
||||||
|
uxplay service discovery announcement, this can be achieved using the
|
||||||
|
BleuIO dongle, which is a usb-serial device with its own full
|
||||||
|
BlueTooth-LE implementation (the bleuio version of uxplay-beacon.py is
|
||||||
|
installed in macOS systems, but works on all operating systems).</p>
|
||||||
<p>If you wish to test Bluetooth LE Service Discovery on Linux/*BSD, you
|
<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>
|
can disable DNS_SD Service discovery by the avahi-daemon with</p>
|
||||||
<pre><code>$ sudo systemctl mask avahi-daemon.socket
|
<pre><code>$ sudo systemctl mask avahi-daemon.socket
|
||||||
|
|||||||
24
README.md
24
README.md
@@ -13,8 +13,10 @@
|
|||||||
|
|
||||||
- Support for **service discovery using a Bluetooth LE "beacon"** for both Linux/\*BSD and Windows (as an alternative to Bonjour/Rendezvous DNS-SD
|
- Support for **service discovery using a Bluetooth LE "beacon"** for both Linux/\*BSD and Windows (as an alternative to Bonjour/Rendezvous DNS-SD
|
||||||
service discovery). **This can be used on networks that do not allow the user to run a DNS_SD service.** The user must run a Bluetooth LE "beacon", (a USB 4.0 or
|
service discovery). **This can be used on networks that do not allow the user to run a DNS_SD service.** 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 `uxplay-beacon.py` (available in two versions, a BlueZ/DBus version
|
later "dongle" can be used). The beacon is managed by a Python3 script `uxplay-beacon.py` (available in three versions, a BlueZ/DBus version
|
||||||
for Linux/\*BSD, and a winrt version for Windows). The beacon
|
for Linux/\*BSD, a winrt version for Windows, and a version for the BlueIO usb-serial dongle (which has its own BlueTooth-LE stack independent of that of the
|
||||||
|
host system) that runs
|
||||||
|
on all systems including macOS). The beacon
|
||||||
runs independently of UxPlay: while UxPlay is running, it regularly broadcasts a Bluetooth LE ("Low Energy") 46 byte
|
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
|
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 [given below](#bluetooth-le-beacon-setup).
|
the local IPv4 network address of the UxPlay server, and which TCP port to contact UxPlay on. Instructions are [given below](#bluetooth-le-beacon-setup).
|
||||||
@@ -924,8 +926,8 @@ downloads, "UxPlay" for "git clone" downloads) and build/install with
|
|||||||
`C:\Program Files\Bonjour SDK`.
|
`C:\Program Files\Bonjour SDK`.
|
||||||
|
|
||||||
* **NEW: while you still need to install the Bonjour SDK to build UxPlay, there is now an alternative method for
|
* **NEW: while you still need to install the Bonjour SDK to build UxPlay, there is now an alternative method for
|
||||||
Service Discovery using a Bluetooth Low Energy (BLE) beacon. A Windows-based python script for running the beacon
|
Service Discovery using a Bluetooth Low Energy (BLE) beacon. (Dfferent) Python3 scripts for running the beacon
|
||||||
is available for this.** See [instructions below](#bluetooth-le-beacon-setup).
|
is on Linux/BSD*, Windows and macOS available for this.** See [instructions below](#bluetooth-le-beacon-setup).
|
||||||
|
|
||||||
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
|
||||||
@@ -1593,16 +1595,22 @@ it is not given, an address will be obtained automatically (specify the address
|
|||||||
* `--path <BLE data file>`. This overrides the default choice of BLE data file (``~/.uxplay.ble``) that is monitored by the beacon script. This also requires
|
* `--path <BLE data file>`. This overrides the default choice of BLE data file (``~/.uxplay.ble``) that is monitored by the beacon script. This also requires
|
||||||
that uxplay is run with option "`uxplay -ble <BLE data file>`".
|
that uxplay is run with option "`uxplay -ble <BLE data file>`".
|
||||||
|
|
||||||
The BlueZ/Dbus version has thee more options not offered by the Windows version (the Windows operating system chooses their values):
|
The BlueZ/Dbus version has three more options not offered by the Windows version (the Windows operating system chooses their values):
|
||||||
|
|
||||||
* `--AdvMin x`, ``--AdvMax y``. These controls the interval between BLE advertisement broadcasts. This interval is in the range
|
* `--AdvMin x`, ``--AdvMax y``. These controls the interval between BLE advertisement broadcasts. This interval is in the range
|
||||||
[x, y], given in units of msecs. Allowed ranges are 100 <= x <= y <= 10240. If AdvMin=AdvMax, the interval is fixed: if AdvMin < AdvMax
|
[x, y], given in units of msecs. Allowed ranges are 100 <= x <= y <= 10240. If AdvMin=AdvMax, the interval is fixed: if 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
|
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.
|
AdvMin = AdvMax = 100. The advertisement is broadcast on all three Bluetooth LE advertising channels: 37,38,39.
|
||||||
|
|
||||||
* `--index x` (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
|
* `--index x` (default x = 0, x >= 0). This can be used by the DBus to distinguish between multiple simultaneous instances of uxplay-beacon.py that
|
||||||
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). _Note:
|
are running to support multiple instances of UxPlay. Each instance must have its own BLE Data
|
||||||
running multiple beacons simultaneously on the same host has not been tested, and this option might not be useful or needed._
|
file (just as each instance of UxPlay must also have its own MAC address and ports). _Note: running multiple beacons simultaneously
|
||||||
|
on the same host has not been tested, and this option might not be useful or needed._
|
||||||
|
|
||||||
|
**NEW** While the native macOS BlueTooth-LE does not allow users to send "manufacturer-specific" advertisements like the uxplay service discovery
|
||||||
|
announcement, this can be achieved using the BleuIO dongle, which
|
||||||
|
is a usb-serial device with its own full BlueTooth-LE implementation (the bleuio version of uxplay-beacon.py is installed in macOS systems, but
|
||||||
|
works on all operating systems).
|
||||||
|
|
||||||
If you wish to test Bluetooth LE Service Discovery on Linux/*BSD, you can disable DNS_SD Service discovery by the avahi-daemon with
|
If you wish to test Bluetooth LE Service Discovery on Linux/*BSD, you can disable DNS_SD Service discovery by the avahi-daemon with
|
||||||
|
|
||||||
|
|||||||
36
README.txt
36
README.txt
@@ -21,14 +21,16 @@
|
|||||||
networks that do not allow the user to run a DNS_SD service.** The
|
networks that do not allow the user to run a DNS_SD service.** The
|
||||||
user must run a Bluetooth LE "beacon", (a USB 4.0 or later "dongle"
|
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
|
can be used). The beacon is managed by a Python3 script
|
||||||
`uxplay-beacon.py` (available in two versions, a BlueZ/DBus version
|
`uxplay-beacon.py` (available in three versions, a BlueZ/DBus
|
||||||
for Linux/\*BSD, and a winrt version for Windows). The beacon runs
|
version for Linux/\*BSD, a winrt version for Windows, and a version
|
||||||
independently of UxPlay: while UxPlay is running, it regularly
|
for the BlueIO usb-serial dongle (which has its own BlueTooth-LE
|
||||||
broadcasts a Bluetooth LE ("Low Energy") 46 byte legacy-type
|
stack independent of that of the host system) that runs on all
|
||||||
advertisement informing nearby iOS/macOS devices of the local IPv4
|
systems including macOS). The beacon runs independently of UxPlay:
|
||||||
network address of the UxPlay server, and which TCP port to contact
|
while UxPlay is running, it regularly broadcasts a Bluetooth LE
|
||||||
UxPlay on. Instructions are [given
|
("Low Energy") 46 byte legacy-type advertisement informing nearby
|
||||||
below](#bluetooth-le-beacon-setup).
|
iOS/macOS devices of the local IPv4 network address of the UxPlay
|
||||||
|
server, and which TCP port to contact UxPlay on. Instructions are
|
||||||
|
[given below](#bluetooth-le-beacon-setup).
|
||||||
|
|
||||||
- option `-vrtp <rest-of-pipeline>` bypasses rendering by UxPlay, and
|
- option `-vrtp <rest-of-pipeline>` bypasses rendering by UxPlay, and
|
||||||
instead transmits rtp packets of decrypted h264 or h265 video to an
|
instead transmits rtp packets of decrypted h264 or h265 video to an
|
||||||
@@ -948,11 +950,12 @@ downloads, "UxPlay" for "git clone" downloads) and build/install with
|
|||||||
site). This should install the Bonjour SDK as
|
site). This should install the Bonjour SDK as
|
||||||
`C:\Program Files\Bonjour SDK`.
|
`C:\Program Files\Bonjour SDK`.
|
||||||
|
|
||||||
- **NEW: while you still need to install the Bonjour SDK to build
|
- \*\*NEW: while you still need to install the Bonjour SDK to build
|
||||||
UxPlay, there is now an alternative method for Service Discovery
|
UxPlay, there is now an alternative method for Service Discovery
|
||||||
using a Bluetooth Low Energy (BLE) beacon. A Windows-based python
|
using a Bluetooth Low Energy (BLE) beacon. (Dfferent) Python3
|
||||||
script for running the beacon is available for this.** See
|
scripts for running the beacon is on Linux/BSD\*, Windows and macOS
|
||||||
[instructions below](#bluetooth-le-beacon-setup).
|
available for this.\*\* See [instructions
|
||||||
|
below](#bluetooth-le-beacon-setup).
|
||||||
|
|
||||||
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
|
||||||
@@ -1635,7 +1638,7 @@ are
|
|||||||
This also requires that uxplay is run with option
|
This also requires that uxplay is run with option
|
||||||
"`uxplay -ble <BLE data file>`".
|
"`uxplay -ble <BLE data file>`".
|
||||||
|
|
||||||
The BlueZ/Dbus version has thee more options not offered by the Windows
|
The BlueZ/Dbus version has three more options not offered by the Windows
|
||||||
version (the Windows operating system chooses their values):
|
version (the Windows operating system chooses their values):
|
||||||
|
|
||||||
- `--AdvMin x`, `--AdvMax y`. These controls the interval between BLE
|
- `--AdvMin x`, `--AdvMax y`. These controls the interval between BLE
|
||||||
@@ -1655,6 +1658,13 @@ version (the Windows operating system chooses their values):
|
|||||||
*Note: running multiple beacons simultaneously on the same host has
|
*Note: running multiple beacons simultaneously on the same host has
|
||||||
not been tested, and this option might not be useful or needed.*
|
not been tested, and this option might not be useful or needed.*
|
||||||
|
|
||||||
|
**NEW** While the native macOS BlueTooth-LE does not allow users to send
|
||||||
|
"manufacturer-specific" advertisements like the uxplay service discovery
|
||||||
|
announcement, this can be achieved using the BleuIO dongle, which is a
|
||||||
|
usb-serial device with its own full BlueTooth-LE implementation (the
|
||||||
|
bleuio version of uxplay-beacon.py is installed in macOS systems, but
|
||||||
|
works on all operating systems).
|
||||||
|
|
||||||
If you wish to test Bluetooth LE Service Discovery on Linux/\*BSD, you
|
If you wish to test Bluetooth LE Service Discovery on Linux/\*BSD, you
|
||||||
can disable DNS_SD Service discovery by the avahi-daemon with
|
can disable DNS_SD Service discovery by the avahi-daemon with
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user