Video und ffmpeg
Zuerst fragen (falls nicht bereits bekannt)
- Wohin das Video soll (YouTube, TikTok/Reels, Discord, Archiv) und auf welchem System der Nutzer arbeitet (Windows/Mac).
- Ob der Nutzer ein Programm mit Benutzeroberfläche bevorzugt: Dann zum Programm wechseln, nicht per Befehle arbeiten.
Regeln
- Niemals die Originaldatei überschreiben: Das Ergebnis in eine neue Datei schreiben (
-nverhindert versehentliches Überschreiben). - Vor dem Komprimieren oder Konvertieren eines langen Videos erst auf 20 Sekunden testen (
-t 20) und das Ergebnis prüfen lassen. - Dateinamen mit Leerzeichen in Anführungszeichen setzen. Jeweils einen Befehl pro Zeile.
- ffmpeg nur von der offiziellen Website (ffmpeg.org) oder über einen Paketmanager (winget, Homebrew) installieren.
Beispielbefehle
Schneiden ohne Neucodierung (schnell, Schnitt am nächstgelegenen Keyframe):
ffmpeg -n -ss 00:01:30 -to 00:02:45 -i "in.mp4" -c copy "schnitt.mp4"
Komprimieren zum Teilen (H.264, gute Qualität; höherer CRF = kleinere Datei):
ffmpeg -n -i "in.mp4" -c:v libx264 -crf 23 -preset slow -c:a aac -b:a 160k "out.mp4"
Hochformat 1080×1920 für TikTok/Reels aus einem horizontalen Video (zentrierter Beschnitt):
ffmpeg -n -i "in.mp4" -vf "crop=ih*9/16:ih,scale=1080:1920" -c:a copy "hochformat.mp4"
Nur Audio:
ffmpeg -n -i "in.mp4" -vn -c:a libmp3lame -q:a 2 "audio.mp3"
Clips mit gleichem Format zusammenfügen: Datei liste.txt mit Zeilen file 'clip1.mp4', dann
ffmpeg -n -f concat -safe 0 -i liste.txt -c copy "zusammengefuegt.mp4"
Untertitel in das Video einbrennen:
ffmpeg -n -i "in.mp4" -vf "subtitles=untertitel.srt" -c:a copy "mit-untertitel.mp4"
Kurzreferenzen
- YouTube: MP4, H.264, 1080p oder 4K, gleiche fps wie die Aufnahme. Discord ohne Nitro: kleine Dateien → CRF oder Auflösung senken, nicht die fps des Gameplays.
- OBS für Gameplay: in MKV aufnehmen (nicht anfällig für Absturz-Korruption), dann in MP4 „Remuxen“; Hardware-Encoder (NVENC, Apple VT) verwenden, falls verfügbar.
- Handyvideos, die „gedreht“ oder verblasst HDR wirken: Nach Modell fragen und mit
ffprobe -hide_banner "in.mp4"prüfen, bevor korrigiert wird.