Startseite
» LINUX
»
Wie man Videodateien unter Linux mit HandBrake oder FFmpeg transkodiert
Wie man Videodateien unter Linux mit HandBrake oder FFmpeg transkodiert
Zum Transkodieren von Videodateien unter Linux können Sie HandBrake für einen unkomplizierten grafischen Workflow oder FFmpeg für eine präzise Steuerung über die Kommandozeile verwenden. HandBrake eignet sich besser für einmalige Konvertierungen; FFmpeg ist besser für wiederkehrende Befehle, Automatisierung und die Auswahl erweiterter Codecs.
Ein wichtiger Unterschied: Transkodierung dekodiert einen Video- oder Audiostream und kodiert ihn anschließend neu. Dies ist zeitaufwändig und kann die Qualität beeinträchtigen. Wenn lediglich der Container geändert werden muss, beispielsweise von MKV zu MP4, und die vorhandenen Codecs kompatibel sind, kann ein Remux die Streams kopieren, ohne sie neu zu kodieren. Die offizielle FFmpeg-Dokumentation empfiehlt das Kopieren der Streams, wenn Transkodierung nicht erforderlich ist.
Methode 1: Video mit HandBrake transkodieren
HandBrake ist die einfachere Wahl, wenn Sie eine grafische Benutzeroberfläche bevorzugen. Für Linux empfiehlt das HandBrake-Projekt die Flatpak-Version von Flathub als bequemste unterstützte Installationsmethode. Lesen Sie dazu die offizielle HandBrake-Installationsanleitung für Linux . Falls Flatpak und Flathub bereits aktiviert sind, installieren Sie HandBrake mit folgendem Befehl:
flatpak install fr.handbrake.ghb
1. Öffnen Sie das Quellvideo.
Starten Sie HandBrake und wählen Sie „Open Source“ . Wählen Sie anschließend das Video aus, das Sie konvertieren möchten. HandBrake unterstützt auch Drag & Drop für viele Dateitypen. Nach dem Scannen der Quelle werden Titel, Auflösung, Bildrate, Audiospuren und weitere Details angezeigt.
Wählen Sie die Quelldatei aus, die HandBrake kodieren soll.
2. Wählen Sie eine Voreinstellung.
Wählen Sie eine Voreinstellung, die zu Ihrem Gerät oder Ihrer Wiedergabesoftware passt. Laut der aktuellen HandBrake-Dokumentation ist „Fast 1080p30“ ein guter Ausgangspunkt für eine breite Kompatibilität. Mit einer Voreinstellung lassen sich die maximale Auflösung, die Bildrate, der Videocodec, die Audioeinstellungen und der Container anpassen.
Voreinstellungen bieten einen praktischen Ausgangspunkt für kompatible Ausgabeeinstellungen.
3. Ausgabenamen und Speicherort festlegen
Überprüfen Sie die gewünschten Einstellungen und legen Sie anschließend Dateiname und Zielordner fest. Gehen Sie nicht davon aus, dass HandBrake die Datei automatisch in Ihrem Videoordner speichert: Die Ausgabedatei wird im von Ihnen angegebenen Zielordner gespeichert . Die HandBrake-Schnellstartanleitung empfiehlt ausdrücklich, dies vor Beginn zu überprüfen.
Wählen Sie einen aussagekräftigen Ausgabedateinamen und überprüfen Sie den Zielordner.
4. Starten Sie die Codierung.
Klicken Sie auf „Codierung starten“ . HandBrake zeigt den Fortschritt an und benachrichtigt Sie, sobald der Vorgang abgeschlossen ist. Die Codierungsgeschwindigkeit hängt von der Quelle, der Auflösung, dem gewählten Encoder, den Qualitätseinstellungen, den Filtern und Ihrer Hardware ab; daher gibt es keine feste Fertigstellungszeit.
HandBrake meldet den Fortschritt und die geschätzte Zeit während der Transkodierung.
Methode 2: Video mit FFmpeg transkodieren
FFmpeg eignet sich ideal, wenn Sie einen reproduzierbaren Befehl benötigen oder viele Dateien verarbeiten müssen. Installieren Sie das ffmpegPaket über Ihre Linux-Distribution oder folgen Sie den Paketlinks auf der offiziellen FFmpeg-Downloadseite . Paketversionen und aktivierte Encoder können je nach Distribution variieren.
1. Überprüfen Sie, ob FFmpeg verfügbar ist.
Öffnen Sie ein Terminal und führen Sie folgenden Befehl aus:
ffmpeg -version
Die installierte FFmpeg-Version bestimmt, welche Codecs und Hardware-Encoder verfügbar sind.
2. Überprüfen Sie die Eingabedatei
Wechseln Sie in den Ordner, der Ihr Video enthält, und überprüfen Sie die Streams, bevor Sie es konvertieren:
cd ~/Videos
ffmpeg -i sample-video.mkv
Die Überprüfung der Eingabedaten gibt Aufschluss über die aktuellen Codecs, die Auflösung, die Bildrate und das Audioformat.
3. Transkodieren Sie das Video in H.264 und das Audio in AAC im MP4-Format.
Für ein vorhersagbares, weitgehend kompatibles MP4 sollten die Codecs angegeben werden, anstatt sich nur auf die Dateiendung zu verlassen:
Hier libx264wird H.264-Video kodiert, crf 22die Qualität gesteuert, mediumGeschwindigkeit und Komprimierung optimiert und AAC für Audio verwendet. Niedrigere CRF-Werte bedeuten im Allgemeinen eine höhere H.264-Qualität und größere Dateien. Falls Ihre FFmpeg-Version den benötigten Encoder nicht enthält, wählen Sie einen, der von Ihrer Version unterstützt wird.
FFmpeg gibt während der Kodierung Frame-, Zeit-, Bitraten- und andere Fortschrittsinformationen aus.
4. Verwenden Sie Stream Copy, wenn Sie nur einen neuen Container benötigen.
Wenn die Quelldatei bereits vom Zielcontainer unterstützte Codecs enthält, sollte eine vollständige Transkodierung und ein Remux vermieden werden:
-c copyKopiert kompatible Streams, ohne sie zu dekodieren und neu zu kodieren. Dies ist in der Regel deutlich schneller und vermeidet Qualitätsverluste zwischen den Generationen, schlägt jedoch fehl oder erzeugt eine ungeeignete Datei, wenn die Quellcodecs für den gewählten Container nicht gültig sind.
Stream Copy ändert den Container, ohne kompatible Audio- und Videostreams neu zu codieren.
Welche Option sollten Sie wählen?
Verwenden Sie HandBrake, wenn Sie eine geführte Benutzeroberfläche, Gerätevoreinstellungen und einfache Qualitätskontrollen wünschen.
Verwenden Sie FFmpeg, wenn Sie explizite Codecs, Stapelverarbeitung, Skripte, Filter oder wiederholbare Befehle benötigen.
Verwenden Sie Remuxing, wenn die Codecs bereits geeignet sind und Sie nur einen anderen Container benötigen.
Für die meisten Desktop-Wiedergaben ist eine MP4-Datei mit H.264-Video und AAC-Audio nach wie vor eine praktikable und kompatible Option. Falls Ihr Zielgerät oder -dienst eigene Upload-Vorgaben hat, sollten Sie diese zuerst befolgen und nicht nur anhand der Dateiendung konvertieren.