This commit is contained in:
Team3
2026-09-09 19:57:45 +02:00
parent d51c160ce6
commit 7191388787
5 changed files with 30 additions and 47 deletions

View File

@@ -64,8 +64,10 @@ ZIEL ?= horror.marha.de
# Räumt vorher auf: ein noch laufendes OBS belegt sonst die Sendestrecke, # Räumt vorher auf: ein noch laufendes OBS belegt sonst die Sendestrecke,
# und der Tonweg wird sauber neu aufgebaut. # und der Tonweg wird sauber neu aufgebaut.
# Der Stream bekommt den vollen Ton, dieser Rechner bleibt still.
# Zum Mitschauen am selben Gerät: make stream MITHOEREN=1
stream: stream-stop stream: stream-stop
@scripts/stream.sh $(ZIEL) @MITHOEREN=$(MITHOEREN) scripts/stream.sh $(ZIEL)
# Zum Ausprobieren ohne Server, gegen das lokale MediaMTX # Zum Ausprobieren ohne Server, gegen das lokale MediaMTX
stream-local: mtx stream-local: mtx

View File

@@ -183,6 +183,12 @@ Ohne Passwort weist MediaMTX die Verbindung ab. Zuschauen braucht keins.
das nicht — dort liefert `getDisplayMedia` unter Linux nur Tab-Ton, und das nicht — dort liefert `getDisplayMedia` unter Linux nur Tab-Ton, und
Firefox gar keinen. Firefox gar keinen.
Der sendende Rechner bleibt dabei still. Der Ton läuft über eine Null-Senke,
deren Monitor OBS abgreift; auf die Lautsprecher geht nichts. Am Pegel im
Stream ändert das nichts, weil PipeWire die Monitor-Ports vom Regler der
Senke unberührt lässt. `make stream MITHOEREN=1` legt den Ton zusätzlich auf
dein gewohntes Gerät.
**Warum alle dasselbe Bild sehen** **Warum alle dasselbe Bild sehen**
Jeder Player hält 4 Sekunden Abstand zur Live-Kante (`liveSyncDuration`). Jeder Player hält 4 Sekunden Abstand zur Live-Kante (`liveSyncDuration`).

View File

