Ich habe einige Videos von vor ein paar Jahren in verschiedenen Formaten wie AVI, MPG, WMV, RM, RMVB usw. Sie sind riesig groß (mehr als 500 MB und manchmal > 1 GB).
- Da es vermutlich Fortschritte bei der Datenkomprimierung geben wird, würde ich gern wissen, welche Dateiformate und Komprimierungsmethoden heutzutage standardmäßig empfohlen werden, um eine deutliche Größenreduzierung bei gleichzeitigem Verlust offensichtlicher Daten zu erreichen.
- Wie kann ich die Dateiformatkonvertierung und Datenkomprimierung in Ubuntu 12.04 durchführen? Befehlszeilen- und Batch-Methoden sind am bequemsten, obwohl GUI-Methoden auch willkommen sind.
Danke und Grüße!
Antwort1
Ubuntu und sein gebündeltes FFmpeg
Nun, Sie sind auf das Problem gestoßen, dass FFmpeg nicht mehr mit Ubuntu geliefert wird, aber Sie haben versucht, es über zu installieren apt-get
.
Dieses Programm wird nicht mehr weiterentwickelt und dient nur der Kompatibilität
Das ist einfach eine Lüge. FFmpeg wird aktiv weiterentwickelt, aber die Ubuntu-Pakete sind veraltet und sie sind auf Abonnieren. Hier finden Sie dieFehlerbericht, der die Formulierung besprichtder Nachricht.
Installieren aus der Quelle oder Verwenden eines statischen Builds
Wenn Sie nicht selbst kompilieren möchten, können Sie einfach einen statischen Build vondie Download-Seite.
Wenn Sie auf dem neuesten Stand bleiben und das Tool selbst konfigurieren möchten, müssen SieKompilieren Sie es aus dem Quellcode. Überprüfender Ubuntu-Kompilierungsleitfadenfür eine detaillierte Anleitung zur Installation. Wenn Sie diese Schritte befolgen, erhalten Sie die neueste Version von FFmpeg (dem Kodierungstool) und x264 (einem bestimmten Video-Encoder).
Was brauche ich um die Größe zu reduzieren?
Du fragst …
welche Dateiformate und Komprimierungsverfahren heutzutage empfehlenswert sind
Tatsächlich gibt es nur eine Komprimierungsmethode („Codec“), die jeder empfehlen würde. Es ist der H.264- oder MPEG-4 Part 10 / AVC-Standard, der eine Komprimierungsmethode für Videos mit geringer Bandbreite angibt. H.264 erzielt auch bei höheren Bandbreiten hervorragende Ergebnisse. Ein sehr verbreiteter Encoder dafür heißt „x264“, den wir oben installiert haben.
Es ersetzt MPEG-4 Teil 2, den Video-Codec-Standard, der die Encoder „DivX“ und „XviD“ berühmt gemacht hat. Diese sind ebenfalls gut, benötigen jedoch mehr Bandbreite, um die gleiche Qualität beizubehalten.
Das eigentliche Dateiformat spielt keine Rolle. H.264-Videos können in fast jedem Container vorliegen, von AVI bis MP4, MOV und MKV. Es ist wichtig, den Unterschied zwischen einem Videocodec zu kennenan sichund der Container, der es einfach einkapselt. Weitere Informationen finden Sie hier:Was ist ein Codec (z. B. DivX?) und worin besteht der Unterschied zu einem Dateiformat (z. B. MPG)? Als Ausgabecontainer würde ich heute MP4 oder MKV wählen. AVI ist einfach zu alt und man kann mit dem Video nicht viel anfangen. Für die oben genannten Container gibt es bessere Tools zum Remultiplexen.
Wenn Sie die Größe reduzieren möchten, möchten Sie die durchschnittliche Bitrate des Videos reduzieren. Im einfachsten Fall würde dies bedeuten, den Encoder auf eine konstante Bitrate von beispielsweise 1,5 MBit/s zu zwingen. Das funktioniert, hat aber einige Nachteile. Anstatt mit einer festen Bitrate zu codieren, lassen Sie den Encoder wählen, wie viel er ausgeben möchte. Dies führt zu einer durchschnittlichen Bitrate, die an den Inhalt des Videos angepasst ist. Verwenden Sie dazu dieKonstanter RatenfaktorMöglichkeit.
Für x264 bedeutet dies, dass Sie für dieses CRF einen Wert zwischen 18 und 26 festlegen. Der Standardwert ist 23, und höhere Werte führen zu einer schlechteren Qualität und umgekehrt. Sie müssen nicht genau wissen, was es bewirkt, aber wenn Sie interessiert sind, lesen Sie diesCRF-Leitfaden.
Wie führen Sie die Konvertierung durch?
Sobald Sie FFmpeg installiert und am Laufen haben, können Sie ein Video ganz einfach in x264/MP4 mit AAC-Audio bei einer festen Bitrate von 192 kBit/s konvertieren:
ffmpeg -i input.avi -c:v libx264 -crf 23 -c:a aac -b:a 192k output.mp4
Das ist alles. Sie können die Ausgabegröße und -qualität variieren, indem Sie den CRF-Wert anpassen. Niedriger bedeutet bessere Qualität und größere Größe. Höher bedeutet schlechtere Qualität und kleinere Größe. Wie gesagt, vernünftige Werte liegen irgendwo zwischen 18 und 26, vielleicht mehr. Wenn Sie die Größe des Eingabevideos wirklich reduzieren möchten, wählen Sie den CRF-Wert, der bei reduzierter Dateigröße immer noch eine akzeptable Videoqualität liefert.
Um zu testen, wie Ihr Video aussehen würde, können Sie Qjederzeit während der Konvertierung drücken. Es wird eine gekürzte Datei hinterlassen, die aber immer noch abspielbar sein sollte. Sie können auch die -t <seconds>
Option angeben, wobei <seconds>
angegeben wird, wie lange Sie kodieren möchten (z. B. nur die ersten 30 Sekunden).
Weitere Einstellungen finden Sie imH.264-Kodierungshandbuch.
Stapelverarbeitung
Wenn Sie einen Stapel AVI-Dateien haben, die Sie konvertieren möchten, können Sie Folgendes tun, wodurch alle Dateien rekursiv transkodiert werden, beispielsweise in Bash:
while IFS= read -d '' -r file; do
ffmpeg -i "$file" -c:v libx264 -crf 23 -c:a aac -b:a 192k ${file%%.avi}-converted.mp4
done < <(find . -iname "*.avi" -print0)
Sie können das Suffix in diesem Befehl ändern .avi
und ihn für andere Dateien erneut ausführen lassen.
Beachten Sie, dass die Videokodierung eine zeitaufwändige Aufgabe ist und es eine Weile dauert, die perfekten Einstellungen für Ihre Quelldateien zu finden.
Antwort2
Ein weiteres vielseitiges (und mit einer sehr praktischen GUI ausgestattetes) Tool istAvidemux.
Hier finden Sie detaillierte Informationen zur Funktionsweise der Stapelverarbeitung:Avidemux DocuWiki - Stapelverarbeitung