Zum Inhalt

VID-01 – Videoausgänge mit Aktivierung, Breite, Höhe, fps und Zielformat konfigurieren

Was macht die Funktion?

ImageConvert erzeugt aus einem als Video erkannten Eingang konfigurierte Videoausgaben mit ffmpeg. Pro Ausgang werden Aktivierung, Maße, Bildrate, Container und optional ein Standbild festgelegt. Die Videogröße folgt einem eigenen Algorithmus, nicht pauschal den Größenregeln für Photoshop-Bilder.

Voraussetzungen und Fundort

Die Endung muss unter fileExtensions.videoExtensions erkannt werden. Ein widersprüchlicher Eintrag in der Bildliste hat Vorrang. Das Handbuch nennt ffmpeg.exe und den Unterordner exiftool im Programmordner; die Anleitung setzt eine eingerichtete Installation voraus. Historische ffprobe-Nennungen ersetzen diesen aktuellen Abhängigkeitsvertrag nicht. Siehe Videowerkzeuge.

Konfiguriert wird in der Kunden-JSON unter mainFolder.video.subFolder[]. Die Liste beginnt bei 0 und wird bis zum ersten fehlenden name eingelesen; die tatsächliche Grenze kommt zusätzlich aus dem globalen Ausgabearray. Ein fehlender Name ist kein neutraler Platzhalter zwischen Ausgängen.

Feld Typ / belegte Werte Wirkung und Grenze
name String, z. B. video_original\\ in JSON Relativer Ausgangsordner; keine beliebige URL
active Boolean true / false Grundaktivierung; bei false wird die Konvertierung dieses Slots übersprungen
widthPx, heightPx Zahlen; beide 0 oder nichtnegative Maße Beide 0 übernehmen die Eingangsmaße; andere Fälle siehe unten
framesPersec Zahl, dokumentiertes Beispiel 24 Bei Wert >0 erzeugt der Handler einen ffmpeg-FPS-Filter; kein allgemeiner geprüfter Wertebereich
format String, belegte Beispiele mp4, mov Endung/Container des Ziels; keine frei zugesicherte Codecwahl
imageFormat jpg, png, no Separates Standbild oder keines; VID-02
schaltpfade_v[] Stringliste Tatsächlich gelesener Filterkey; Aktivierungsbindung abweichend, VID-03

Exakte Schreibweise: framesPersec und imageFormat. Die kleingeschriebenen Formen framespersec und imageformat in älteren Beispielen sind keine belegten Aliase. Die History vom 09.10.2026 korrigiert sie ausdrücklich.

Welcher Zielroot wirkt tatsächlich?

Der historische Anker mainFolder.video.rootFolder bleibt erhalten: Der Reader verlangt diesen Bereich über die Pflichtpräfixprüfung, übernimmt seinen Wert aber nicht als Videobasis. Stattdessen nimmt er den ersten durch Backslash abgeschlossenen Teil von mainFolder.web.rootFolder; falls dieser Ableitungszweig nicht greift, setzt er Web\. Der Zieldateipfad wird aus Kundenbasis, dieser Videobasis und subFolder[].name gebildet.

Ändere video.rootFolder deshalb nicht in der Erwartung, die Videos sicher an diesen Ort umzuleiten. Prüfe die tatsächliche Ablage deiner Fassung. Ein vorhandener Pflichtwert und ein wirksamer Zielwert sind hier verschiedene Dinge.

Vorgehen und Beispiel

  1. Prüfe Klassifizierung, eingerichtete Werkzeuge und die tatsächliche Kunden-/Webbasis.
  2. Wähle das vorhandene Ausgabeobjekt nach Position und Namen. Setze active ausdrücklich.
  3. Setze beide Maße, Bildrate und Format. Verlasse dich nicht auf ein unvollständiges Altbeispiel.
  4. Wähle das gewünschte Standbild separat. Plane Schaltpfade nicht als bereits verlässliche Routinggrenze ein.
  5. Sichere und übernimm die Änderung nach Konfiguration bearbeiten. Bei einem abgestimmten Lauf prüfst du Container, tatsächliche Maße, Bildrate und Ausgabeinventar separat.