@@ -516,9 +516,6 @@
"x64" "x64"
], ],
"dev": true, "dev": true,
"libc": [
"glibc"
],
"license": "MIT", "license": "MIT",
"optional": true, "optional": true,
"os": [ "os": [
@@ -620,9 +617,6 @@
"arm" "arm"
], ],
"dev": true, "dev": true,
"libc": [
"glibc"
],
"license": "MIT", "license": "MIT",
"optional": true, "optional": true,
"os": [ "os": [
@@ -637,9 +631,6 @@
"arm" "arm"
], ],
"dev": true, "dev": true,
"libc": [
"musl"
],
"license": "MIT", "license": "MIT",
"optional": true, "optional": true,
"os": [ "os": [
@@ -654,9 +645,6 @@
"arm64" "arm64"
], ],
"dev": true, "dev": true,
"libc": [
"glibc"
],
"license": "MIT", "license": "MIT",
"optional": true, "optional": true,
"os": [ "os": [
@@ -671,9 +659,6 @@
"arm64" "arm64"
], ],
"dev": true, "dev": true,
"libc": [
"musl"
],
"license": "MIT", "license": "MIT",
"optional": true, "optional": true,
"os": [ "os": [
@@ -688,9 +673,6 @@
"loong64" "loong64"
], ],
"dev": true, "dev": true,
"libc": [
"glibc"
],
"license": "MIT", "license": "MIT",
"optional": true, "optional": true,
"os": [ "os": [
@@ -705,9 +687,6 @@
"loong64" "loong64"
], ],
"dev": true, "dev": true,
"libc": [
"musl"
],
"license": "MIT", "license": "MIT",
"optional": true, "optional": true,
"os": [ "os": [
@@ -722,9 +701,6 @@
"ppc64" "ppc64"
], ],
"dev": true, "dev": true,
"libc": [
"glibc"
],
"license": "MIT", "license": "MIT",
"optional": true, "optional": true,
"os": [ "os": [
@@ -739,9 +715,6 @@
"ppc64" "ppc64"
], ],
"dev": true, "dev": true,
"libc": [
"musl"
],
"license": "MIT", "license": "MIT",
"optional": true, "optional": true,
"os": [ "os": [
@@ -756,9 +729,6 @@
"riscv64" "riscv64"
], ],
"dev": true, "dev": true,
"libc": [
"glibc"
],
"license": "MIT", "license": "MIT",
"optional": true, "optional": true,
"os": [ "os": [
@@ -773,9 +743,6 @@
"riscv64" "riscv64"
], ],
"dev": true, "dev": true,
"libc": [
"musl"
],
"license": "MIT", "license": "MIT",
"optional": true, "optional": true,
"os": [ "os": [
@@ -790,9 +757,6 @@
"s390x" "s390x"
], ],
"dev": true, "dev": true,
"libc": [
"glibc"
],
"license": "MIT", "license": "MIT",
"optional": true, "optional": true,
"os": [ "os": [
@@ -807,9 +771,6 @@
"x64" "x64"
], ],
"dev": true, "dev": true,
"libc": [
"glibc"
],
"license": "MIT", "license": "MIT",
"optional": true, "optional": true,
"os": [ "os": [
@@ -824,9 +785,6 @@
"x64" "x64"
], ],
"dev": true, "dev": true,
"libc": [
"musl"
],
"license": "MIT", "license": "MIT",
"optional": true, "optional": true,
"os": [ "os": [

View File

@@ -28,7 +28,8 @@ if ! timeout 3 bash -c "</dev/tcp/${ZIEL}/1935" 2>/dev/null; then
exit 1 exit 1
fi fi
scripts/ton.sh auf # Der Ton geht nur in den Stream. MITHOEREN=1 legt ihn zusätzlich auf dein Gerät
scripts/ton.sh auf ${MITHOEREN:+mithoeren}
mkdir -p "$P" "$BASIS/scenes" mkdir -p "$P" "$BASIS/scenes"

View File

@@ -6,8 +6,10 @@
# nach fünf Minuten sind es Sekunden. Eine Null-Senke hängt an der Systemuhr # nach fünf Minuten sind es Sekunden. Eine Null-Senke hängt an der Systemuhr
# und liefert 48 kHz, also genau das, was der Encoder erwartet. # und liefert 48 kHz, also genau das, was der Encoder erwartet.
# #
# ton.sh auf Senke anlegen, zum Standard machen, Mithören einrichten # ton.sh auf Senke anlegen und zum Standard machen. Der Ton
# ton.sh ab Standard zurückstellen, Senke entfernen # geht nur in den Stream, der Rechner bleibt still.
# ton.sh auf mithoeren zusätzlich zurück auf dein gewohntes Gerät
# ton.sh ab Standard zurückstellen, Senke entfernen
set -euo pipefail set -euo pipefail
SENKE="filmabend" SENKE="filmabend"
@@ -56,6 +58,20 @@ auf)
sleep 1 sleep 1
fi fi
# Der Regelfall: der Ton geht nur in den Stream, hier bleibt es still.
# Am Pegel ändert das nichts — PipeWire lässt die Monitor-Ports vom Regler
# der Senke unberührt (monitor.channel-volumes ist aus), OBS bekommt also
# immer den vollen Ton. Genau deshalb macht Stummschalten allein auch nicht
# leise: das Mithören unten hängt am selben Monitor.
if [ "${2:-}" != "mithoeren" ]; then
# Eine Brücke aus einem früheren Lauf spielte sonst weiter auf die
# Lautsprecher — die Senke allein macht noch nicht still
pkill -f "node.name=filmabend-mithoeren" 2>/dev/null || true
wpctl set-default "$(id_von "$SENKE")"
echo "Ton geht nur in den Stream, $ZURUECK bleibt still."
exit 0
fi
# Damit du selbst weiter über dein gewohntes Gerät hörst. # Damit du selbst weiter über dein gewohntes Gerät hörst.
# setsid, sonst nimmt der Prozess das Ende dieser Shell mit und du # setsid, sonst nimmt der Prozess das Ende dieser Shell mit und du
# hörst mitten im Film nichts mehr. # hörst mitten im Film nichts mehr.
@@ -103,7 +119,7 @@ ab)
;; ;;
*) *)
echo "Aufruf: ton.sh auf|ab" echo "Aufruf: ton.sh auf [mithoeren] | ab"
exit 1 exit 1
;; ;;
esac esac