Zum Inhalt springen

MUTEC – HTML-Video

Aus MegBes Wiki
Version vom 18. Oktober 2026, 10:05 Uhr von Clawtronics (Diskussion | Beiträge) (Drei Mobile-Tabs, neun HTML-Filme und Beitritt direkt in App-Kachel veroeffentlicht)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

MUTEC: HTML-Video mit Smartphone-Ton

[Bearbeiten]

Stand 10.10.2026. Neues Feature video mit führendem HTML-Video in Electron und synchronisierter Audioausgabe auf dem Smartphone. Frontend hochgeladen, Electron-Reiter konfiguriert, Relay-Paket bereitgestellt und mit 20 Tests auf dem VPS geprüft. Relay durch root installiert, öffentliche Freigabe video:true geprüft. Abnahme am Counter mit echtem Film steht aus. Kein Eingriff in megbes-external/megbes-internal.

Aktivieren

[Bearbeiten]

Als root auf dem VPS: bash /home/clawtronics/mutec-video-update/apply-video-update.sh. Installer sichert bestehende Relay-Dateien und prüft nach Neustart video:true. Electron neu starten. Neues Angebot wird im MUTEC-Menü erst nach dieser Relay-Aktivierung sichtbar. Auswahl reserviert Station 50 exklusiv und sendet 166-video, danach 50-maps. „Zur Auswahl“ sendet 50-Trailer und gibt die Station frei. Anzeige: https://www.tinetronics.de/mutec/video/display.html mit bestehendem privaten Display-Schlüssel in der Electron-Konfiguration; Schlüssel nie im Wiki dokumentieren.

Bedienung

[Bearbeiten]

Smartphone: Film, Start/Pause, Zeitleiste, ±10 Sekunden, Kapitel, Sprache, lokale Lautstärke. Tonfreigabe erfolgt per Nutzer-Klick. Erstes Angebot ist ein 60-Sekunden-Testfilm mit sichtbarem Takt und zwei Prüfton-Spuren, keine Sprachaufnahme. Wasser ist als erster echter Film eingebunden und als Standard ausgewählt. Unter „Bild und Ton abstimmen“ Audio-Verzögerung von −2000 bis +3000 ms einstellen; positiver Wert verzögert Audio. Lokal im Browser gespeichert.

Synchronisation

[Bearbeiten]

Die tatsächliche Abspielposition in Electron führt. Alle 250 ms meldet die Anzeige Position, Dauer, Pause/Pufferung, Status und letzte ausgeführte Befehls-ID. RTT-Uhrabgleich über den Relay erzeugt eine gemeinsame Zeitbasis. Smartphone extrapoliert die Position bis jetzt; bei mehr als 350 ms Drift springt Audio zur Zielposition, bei mehr als 60 ms korrigiert es sanft mit maximal ±2 Prozent Geschwindigkeit. Audio stoppt bei mehr als 1,5 Sekunden alten Zeitdaten; Film stoppt bei mehr als 1,6 Sekunden fehlendem/ inaktivem Smartphone-Heartbeat. Audio-Pufferung hält den Film an, Video-Pufferung hält Audio an. Bei Verbindungsverlust explizit erneut starten. Sprachwechsel richtet die neue Spur am aktuellen Film aus.

Bildgenaue Synchronität über Mobilfunk ist nicht garantiert. HDMI-/LED-Verarbeitung und Kopfhörer verursachen zusätzliche Verzögerung, die vor Ort abzustimmen ist. Angezeigte Drift ist die Browser-Zeitabweichung, nicht die tatsächlich wahrnehmbare Latenz am LED-Counter. Alle Sprachspuren müssen denselben Schnitt, Nullpunkt und Zeitablauf wie das Bild haben. Abweichende Dauer wird gemeldet; endet Audio zu früh, wird angehalten.

Dateien und Protokoll

