Viele große MOV-Dateien neu komprimieren

Mein Camcorder produziert riesige MOV-Dateien und ich verwende ihn jeden Tag etwa 1 Stunde lang, was mir mehr als 7 GB Daten pro Tag (etwa 128 MB pro Aufnahmeminute) einbringt. Hier sind die Codec-Informationen ffmpeg -ifür einen 12-minütigen Beispielclip:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Video.MOV':
  Metadata:
    major_brand     : qt  
    minor_version   : 0
    compatible_brands: qt  
    creation_time   : 2013-02-05 20:12:47
    original_format : NVT-IM
    original_format-eng: NVT-IM
    comment         : CarDV-TURNKEY
    comment-eng     : CarDV-TURNKEY
  Duration: 00:12:37.00, start: 0.000000, bitrate: 15935 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 14745 kb/s, 30 fps, 30 tbr, 30k tbn, 60k tbc (default)
    Metadata:
      creation_time   : 2016-02-05 20:12:47
      handler_name    : DataHandler
      encoder         : h264
    Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 32000 Hz, 1 channels, s16, 512 kb/s (default)
    Metadata:
      creation_time   : 2015-02-05 20:12:47
      handler_name    : DataHandler

Dies sind Dateien, die ich behalten möchte, und zwar in einer anständigen Qualität. Ich werde nicht genug Speicherplatz haben, um sie alle langfristig aufzubewahren, und mein Land ist einer der teuersten Orte (wenn nicht der teuerste), um Hardwarekomponenten zu kaufen oder zu importieren, sodass der Kauf neuer Festplatten wirklich nicht in Frage kommt.

Ich habe versucht, diesen 12-Minuten-Clip mit verschiedenen Einstellungen auf Handbrake (einschließlich natürlich den Profilen Normal und Hoch) neu zu komprimieren, aber die resultierende Datei hat im Allgemeinen die gleiche Größe, wenn nicht sogar mehr (ca. 1,5 GB).

Ich habe auf YouTube nach HD-Videos gesucht und ein paar Videos heruntergeladen, nur um ihre Größe zu überprüfen, und ich habe 1080p 12-Minuten-Clips mit einer Größe von etwa 200-300 MB erhalten . Sie haben vielleicht etwas Qualität reduziert, aber in meinen Augen sehen 1080p-Videos auf YouTube im Allgemeinen ziemlich scharf aus. Wenn möglich, möchte ich ähnliche Ergebnisse!

Bei der Suche hier in der Videoproduktion habe ich diese Antwort gefunden, die besagt, dass „Kameras im laufenden Betrieb komprimieren müssen, also verwenden sie den eingeschränkten Baseline-Modus (…), wenn Sie etwas Platz zurückgewinnen möchten, können Sie ihn verwenden ffmpeg". Ich habe versucht, diesen bestimmten Befehl auszuführen, aber ich bekomme immer noch riesige Dateien.

Ich arbeite unter Linux, könnte aber vielleicht auch Windows in einer virtuellen Maschine ausführen.

Antworten (2)

Meine frühere Antwort gilt immer noch im Allgemeinen. Zusätzlichen Rat, den ich geben kann, ist, höhere CRF-Werte auszuprobieren und die sehr langsame Voreinstellung zu verwenden.

ffmpeg -i input.mov -c:v libx264 -crf 23 -preset veryslow -c:a copy -c:d copy -map 0 compressed.mov

Sie können auch einen eingeschränkten Qualitätsmodus durch Einstellung nachahmen

ffmpeg -i input.mov -c:v libx264 -crf 21 -preset veryslow -maxrate 5M -bufsize 10M -c:a copy -c:d copy -map 0 compressed.mov
Es dauerte genau 8 Stunden, um die 12-Minuten-Probe zu verarbeiten. Das Ergebnis sind 940 MB (das wären 4,7 GB pro Tag, verarbeitet in 40 Stunden). Danke, aber ich suche wirklich etwas, das ich jeden Tag tun könnte, und das würde zu Dateien in einer Größe führen, die ich langfristig behalten könnte!
Ändern Sie die Voreinstellung auf medium. Die Dateien werden etwas größer, aber schneller kodiert. Sie können andere hier aufgeführte Voreinstellungen ausprobieren .

Warum transkodierst du das Material nicht nach h265? Zitat von https://trac.ffmpeg.org/wiki/Encode/H.265 : „H.265 (auch als HEVC bekannt) bietet im Vergleich zu H.264-Video eine um 50-75 % höhere Komprimierungseffizienz, während die gleiche Optik beibehalten wird Qualität."

Alternativ könnten Sie eine Transcodierung in den VP9-Codec in Betracht ziehen, der einen besseren Kompromiss zwischen Dateigröße und Komprimierungszeiten zu bieten scheint. Beide Codecs sollten die gleiche Bildqualität bei geringeren Dateigrößen als h264 liefern.

Der zitierte Vergleich bezieht sich auf Referenz-Encoder. x265 war nicht so ausgereift wie x264, als ich das letzte Mal nachgesehen habe. Sehen Sie sich die letzten beiden Grafiken im Schlussabschnitt hier an : Sieht so aus, als ob x265 die gleiche Qualität bei 80-110 % Bitrate liefert wie x264.
Während ich Einwände in Bezug auf die für die Komprimierung erforderliche CPU-Zeit verstehen würde (was derzeit der Nachteil von x265 zu sein scheint), gibt es viele "praktische" Tests von Leuten, die sagen, dass Sie die gleiche visuelle Qualität bei 60-70% Datei erreichen werden Größe. also was genau willst du damit sagen?
Dass das Zitat nicht repräsentativ für Ergebnisse aus dem wirklichen Leben ist. Ihr eigener Hinweis auf "praktische" Tests widerspricht dem. Und das OP hoffte auf Youtube-ähnliche Größen, dh 300 MB für 12 Minuten und nicht zu viel Codierungszeit. Wenn Sie ihren Kommentar unter meiner Antwort lesen, erzeugte die x264-CRF-Codierung 940-MB-Dateien, und das war mit einer sehr langsamen Voreinstellung und dauerte somit 8 Stunden. Damit x265 300-MB-Dateien erzeugt, die "ziemlich scharf" aussehen, wird es eine vergleichbare Zeit dauern, wenn nicht viel mehr. Sie wollte eine Lösung, die täglich verwendet werden kann.