frameproof — Videos ansehen und es beweisen können
Grundregel
Behaupte niemals, was auf dem Bildschirm war, wenn du das Bild nicht gesehen hast.
Das Werkzeug druckt ehrlich die Abdeckung aus. Wenn es im Bericht einen Abschnitt „OHNE BILD“ gibt – sag über diesen Zeitraum direkt: „Hier gibt es kein Bild, vom Ton her ist Folgendes…“. Eine Vermutung, die als Beobachtung präsentiert wird, entwertet die gesamte Analyse.
Jede Aussage über den Bildschirm – mit Markierung [MM:SS / fNNNN]. Das ist keine Formatierung: frameproof verify prüft jede solche Markierung anhand des Index. Eine erfundene Referenz wird von der Arithmetik erkannt, ohne Modell.
Ablauf
1. Indizieren
frameproof index "<Link oder Pfad>" --ocr
Gibt einen Abdeckungsbericht aus. Lies ihn zuerst: wie viele Bilder, wie groß die maximale Lücke, gibt es Abschnitte ohne Bilder.
Der Pfad zum Index steht in der letzten Ausgabezeile. Im weiteren Verlauf wird er als --out benötigt.
--ocr aktiviert Texterkennung auf den Einzelbildern (macOS, offline). Das macht den Bildschirm grep-bar: Befehle, Dateinamen und URLs werden ohne ein einziges Bild durch Suche gefunden. Erkannt wird eine separate Kopie in nativer Auflösung, die Anzeige bleibt leicht.
Nützliche Optionen: --max-gap 10 (höhere Abdeckungsdichte), --max-frames 400 (langes Video), --lang de (Sprache der Transkription, falls keine Untertitel vorhanden).
Wenn neben dem Video bereits Untertitel vorhanden sind, verwende --subs rede.srt, das ist präziser und schneller als eine Transkription. Auf Nicht-Mac-Systemen wird die Erkennung über eine eigene Engine angebunden: --ocr-command "<Programm>", das erhält die Bildpfade und gibt Pfad<TAB>Text aus.
2. Lie die Karte
cat <Index>/index.json
Kleine Datei, lies sie komplett. Sie enthält Dauer, Anzahl der Bilder, Quelle des Transkripts und – vor allem – den Block coverage.
3. Suche mit Text, nicht mit Bildern
frameproof search "<Suchbegriff>" --out <Index>
Durchsucht sowohl Sprache als auch Bildschirmtext. Liefert Zeilen mit Zeitstempeln. Kein einziges Bild – null visuelle Tokens. Die meisten Fragen werden hier beantwortet.
Die Suche ist sublinear (Trigramme), deutsche Beugungen stören nicht.
Für komplexere Abfragen greife direkt mit grep:
grep -i "docker" <Index>/segments.jsonl | head
grep -i "npm" <Index>/frames.jsonl | head
4. Sieh dir Bilder nur an, wenn es nicht anders geht
frameproof frames --at 4:12 --out <Index> # ein bestimmter Moment
frameproof frames --ids f0043,f0044 --out <Index> # bestimmte Bilder
Der einzige Befehl, der Bilder ausgibt. Lies die ausgegebenen Pfade mit Read.
Budget: 4–8 Bilder pro Durchlauf. Ein Einzelbild 1280×720 kostet etwa 1196 visuelle Tokens. Alle Bilder eines einstündigen Videos zu zeigen, bedeutet Hunderttausende Tokens; das sollte man vermeiden.
5. Antworte mit Beweis
Format einer Bildschirmaussage:
Bei 18:38 wird eine Modell-Routing-Tabelle gezeigt: MAIN – teuer und intelligent, AUXILIARY – günstig und schnell.
[18:38 / f0097]
Wenn eine Person einen Artikel oder eine Zusammenfassung erbeten hat, füge Bilder als Illustrationen anhand ihrer Pfade aus frames.jsonl ein und daneben den Zeitstempel.
6. Überprüfe dich selbst – wenn darum gebeten
Die Markierung [MM:SS / fNNNN] ist keine Verzierung, sondern ein prüfbarer Link. Die mechanische Prüfung ist kostenlos und sofort, führe sie bei jeder Analyse länger als ein paar Absätze durch:
frameproof verify <Analyse-Datei.md> --out <Index>
Das Werkzeug weiß nichts über den Inhalt – es prüft die Integrität des Links: Existiert das Bild, hat es den richtigen Zeitstempel, liegt der Moment nicht in einem Bereich ohne Bilder, wurde dieses Bild überhaupt angefordert, kommt die zitierte Zeile im Bildtext oder in der Sprache der Umgebung vor.
FAIL bedeutet einen kaputten Link, der repariert werden muss, nicht diskutiert. WARN ist ein Grund, das Bild zu öffnen und selbst zu betrachten.
7. Blinder zweiter Blick – nur auf ausdrücklichen Wunsch
Wenn eine Person sagt „prüf die Analyse nochmal“, „überprüfe es“, „hast du das wirklich gesehen“ – starte eine adversariale Prüfung.
frameproof verify <Datei> --out <Index> --plan
Der Befehl gibt ein JSON mit Aufgaben aus. Delegiere diese an den Sub-Agenten frameproof-adversary in einem einzigen Aufruf (nicht ein Agent pro Behauptung – einer reicht).
Was an den Sub-Agenten übergeben wird: nur die nummerierte Liste der Behauptungen und die Pfade zu den Bildern, genau wie im JSON.
Was NICHT übergeben wird, nicht ein Wort:
- die Frage, die die Person gestellt hat;
- deine eigenen Überlegungen, warum du zu dieser Schlussfolgerung gekommen bist;
- der restliche Analysetext;
- ein Hinweis darauf, welche Antwort du für richtig hältst.
Der Sub-Agent sieht die Gesprächshistorie nicht – das ist garantiert. Aber du schreibst die delegierende Nachricht, und das ist der einzig verbleibende Leckkanal. Ein Prüfer, der die erwartete Antwort kennt, ist nutzlos: Er wird sie bestätigen.
Was mit den Urteilen zu tun ist:
CONFIRMED– unverändert lassen.REFUTED– markieren, nicht löschen:[nicht durch zweiten Blick bestätigt: <Grund>]. Widerleger irren sich bei korrekten Behauptungen deutlich öfter, als man denkt, daher trifft die Person die Entscheidung, nicht du.UNSUPPORTED– ehrlich sagen: Auf dem Bild ist das nicht zu sehen, die Schlussfolgerung basiert auf dem Ton oder auf benachbarten Momenten.
Starte diesen Durchlauf nicht von dir aus nach jeder Analyse. Er kostet Tokens und Zeit, während die mechanische Ebene die meisten Probleme kostenlos abfängt.
Was nicht getan werden darf
- Erzähle das Video nicht nur anhand eines Transkripts nach und nenne das eine Bildschirmanalyse. Sprache und Bildschirm weichen ab: Im Video sagt jemand „OpenRouter“, aber auf dem Bildschirm steht
openrouter/pareto-code (min_coding_score 0.65). Das Zweite gibt es nur in den Bildern und im OCR. - Lade nicht „für alle Fälle“ Bilder in Paketen hoch. Erst Suche, dann gezielt Bilder.
- Gib OCR nicht als wörtlichen Code-Text aus. Die Erkennung verwechselt Zeichensetzung:
[mainwird alsImaingelesen. OCR wird verwendet, um das Bild ZU FINDEN; was darauf steht, lies mit eigenen Augen. - Schweige nicht über blinde Stellen. Wenn die Abdeckung weniger als 100 % beträgt, sag der Person Bescheid.
Wenn etwas fehlt
frameproof doctor
Zeigt, was installiert ist und was nicht. Erforderlich sind ffmpeg und numpy; yt-dlp wird nur für Links benötigt; für die Transkription mlx-whisper (schnell auf Apple Silicon) oder openai-whisper (überall). Schlüssel werden für nichts benötigt.