Communitygithub.com

vanechkq/compress-video

Komprimieren vorhandener undurchsichtiger Videos mit dem standardmäßigen MP4/H.264-Profil unter Beibehaltung von Auflösung, Bildrate und Dauer. Entfernt standardmäßig die Tonspur; bei explizitem Wunsch wird sie beibehalten. Für Komprimierung, nicht für Animationsbearbeitung oder Export aus Design-Apps.

Was ist compress-video?

Dieses Skill komprimiert bereits existierende undurchsichtige Videos mit einem standardisierten MP4/H.264-Profil. Es eignet sich für alle gängigen Command-Line AI Agents (Claude Code, Cursor, Codex etc.), die eine zuverlässige Videokomprimierung benötigen. Das Skill behält die ursprüngliche Auflösung, Bildrate und Dauer des Quellvideos bei und entfernt standardmäßig die Tonspur vollständig (`-map 0:v:0 -an`). Wenn der Nutzer explizit eine Tonspur wünscht, wird diese verlustfrei kopiert (`-c:a copy`), sofern das Format MP4-kompatibel ist; andernfalls erfolgt eine AAC-Neucodierung mit 128 kb/s, was dem Nutzer offen kommuniziert wird. Die Komprimierungsstärke (CRF 23) und der Encoder (`libx264` im Slow-Preset) sind festgelegt, um eine gleichbleibend gute Qualität zu gewährleisten. Der Arbeitsablauf umfasst die vollständige Inspektion der Quelle, die Erstellung eines neuen Ausgabedateinamens (z.B. `quelle-komprimiert.mp4`), die Durchführung der Codierung und die abschließende Überprüfung des Ergebnisses auf Stream-Integrität, Fehler und Übereinstimmung mit den Quelldaten. Das Skill liefert einen anklickbaren Dateilink, Größenvergleich und eine klare Aussage über den Umgang mit der Tonspur (entfernt, kopiert oder neu codiert). Es ist strikt auf Komprimierung ausgelegt und nicht für Animation, transparente Videos oder HDR-Inhalte geeignet.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add vanechkq/compress-video

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Video komprimieren

Führe die Komprimierung aus und liefere die verifizierte Datei. Dieses Skill ist in sich abgeschlossen und benötigt keinen Gesprächsverlauf.

Standardprofil

  • MP4-Container; H.264-Video via libx264.
  • -crf 23 -preset slow -pix_fmt yuv420p -movflags +faststart.
  • Behalte die Quell-Maße, Bildrate und Gesamtdauer bei. Füge kein Skalieren, -r, Trimmen oder Geschwindigkeitsänderungen hinzu, außer wenn gewünscht.
  • Standardmäßig: Tonspur vollständig entfernen mittels -map 0:v:0 -an. Playback stumm schalten oder Stille encodieren ist nicht gleichwertig.
  • Wenn der Nutzer explizit Ton wünscht, kartiere die Tonspur und verwende -c:a copy für MP4-kompatibles Audio. Dies bewahrt den codierten Audio-Stream Bit für Bit. Falls inkompatibel, codiere mit AAC bei 128 kb/s neu und offenbare die Neucodierung. Behaupte nicht, dass Audio bewahrt wurde, wenn die Quelle keines hat.
  • Explizite Nutzerparameter überschreiben die Standardeinstellungen. CRF 23 ist verlustbehaftete Videokompression: versprich kein mathematisch verlustfreies Video oder eine feste Dateigröße.

Arbeitsablauf

  1. Untersuche die tatsächliche lokale Quelle: Video-/Audiostreams, Maße, Bildrate, Dauer und Dateigröße. Warte bis Downloads abgeschlossen sind. Verwende vorhandenes FFmpeg/FFprobe oder eine verfügbare vertrauenswürdige Laufzeitumgebung; hartcodiere nicht den temporären Binärpfad einer anderen Maschine. Fordere die Quelle an, wenn sie nicht verfügbar ist.
  2. Verwende einen neuen Dateinamen wie <quellname>-komprimiert.mp4 am gewünschten Zielort oder neben der Quelle, wenn nicht anders angegeben. Bewahre Quelle und vorhandene Ausgaben mit -n. Zitiere Pfade und vermeide Shell-Interpolation von Dateinamen.
  3. Codiere mit dem Standardprofil und dem gewählten Audiomodus. Reduziere nicht stillschweigend Auflösung/Bildrate oder erhöhe CRF, um eine kleinere Größe zu erreichen. Melde, wenn die Ausgabe größer ist, anstatt eine Reduktion zu behaupten.
  4. Warte auf erfolgreichen Abschluss. Untersuche die Ausgabestreams und decodiere die Datei vollständig auf Fehler. Bestätige, dass Maße/Bildrate und Dauer mit der Quelle übereinstimmen, wobei normale Containerrundungsdifferenzen innerhalb eines Frames erlaubt sind. Der Standardmodus muss keine Audiostreams enthalten. Bei kopiertem Audio vergleiche die Hashes der codierten Audiostreams. Überprüfe repräsentative Frames auf Ausrichtung, Beschneidung und sichtbare Artefakte.
  5. Liefere einen anklickbaren Dateilink, Quell- → Ausgabegrößen und etwaige wesentliche Kompromisse. Gib an, ob Audio entfernt, unverändert kopiert oder neu codiert wurde. Lösche oder verschiebe die Quelle nicht.

Befehle

Ersetze die Beispielpfade mit tatsächlichen Pfaden. Führe nur den gewählten Audiomodus aus.

Standard – kein Audiostream:

ffmpeg -hide_banner -nostdin -n -i "input.mp4" \
  -map 0:v:0 -c:v libx264 -crf 23 -preset slow \
  -pix_fmt yuv420p -an -movflags +faststart "output-compressed.mp4"

Ton explizit bewahren:

ffmpeg -hide_banner -nostdin -n -i "input.mp4" \
  -map 0:v:0 -map '0:a?' -c:v libx264 -crf 23 -preset slow \
  -pix_fmt yuv420p -c:a copy -movflags +faststart "output-compressed.mp4"

Quelle und Ausgabe unabhängig voneinander untersuchen, dann die Ausgabe decodieren:

ffprobe -v error -show_streams -show_format -of json "output-compressed.mp4"
ffmpeg -v error -nostdin -i "output-compressed.mp4" -f null -

Für kopiertes Audio führe die Überprüfung auf beiden Dateien aus und vergleiche die Ergebnisse. Wähle jeden Audiostream separat aus, wenn mehrere vorhanden sind:

ffmpeg -v error -i "output-compressed.mp4" -map 0:a:0 \
  -c:a copy -f hash -hash sha256 -

Dieses Profil zielt auf undurchsichtige SDR-Videos ab. Wenn Transparenz, HDR oder mehrere Videostreams erhalten bleiben müssen, wähle vor der Konvertierung das passende Ausgabeformat/Profil; normales H.264/yuv420p bewahrt keinen Alphakanal.

Verwandte Skills