[Bearbeiten]
  • video/catalog.json: freigegebene Filmkennungen, Video-URLs, Sprachspuren, Kapitelzeiten in Sekunden. Relative Pfade zu /mutec/video/; externe Medien per HTTPS. MP4 mit H.264 und faststart; Hosting mit Byte-Range-Unterstützung. Eigene Filme lassen sich ohne Relay-Codeänderung hinzufügen.
  • video/display.js: führender stummer Video-Player; video/controller.js: Smartphone-Steuerung/Audio; video/sync.js: Zeitabgleich und Driftkorrektur; video/catalog.js: validierte Medienkonfiguration.
  • Feature video, neue zufällige playbackId je Ticket-Sitzung. video.command erlaubt ausschließlich select, play, pause und seek; keine Besuchereingabe beliebiger Medien-URLs. video.listener meldet active/ready; video.status kommt nur von der authentisierten führenden Anzeige. video.clock gleicht die Zeit ab.
  • Nur eine Video-Anzeige als Zeitquelle; zweite Anmeldung wird abgewiesen. Fremde Features, Pong-Gäste, alte Sitzungen und beliebige UDP-Befehle können nicht steuern. Kein Wiederabspielen alter Steuerimpulse.
  • Anzeige nutzt gemeinsame LED-Entzerrung mit horizontaler Breite 60 Prozent, Smartphone bleibt unverändert. Videobild wird proportional eingepasst.

Prüfung

[Bearbeiten]

20 Relay-Tests einschließlich Karten/Trailer/Papierflug/Pong, vier unabhängige Sync-Tests. Browserprobe mit zwei Ansichten: Start/Pause, Kapitel laufend/pausiert, Sprachwechsel, Zeitnachführung und Stopp beim Schließen der Steuerung. Keine Hardwarebefehle in Tests. Abnahme mit echtem Video, Smartphone, LED-Counter und verwendeten Kopfhörern ausstehend.

Wasser

[Bearbeiten]

Wasser.mp4 ist als erste Auswahl im Katalog eingebunden. Video: H.264, 1376 × 430 Pixel, 97 Sekunden, faststart. Smartphone-Ton: audios/WasserDE.mp3 und audios/WasserEN.mp3, jeweils etwa 97,07 Sekunden. Film und beide Tonspuren auf dem Webserver veröffentlicht. Start-Kapitel vorhanden; weitere inhaltliche Kapitel noch nicht festgelegt. Synchronisation am realen Counter mit gewählten Kopfhörern abstimmen. Kein Relay-Update erforderlich; Electron und Smartphone-Steuerseite neu laden.

Spulkorrektur 11.10.2026

[Bearbeiten]

Absichtliche AbortError-Abbrüche bei Pause oder Spulen verlieren nicht mehr die Audio-Freigabe und erzeugen keinen Filmfehler. Audio lädt die neue Zielposition auch während Pufferung; seeked und canplaythrough aktualisieren die Bereitschaft. Konkurrierende Startanfragen während eines Sprungs werden vermieden. Laufend/pausiert bleibt erhalten. Vier neue Regressionstests und vier Sync-Prüfungen bestanden. Frontend hochgeladen, Kennung 20261011-video2. Electron und Smartphone neu laden; kein Relay-Update. Abnahme am realen Smartphone ausstehend.

Mobile-Auswahl vom 18.10.2026

[Bearbeiten]

Die Besucherauswahl unter hub.html hat drei Tabs. Wasser · BrightSign ist vorerst nicht mehr angeboten; die unreife native Funktion und die MegBes-Programme wurden nicht entfernt oder geaendert.

Tab Angebote
Medien Drotschmann, Wasser, 001 Katzen, 002 Neon, 003 Monkeys, 004 KI-Material, 005 Visuals, 006 Katzen, 007 KI-Material
Education 3D-Objekte und Aquarium
Games Pong, Poeng, Flight, Farbenspektakel und Finde den Ort

Medien nutzt die vorhandenen Film-Icons. Ein Klick oeffnet direkt die HTML-Wiedergabesteuerung des gewaehlten Beitrags, ohne erneut die Video-Infokarten zu durchlaufen. Der Film startet erst nach der Tonfreigabe/Startaktion. Dropdown enthaelt alle neun Beitraege; Start/Pause, Zeitleiste, +/-10 Sekunden, Lautstaerke und die vorhandenen Sprachen bleiben verfuegbar. Inhaltliche Kapitel wurden mangels Quelldaten nicht erfunden; Start-Kapitel fuer jeden Film. Wasser und Drotschmann Deutsch/Englisch, uebrige Beitraege Originalton.

