{
  "_hinweis": "Welche Quelle steckt in der ausgelieferten exe? Ohne diesen Zettel driften .ps1 und .exe auseinander — genau das war am 10.09.2026 passiert: Die exe wurde auf 3.8 getauscht, die .ps1 daneben blieb auf 3.7 liegen und niemand sah es.",
  "marker": "AVIMOD-V1 · FERNSTEUER-V1",
  "_kein_versatz": "09.10.2026 18:43 kompiliert — .ps1 und .exe stehen beide auf 3.9. Geprueft wurde nicht nur das Datum: Im Binaerinhalt der exe stehen $Version = '3.9', $VersionDatum = '09.10.2026' und die Fernsteuer-Funktionen (Lies-Befehl, Fuehre-PfadeAus, Schreib-Quittung, Entferne-Befehl). Das Dateidatum allein waere kein Beleg — eine alte Quelle laesst sich jederzeit neu kompilieren.",
  "stand": "20.10.2026",
  "version": "4.4",
  "versionsdatum": "20.10.2026",
  "quelle": {
    "datei": "quelle/AVI-Mover.ps1",
    "sha256": "24c53fc6c8c43397",
    "groesse": 138970,
    "_kurz": "Nur die ersten 16 Zeichen — zum Wiedererkennen genügt das, und der ganze Hash wäre in der Anzeige nur Lärm."
  },
  "freigabe": {
    "_abgeloest": "10.10.2026 (OHNEEXE-V2): Hier lag bis zuletzt AVI-Mover.exe (3.9). Sie ging in KEIN Paket mehr — nachgemessen an allen 22 OBS-ZIPs und am Standalone-Buendel: null Treffer. Trotzdem beiseitegelegt als AVI-Mover.exe.abgeloest_20261010_025602, damit sie niemand versehentlich wieder einspeist. Nicht geloescht, umbenannt.",
    "_kompiliert_wird_nicht_mehr": "Der Arbeitsgang unten endet jetzt bei Schritt 1: quelle/AVI-Mover.ps1 aendern und $Version hochzaehlen. Ausgeliefert wird die .ps1 mit AVI-Mover.cmd als Starter."
  },
  "server_vorlage": {
    "_hinweis": "Der Teil des AVI-Movers, der NICHT auf dem Mattenrechner läuft, sondern im Webordner des Abyss liegt (D:\\www-root\\avi-mover). Diese Liste steht hier an EINER Stelle und wird von zwei Seiten gelesen: vom Paketbau (landet als AVI-Mover/Server-Vorlage/ im OBS-Paket) und vom www-root-Baukasten (Bündel 'avimover' in wwwroot/paket.json, Bauart liste_aus_json). Wird hier etwas ergänzt, wandert es automatisch in beide Wege. Wohin im Webordner, steht im Bündel — nicht hier, sonst wäre es wieder zweimal gepflegt.",
    "dateien": [
      "Status.html",
      "Zentrale.php",
      "Archiv.php",
      "off-mover.png",
      "on-mover.png",
      "Pocessing.gif",
      "favicon.ico"
    ],
    "_nicht_dabei": {
      "status.json": "Reines Laufzeitdatum — den Zustand schreibt der AVI-Mover selbst. Würde er mitgeliefert, überschriebe jede Verteilung den laufenden Stand.",
      "Turnier-Logs": "Entstehen im Betrieb je Matte.",
      "Status-Dock.html / Status-Dock.konfig.js": "Dock-Thema, wird neu organisiert (08.10.2026) — siehe offen_docks."
    },
    "_archiv_php": "ARCHIV-V1 (09.10.2026): Die Nachlese. Sammelt nach dem Event ein, was der Mover aufgenommen und was die Regie behalten hat, und verwahrt es unter _archiv\\ — der Ordner steht im Spiegel-Schutz des Updaters, ein robocopy /MIR raeumt ihn also nicht weg. Von dort geht es als JSON-Datei oder direkt an den Reporter.",
    "_favicon": "ZEICHENKOPF-V1 (11.10.2026): favicon.ico gehoert dazu. Die Status-Seiten laufen im Webordner des Capt-Servers; das Zeichen aus dem Netz zu holen hiesse, dass der Reiter grau bleibt, sobald die Halle offline ist. Deshalb liegt es daneben — dieselbe Regel wie bei den Windows-Verknuepfungen: zentral ist die Quelle, lokal ist Pflicht."
  },
  "obs_pakete": {
    "ordner": "/var/www/apps/jtfo/OBS",
    "anzahl": 22,
    "stand_geprueft": "10.10.2026",
    "exe_einheitlich": false,
    "bereinigt": "08.10.2026",
    "entfernt": [
      "AVI-Mover/AVI-Mover.ps1 — 22/22, Version 3.7, nie gebraucht (es läuft die exe)",
      "AVI-Mover/status.json — 16/22, Laufzeitdatum",
      "AVI-Mover/Logs/Einrichtung.log — 16/22, Laufzeitdatum"
    ],
    "_logs_ordner": "Der leere Logs/-Ordner bleibt in allen 16 Paketen stehen — der AVI-Mover schreibt dort hinein.",
    "_nicht_angefasst": {
      "AVI-Mover.ini": "16 Fassungen — das ist KEINE Drift, sondern die Konfiguration je Matte. Die 7 Infokanäle teilen sich eine.",
      "Status.html / Status-Dock.html / Status-Dock.konfig.js": "je 3 Fassungen entlang Austria-Cup / Sport-Matten / Infokanal — siehe offene Frage unten."
    },
    "offen_docks": "Die drei Status-/Dock-Dateien liegen in je drei Fassungen über die Pakete. Gernot: Dock-Thema wird neu organisiert — bis dahin nicht anfassen.",
    "_ohneexe_v2": "10.10.2026 (OHNEEXE-V2): Die AVI-Mover.exe ist aus allen 22 Paketen ENTFERNT. Darin liegen jetzt AVI-Mover.ps1 (4.0) und AVI-Mover.cmd als Starter. Dazu musste der OBS-Autostart mit: Das Lua-Skript autostarter.lua startet den Mover ueber execPaths in der Szenendatei, und dort stand der Pfad auf die .exe — 15 der 22 Pakete waren betroffen (die Infokanaele haben keinen Mover-Autostart). Umgestellt mit obs_autostart_umstellen.php. Haette man das vergessen, waere der Stream gelaufen und der Mover nicht, und es waere erst aufgefallen, wenn nach dem ersten Kampf kein Replay ankommt.",
    "_exe_entfernt": "10.10.2026"
  },
  "arbeitsgang": [
    "1. quelle/AVI-Mover.ps1 aendern, $Version und $VersionDatum hochzaehlen",
    "2. php /var/www/apps/jtfo/obs_avimover_tauschen.php --datei=AVI-Mover.ps1 --quelle=.../quelle/AVI-Mover.ps1 --schreiben",
    "3. php /var/www/apps/jtfo/obs_index_bauen.php — sonst nennt die Instanzliste alte Pruefsummen",
    "4. Werkzeuge-Baukasten: fassung in streamtools/paket.json hochzaehlen (holt die Datei selbst)"
  ],
  "_was_neu_4_0": "MESSWERTE-V1: Das Ergebnis-Log traegt jetzt bytes und dauer_s je Aufnahme — die Groesse lag ohnehin vor (Stabilitaetspruefung), die Laufzeit holt Windows selbst ueber die Shell-Eigenschaft 27, ohne ffprobe. Misslingt das dreimal, wird es nicht mehr versucht. LOGHOLEN-V1: neuer Fernsteuerbefehl, legt das Laufzeit-Protokoll als lauf_<Kanal>_<Datum>.log in den Statusordner — damit sieht man aus der Zentrale, was auf einer Matte schieflief, ohne hinzulaufen.",
  "_standalone_v1": "STANDALONE-V1 (10.10.2026): Derselbe Mover geht jetzt zwei Wege. (1) OBS-Pakete über den Lotsen — der geplante Weg, OBS startet ihn beim Hochfahren. (2) Werkzeug-Baukasten nach D:\\Stream Tools\\AVI-Mover, Bündel \"avimover\" in streamtools/paket.json — der kurze Weg für spontane Sessions, gestartet über eine Desktop-Verknüpfung. Beide ohne kompilierte Fassung. Geändert wird IMMER in quelle/, danach BEIDE Wege nachziehen: obs_avimover_tauschen.php für die Pakete, der Baukasten holt sich die Werkzeuge von selbst.",
  "_zeilenende_v1": "ZEILENENDE-V1 (10.10.2026). Gernot: „Das Script ist so schnell, dass es nicht sichtbar ist.\" Es lief gar nicht: Jede .cmd ging mit LF-Zeilenenden hinaus. cmd.exe liest Zeile fuer Zeile und erwartet CRLF — ein mehrzeiliger Klammerblock verschmilzt sonst zu einer Zeile, cmd bricht ab, das Fenster schliesst sich sofort. Betroffen waren AVI-Mover.cmd in allen 22 OBS-Paketen und AVI-Mover-Verknuepfung.cmd im Standalone-Buendel. Hergestellt wird es jetzt BEIM PACKEN in stream/werkzeuge/auslieferform.php — benutzt von beiden Baukaesten, vom Selbstupdate und von obs_avimover_tauschen.php. Eine Regel, die man beim Schreiben einhalten muss, wird vergessen.",
  "_was_neu_4_1": "PFADPRUEF-V1 (10.10.2026): Pruef-Knopf jetzt an ALLEN drei Ordnerzeilen im Setup, nicht nur am Statusordner. Alle drei pruefen auch das Schreibrecht — auch die Quelle, denn Verschieben heisst dort loeschen; eine nur lesbare Quelle laeuft zu, bis die Platte voll ist. Dazu freier Platz und, bei der Quelle, wie viele Aufnahmen schon drinliegen. Ohne Bewertung.",
  "_was_neu_4_2": "FERNPRUEF-V1 (10.10.2026). Gernot: „Die Pfadpruefung soll im AVI-Mover-Dashboard bei den globalen Einstellungen / Pfade funktionieren.\" Neuer Fernsteuerbefehl „pruefen\": prueft die uebergebenen Pfade mit demselben Code wie der Knopf im Setup und aendert NICHTS. Die Zentrale hat im Modal „Pfade zentral aendern\" den Knopf „Pfade pruefen lassen\" — er schickt die gerechneten Pfade an alle Instanzen, sammelt die Quittungen ueber deren id ein (eine Quittung von vorhin saehe sonst aus wie eine Antwort) und haengt den Befund als Spalte an die Vorschau. Pruefen kann nur, wer danebensteht: Die Zentrale laeuft auf dem Abyss, und D:\\Replay Aufnahmen gibt es dort nicht.",
  "_was_neu_4_3": "ZEICHEN-V1 (10.10.2026). Gernot: „Dann mal den StreamUpdater und AVI-Mover mit den neuen Symbolen und Logo innerhalb ausstatten.\" Logo.ico traegt jetzt das eigene Zeichen des AVI-Movers (Nr. 3, Filmstreifen mit Pfeil nach rechts, Gold #e6b95c auf #1a1a1a) in sieben Stufen bis 256 px statt der alten 16-px-Datei — damit ist die Desktop-Verknuepfung nicht mehr verwaschen. Logo.png ist dasselbe Zeichen mit 128 px fuer die Kopfzeile im Fenster. Die Judo-Fanpage-Dateien Datei-Logo.png und Datei-Logo-1.ico sind abgeloest (umbenannt, nicht geloescht) und aus allen 22 OBS-Paketen, aus dem Standalone-Buendel und aus der Rueckfallliste der Verknuepfung entfernt. Nebenbei gefunden: Logo.png stand in KEINEM Buendel — im Standalone blieb die Kopfzeile leer, waehrend sie im OBS-Paket ein Bild hatte. Jetzt dabei. Quelle aller Stufen: die Zeichen-Ablage ZEICHENABLAGE-V1.",
  "_symbolcache_v1": "SYMBOLCACHE-V1 (11.10.2026). Gernot: „Das Umstellen der Verknuepfung auf das neue Logo geht nicht.\" Es lag weder an der .ico (7 Stufen, 256er als PNG, nachgemessen) noch an der Verknuepfung. Windows merkt sich Verknuepfungs-Symbole nach PFAD, nicht nach Inhalt: Liegt am selben Ort eine andere .ico, zeichnet der Explorer ueber Neustarts hinweg das alte Bild. AVI-Mover-Verknuepfung.ps1 loescht die .lnk jetzt ZUERST (neue Dateikennung) und frischt danach mit ie4uinit das Symbolgedaechtnis auf. Die Meldung nennt ausserdem Stufen und Groesse der verwendeten .ico — eine Datei mit EINER Stufe ist die alte 16-px-Fassung und wird als solche benannt. AVI-Mover.ps1 selbst ist unveraendert (4.3), geaendert hat sich nur das Verknuepfungs-Skript im Standalone-Buendel.",
  "_was_neu_4_4": "AVIDOCKFIX-V1 (20.10.2026). Gernot: „Warum will der AVI-Mover-Dock auf den capt-server-3 zugreifen?“ Status-Dock.html fiel auf seine VORGABE zurück (capt-server-3), weil die konfig.js seit AVIGERAET-V1 nicht mehr mitging und CEF die INI über file:// oft nicht lesen darf. Jetzt: VORGABE = capt-server-1 (Hallen-Standard); die freigegebene Status-Dock.konfig.js ist abgelöst (umbenannt .abgeloest_*) — sie stimmte nur für Matte 1. Stattdessen ERZEUGT der OBS-Manager sie je Instanz aus der gefüllten AVI-Mover.ini (Zeile 7 → Web-Adresse wie uncZuWeb, Zeile 6 → Kanal) und legt sie in den Instanzteil des Pakets. AVI-Mover.ps1 nur Versionszeile 4.3 → 4.4 (damit Plugin-Manager und Updater die neue Fassung erkennen)."
}
