feat: point the fleet at wss LiveKit room uwh-telhai
Publish and subscribe over wss://livekit.uni-wh.de:7800 and refuse cleartext ws://. Conference room is uwh-telhai. Includes the uncommitted encoded H.264 publish path, Rally hairpin, and KMS wall overlay.
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
# Logitech Rally / Rally Bar as the speaker camera (not a cam-NN C920 slot).
|
||||
# Product ids: Rally Camera 0881, Rally Bar Huddle 087c, Rally Bar 089b,
|
||||
# Rally Bar Mini 08d3. Install when the device is on site:
|
||||
# cp deploy/99-rally-pin.rules /etc/udev/rules.d/
|
||||
# udevadm control --reload-rules && udevadm trigger
|
||||
#
|
||||
SUBSYSTEM=="video4linux", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="0881", ATTR{index}=="0", SYMLINK+="rally"
|
||||
SUBSYSTEM=="video4linux", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="087c", ATTR{index}=="0", SYMLINK+="rally"
|
||||
SUBSYSTEM=="video4linux", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="089b", ATTR{index}=="0", SYMLINK+="rally"
|
||||
SUBSYSTEM=="video4linux", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="08d3", ATTR{index}=="0", SYMLINK+="rally"
|
||||
@@ -1,11 +1,9 @@
|
||||
[Unit]
|
||||
Description=Publish C920 cameras (speechbrain audio) to LiveKit
|
||||
Documentation=file:///home/fdenkena/livekit-cameras/README.md
|
||||
After=network-online.target sound.target livekit-server.service
|
||||
After=network-online.target sound.target
|
||||
Wants=network-online.target
|
||||
# Wants, not Requires: local livekit-server is a test stand-in.
|
||||
# Point LIVEKIT_URL at a remote server later and you can disable this unit.
|
||||
Wants=livekit-server.service
|
||||
# Local livekit-server is disabled; publishers use LIVEKIT_URL in .env.
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
[Unit]
|
||||
Description=Drive 3 DRM displays with LiveKit camera output (GStreamer kmssink)
|
||||
Documentation=file:///home/fdenkena/livekit-cameras/README.md
|
||||
After=network-online.target livekit-server.service livekit-cameras.service
|
||||
Wants=network-online.target livekit-cameras.service
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
# Do not After=/Wants= livekit-cameras: the wall must stay up when cameras
|
||||
# are missing and when the SFU is down (on-screen error, then reconnect).
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
@@ -10,7 +12,7 @@ WorkingDirectory=/home/fdenkena/livekit-cameras
|
||||
EnvironmentFile=-/home/fdenkena/livekit-cameras/.env
|
||||
Environment=PYTHONUNBUFFERED=1
|
||||
# Exclusive KMS access — no X/Wayland on these connectors.
|
||||
ExecStartPre=/home/fdenkena/livekit-cameras/deploy/wait-for-livekit.sh
|
||||
# Start kmssink immediately; run_displays.py shows LiveKit errors on the wall.
|
||||
ExecStart=/home/fdenkena/livekit-cameras/.venv/bin/python /home/fdenkena/livekit-cameras/run_displays.py
|
||||
ExecStop=/bin/kill -TERM $MAINPID
|
||||
Restart=always
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
# Wait until LIVEKIT_URL (from .env) accepts TCP. Used so publishers do not
|
||||
# race the local test livekit-server on boot. When LIVEKIT_URL points at a
|
||||
# remote host this waits on that host instead.
|
||||
#
|
||||
# bash /dev/tcp to an unreachable host can hang until the kernel SYN timeout
|
||||
# (longer than systemd TimeoutStartSec). Cap each probe at 1s.
|
||||
set -u
|
||||
ENV_FILE=/home/fdenkena/livekit-cameras/.env
|
||||
if [ -f "$ENV_FILE" ]; then
|
||||
@@ -29,7 +32,7 @@ if [ "$host" = "localhost" ]; then
|
||||
fi
|
||||
echo "wait-for-livekit: $host:$port"
|
||||
for _ in $(seq 1 30); do
|
||||
if (echo >/dev/tcp/"$host"/"$port") 2>/dev/null; then
|
||||
if timeout 1 bash -c "echo >/dev/tcp/${host}/${port}" 2>/dev/null; then
|
||||
echo "wait-for-livekit: ready"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user