Belegung und Beitritt

[Bearbeiten]

Scheitert der App-Start an einem belegten Monitor und ein Spiel ist beitretbar, zeigt genau die soeben angeklickte Kachel einen roten Rand, die Meldung Spieler 1 spielt gerade [Name des tatsaechlich laufenden Spiels] und einen gruenen Button Beitritt anfragen. Kein globaler Beitrittsbutton mehr im Ticketstatus. Haupt- und Gastaktion sind getrennte Buttons innerhalb einer sichtbaren Kachel, keine unzulaessig verschachtelten Buttons. Bei anderem laufendem Spiel nennt der Hinweis dessen Namen; die Anfrage richtet sich an dieses Spiel. Bei nicht beitretbaren Angeboten erscheint kein Gastbutton. Fehlversuche bleiben lokal sichtbar und wiederholbar.

Beim Gastgeber sind Beitrittsanfragen in Pong/Poeng, Flight und Ortssuche nun rot hinterlegt; Annehmen ist gruen. Rechte und Ticket-/Gastpruefungen unveraendert.

Webmedien und Ton

[Bearbeiten]

Die alten MP3s fuer 001–007 haben andere Laufzeiten/Schnitte als die nun bereitgestellten MP4s. Sie werden fuer diese HTML-Beitraege nicht verwendet. Neue passende AAC-Spuren stammen direkt aus den sieben MP4s. Drotschmann verwendet die bekannten DE/EN-Spuren, auf 134.4 s vereinheitlicht; die etwas kuerzere EN-Spur wird hinten mit Stille aufgefuellt. Wasser behielt seine erprobten MP3-Spuren.

Acht Webvideo-Ableitungen (H.264 CRF20, unveraenderte Aufloesung/Bildrate, Faststart, stummes Bild) plus neun passende Audio-Dateien liegen unter video/media/web-20261018/. Insgesamt 17 Dateien und ca. 473 MB. Originalvideos unter video/media/ und alte Audiodateien bleiben unveraendert. Alle neuen Dateien serverseitig per SHA-256 und oeffentlich per HTTP-Range geprueft. Bestehender WebSocket-Uhr-/Playerabgleich bleibt erhalten. Korrektur beim Seek exakt ans Ende: Film beendet bleibt erhalten, statt danach wieder in Pausiert zu wechseln.

Validierung und Installation

[Bearbeiten]

Alle neun echten Film-/Audio-Paare lokal im Browser ueber ihre Menuekachel gewaehlt, abgespielt und bis Mitte/Anfang/Ende gespult; Sprachwechsel bei Wasser/Drotschmann. Dropdown-Wechsel innerhalb derselben Sitzung zu Wasser und Monkeys geprueft. Menuepruefung mit vier echten Gastanfragen am isolierten Relay, Fehler/Wiederholen und Gastgeberfarben. 320/390/768/1280 Pixel ohne horizontalen Ueberlauf, Tabs mit Pfeilen/Home/End, sichtbare Bedienflaechen mindestens 44 Pixel. Bestehende neun Film-Icons auf dem Webserver bestaetigt. Neue Frontenddateien vorab gesichert und nach Veroeffentlichung oeffentlich bytegleich geprueft.

Die lokale Pruefung nutzt echte Player/Medien und Relay mit simuliertem MegBes-Upstream; dabei keine Hardwarebefehle und keine echte Stationsreservierung. Oeffentlicher Browser-Nachtest prueft die Seite read-only und die ticketfreie Filmvorschau. Physischer LED-/Mobilfunk-/Kopfhoerertest bleibt erforderlich.

Smartphone-Seiten neu laden; Electron oder seinen Video-Reiter neu laden, damit der neue Katalog und Player eingelesen werden. Kein Relay-/root-Update erforderlich. Synced sources/ unveraendert. Nachweise im Codex-Arbeitsordner: outputs/MUTEC-Menue-Installation.json, MUTEC-Menue-Umstellung.md, MUTEC-Menue-Medien-Dateien.json, MUTEC-Menue-Medien-Upload.json und MUTEC-Neun-Filme-Browserprüfung.json. Frontendpaket: outputs/MUTEC-Menue-Frontend.zip; grosse Medien separat installiert.