Fragment eines vorhandenen Videoausgangs, keine vollständige Kunden-JSON und keine Standardwerte:

{
  "name": "video_original\\",
  "active": true,
  "widthPx": 0,
  "heightPx": 0,
  "framesPersec": 24,
  "format": "mp4",
  "imageFormat": "no",
  "schaltpfade_v": []
}

Es fordert ein MP4 mit Eingangsmaßen, 24 fps und ohne eigenes Thumbnail an. Die leere Filterliste beseitigt den in VID-03 beschriebenen falschen Aktivierungsarrayzugriff nicht. Zum Deaktivieren dieses Ausgangs setzt du active auf false; imageFormat: "no" allein schaltet nicht das Video ab.

Größenalgorithmus und weitere Grenzen

Der gelesene Videohandler behandelt die Maße folgendermaßen:

Konstellation Statischer Algorithmus
Beide Werte 0 Eingangsbreite und -höhe übernehmen
Konfigurierte Breite > Höhe Konfigurierte Höhe als Basis; bei Höhe 0 stattdessen Eingangshöhe; Breite proportional berechnen
Konfigurierte Breite < Höhe Konfigurierte Breite als Basis; bei Breite 0 stattdessen Eingangsbreite; Höhe proportional berechnen
Beide Werte gleich und nicht 0 Je nach Eingangsorientierung Breite oder Höhe als Basis, andere Kante proportional berechnen

Anschließend korrigiert der Code ungerade Maße. Ein allgemeines „in jede beliebige Maximalbox einpassen“ oder „eine positive Kante fixiert immer genau diese Kante“ ist damit nicht belegt. Für die tatsächlich erzeugten Maße sind Medieninformationen aussagekräftiger als der Ordnername.

specialSize und mindestens werden zwar eingelesen, haben in dieser Form1-Datei aber keinen belegten späteren Verbraucher. Sie sind hier keine zugesicherten fixed-/square-/Mindestgrößenfunktionen. Ebenso ist framesPersec: 0 kein verifizierter sicherer Durchreichmodus: Der Code lässt dann den FPS-Text leer, baut den übrigen Filter aber weiterhin zusammen.

active: false überspringt die eigentliche Konvertierung, ist aber keine Garantie, dass vorhandene Dateien unangetastet bleiben. Vor der Slot-Schleife wird ein berechnetes erstes Videoziel bereits auf Existenz geprüft und gegebenenfalls gelöscht. Keine Deaktivierung als Archivschutz oder Bereinigungsfunktion verwenden.

Verifizierter Projektstand

Der isolierte Lauf vom 31.08.2026 bestätigte Originalablage und drei Videoausgänge unter seinen Bedingungen. Der gezielte Retest und vollständige Minitest zu Buildanzeige 20261009 bestätigten framesPersec: alle drei geprüften Ziele mit r_frame_rate=24/1 und avg_frame_rate=24/1, 104 Frames bei 4,333333 Sekunden. Die geprüften H.264-Videos hatten 640 × 640 bzw. 720 × 720 px. Das ist kein allgemeiner Codecvertrag und kein Nachweis der Videofilter.

Quellen und Einordnung

ImageConvert-4.pdf, 09.10.2026, PDF-S. 10–11, 20–21, 30–31, History 73 (gedruckt 6–7, 16–17, 26–27, 69). IC/Form1.cs 752–774, 1181–1227, 5074–5077, 5094–5165, 7378–7412; Quellstand. R2 erklärt Pflichtpräfix und tatsächliche Wertlesung getrennt. Laufquellen: docs/ERGEBNIS_FEHLER_RETEST_BUILD_20261009.md, docs/ABSCHLUSS_MINITEST_BUILD_20261009.md. Kein neuer Lauf.

Weiter: Thumbnail · Schaltpfadgrenze · Videoanleitung · Video.