Was macht fullgrade?
Automatische, sanfte Farbkorrektur für Videos. Alles läuft lokal mit ffmpeg + Python; keine GPU, keine Cloud-API, fast keine Tokens (die Analyse wird vom Skript durchgeführt, nicht durch Bildbetrachtung).
Sprache: Antworte in der Sprache des Benutzers. Wenn der Benutzer auf Chinesisch schreibt, verwende --lang zh, damit der Bericht und die Vergleichsbilder auf Chinesisch sind; sonst --lang en.
1. Umgebung (erster Durchlauf oder falls etwas fehlschlägt)
python3 <skill_dir>/scripts/fullgrade.py --check
Wenn etwas fehlt, teile dem Benutzer den entsprechenden Befehl mit:
| Fehlend | macOS | Windows | Linux |
|---|---|---|---|
| ffmpeg | brew install ffmpeg | winget install ffmpeg | sudo apt install ffmpeg |
| numpy / Pillow | python3 -m pip install numpy pillow (füge --break-system-packages hinzu, wenn pip sich weigert) | ||
| Face-Aware Crop (optional) | python3 -m pip install opencv-python-headless |
Führe das Skript auf dem Rechner aus, auf dem sich die Videos befinden. Wenn die Dateien in eine Sandbox hochgeladen wurden, führe es dort aus und sende die Ausgaben zurück.
Unter Windows verwende python anstelle von python3, falls python3 nicht gefunden wird.
Optional: python3 <skill_dir>/scripts/fullgrade.py --selftest erstellt synthetisches Filmmaterial und testet alle Funktionen (ca. 2–3 Minuten). Verwende es, wenn der Benutzer fragt: „Funktioniert es auf meinem Computer?"
2. Die Anfrage in einen Befehl umwandeln
python3 <skill_dir>/scripts/fullgrade.py <dateien-oder-ordner> [optionen] --lang <en|zh>
| Der Benutzer sagt… | Option |
|---|---|
| nichts über den Stil / „Einfach korrigieren"/ 自然 | --preset natural (Standard) |
| Immobilien, Innenräume, hell & luftig / 房产, 明亮通透 | --preset real-estate |
| warm, gemütlich, Abend / 温暖, 温馨 | --preset warm |
| lebendig, Essen, Produkt / 鲜艳, 美食 | --preset vivid |
| klar, kühl, modern, Technik / 清冷, 现代 | --preset cool-modern |
| filmisch, Filmlook, Vlog / 电影感 | --preset cinematic |
| vertikal, TikTok, Reels, Shorts, 抖音, 小红书 | --ratio 9:16 |
| YouTube, Querformat / 横屏 | --ratio 16:9 |
| quadratisch / Instagram-Feed | --ratio 1:1 oder --ratio 4:5 |
| Bild füllen, keine Balken / 裁切 | --fit crop |
| gesamtes Bild behalten / 不要裁, 补边 | --fit blur |
| schwarze / weiße Balken | --fit color --pad-color black (oder white) |
| Drohne / DJI D-Log | --log dlog |
| Sony S-Log3 · Panasonic V-Log · iPhone Apple Log | --log slog3 · --log vlog · --log applelog |
| alles an diesen Clip / dieses Foto anpassen | --match <datei> (--match-method mkl Standard; reinhard, hist) |
| alle Clips eng aneinander angleichen | --match hero |
| leichtere Korrektur / nicht übertreiben / 轻一点 | --strength 0.6 |
| schnellerer Export | --fast (Apple / NVIDIA / Intel Hardware-Encoder, automatischer Fallback) |
| beste Qualität | --quality best |
| Unterordner einbeziehen | --recursive |
| nur prüfen, kein Export | --analyze-only |
| eine einzige Korrektur für die gesamte Datei | --no-split |
| LUT-Dateien für Premiere / DaVinci / Final Cut / CapCut | verweise auf <skill_dir>/luts/ (oder --export-luts <ordner>) |
Standardeinstellungen, die für die meisten Benutzer bereits richtig sind: --fit auto (zuschneiden, wenn ≥60 % des Bildes erhalten bleiben, sonst unscharfer Hintergrund – bei 16:9 ↔ 9:16 wird also standardmäßig ein unscharfer Hintergrund verwendet, es sei denn, der Benutzer wünscht einen Zuschnitt), --dynamic auto, --denoise auto.
Frage nicht nach dem Seitenverhältnis, es sei denn, der Benutzer erwähnt es – behalte das Original bei. Frage nur, wenn die Anfrage wirklich unklar ist (z. B. sagt der Benutzer „LOG", aber nicht, welche Kamera).
3. Was passiert (nur auf Nachfrage kurz erklären)
- iPhone HDR → automatisch SDR; LOG wird dekodiert, wenn
--logangegeben ist (das Skript warnt, wenn ein Clip nach LOG aussieht). - Ein fertiger Schnitt wird in Shots aufgeteilt (Szenenerkennung); jeder Shot wird einzeln korrigiert.
- Pro Shot: Weißabgleich → Schwarz-/Weißpegel (Lichter geschützt) → Belichtung in einen Komfortbereich → Kontrast → Sättigung → Look-Preset → optional Angleichen. In einen 3D-LUT pro Shot mit Sicherheitsgrenzen eingebrannt, sodass es nie übertreibt.
- Helligkeitsschwankungen innerhalb eines Shots (z. B. beim Gehen von einem dunklen Flur in einen hellen Raum) werden geglättet (dynamische Belichtung). Stark aufgehellte Shots erhalten eine leichte Rauschreduzierung.
- Die Bildneuanordnung streckt nie; der intelligente Zuschnitt folgt Gesichtern (falls OpenCV installiert ist) oder dem detailreichsten Bereich.
- Ein Clip, der bereits korrekt aussieht, wird ohne Neucodierung kopiert.
Geschwindigkeit: Die Verarbeitung dauert etwa 1–3× der Videolänge für 1080p (4K dauert länger). Bei langen oder vielen Dateien teile dem Benutzer mit, dass es läuft, und warte; brich nicht ab. Verwende --fast, wenn es eilig ist.
Exit-Code: 0 = alles erledigt · 2 = einige Dateien fehlgeschlagen (andere sind in Ordnung – am Ende der Ausgabe wird Done: X OK, Y failed angezeigt und der Bericht zeigt den Grund) · 1 = es konnte nichts verarbeitet werden. Teile dem Benutzer immer mit, welche Dateien fehlgeschlagen sind und warum (häufige Ursachen: kein Video, beschädigte Datei, Nur-Audio-Datei).
4. Ausgaben
- Videos:
<eingabe-ordner>/_graded/<name>_<preset>[_9x16].mp4– überschreibt nie (fügt_v2hinzu), Originale bleiben unberührt. _graded/compare/*_compare.jpg– Vorher-/Nachher-Standbilder. Zeige dem Benutzer immer mindestens eines davon._graded/fullgrade_report.html– Vorher-/Nachher-Schieberegler, Zahlen und Ansichten für jeden Shot. Biete es an._graded/fullgrade_report.md– dieselben Zahlen als Text; lies es, um deine Zusammenfassung zu schreiben.
5. Antwort
Kurze Zusammenfassung in der Sprache des Benutzers: wie viele Videos, welcher Preset/Seitenverhältnis, wo die Dateien sind, ein oder zwei Sätze darüber, was sich geändert hat (aus dem Bericht, z. B. „Shot 2 war sehr gelb und ist jetzt neutral; die Fensterlichter wurden geschützt"), das/die Vergleichsbild(er) und ein sinnvoller nächster Schritt (ein anderer Preset, eine 9:16-Version, --strength falls der Benutzer eine leichtere Korrektur wünscht).
Ehrliche Grenzen
- Reinweiße überbelichtete Fenster/Himmel können nicht wiederhergestellt werden; der Rest des Bildes wird dennoch verbessert.
- Sehr dunkles Filmmaterial zeigt beim Aufhellen Rauschen (eine leichte Rauschreduzierung hilft, ist aber kein Wundermittel).
- Gemischtes Licht in einem Shot (orangefarbene Lampe + blaues Tageslicht) wird als Kompromiss ausgeglichen.
- Überblendungen zwischen zwei sehr unterschiedlichen Shots können einen kleinen Sprung am Schnitt zeigen.
- DJI D-Log M und andere nicht aufgeführte LOG-Kurven werden in V1 nicht unterstützt – korrigiere sie ohne
--logund verwende--strength.