1. #1
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    4.643
    Thanked 8.802 Times in 2.745 Posts
    Blog Entries
    5

    Standard

    Ein Einzeiler, um alle .MOV Filmdateien im aktuellen Ordner mit ffmpeg ins MP4-Format zu konvertieren und entsprechend umzubenennen:
    Code:
    for file in *.MOV; do ffmpeg -i $file $(echo $file | sed 's/.MOV/.mp4/'); done
    Nützlich beispielsweise für iPhones, die im MOV-Format aufnehmen. Dort sind die Aufnahmen größer und teils gibt es Probleme mit der Kompatibilität, da MP4 verbreiteter ist.
    Nichts besonderes, aber ein kleines Snippet, das man durchaus ab und an mal brauchen kann. Da ffmpeg sehr mächtig ist, kann man auf die Art auch andere Konvertierungen vornehmen, in dem man die Erweiterung entsprechend anpasst.

    Beispiel der Platzersparnis anhand zweier Filme:
    Code:
    $ ls -lh
    insgesamt 2,2G
    -rw-rw-r-- 1 daniel daniel 1,9G Okt 30 12:44 IMG_0074.MOV
    -rw-rw-r-- 1 daniel daniel 172M Okt 30 13:29 IMG_0074.mp4
    -rw-rw-r-- 1 daniel daniel 117M Okt 30 12:57 IMG_0075.MOV
    -rw-rw-r-- 1 daniel daniel  20M Okt 30 13:30 IMG_0075.mp4
    IMG_0074 ist 1:24min lang, IMG_0075 nur 6 Sekunden. Beide wurden in 4k aufgenommen und mit obigem Befehl umgewandelt. Ein Qualitätsunterschied ist auf einem WQHD Bildschirm nicht sichtbar.

  2. The Following User Says Thank You to DMW007 For This Useful Post:

    Darkfield (31.10.2020)

  3. #2
    Avatar von DMW007
    Registriert seit
    15.11.2011
    Beiträge
    4.643
    Thanked 8.802 Times in 2.745 Posts
    Blog Entries
    5

    Standard

    Alternativ kann man den Constant Rate Factor (CRF) verwenden, um die Qualität und damit die Dateigröße zu reduzieren. Bei x264 befindet sich dieser zwischen 0 und 51. 0 ist verlustfrei, 23 der Standard und 51 die schlechteste Qualität. 18 ist bereits komprimiert, visuell jedoch verlustfrei. Ein Wert zwischen 18 und 23 kann die Dateigröße deutlich reduzieren, ohne die Qualität optisch zu verschlechtern.

    Folgendes Snippet convertiert alle Dateien im aktuellen Ordner mit einer CRF von 21 und benennt diese mit einem entsprechenden _crf21 nach dem Dateiname um (z.B. movie_crf21.mp4):
    Code:
    for file in *.*; do ffmpeg -i "$file" -crf 21 "$(echo $file | sed -E 's/\.([a-zA-Z0-9]+)/_crf21.\1/g')"; done
    Man könnte auch auf *.mp4 filtern, je nachdem welche Medien sich im Ordner befinden.

Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.