So kodieren Sie H.265-Videos mit ffmpeg unter Linux

Fast alle Videos, die wir über digitales terrestrisches Fernsehen, Kabel, Satellit oder das Internet ansehen, sind komprimiert. Rohe, unkomprimierte Videos sind einfach zu groß und würden zu viel Bandbreite verschwenden. Lange vor DVD und Blu-ray gab es die Video-CD (VCD). Sie war das erste Format, das für den kommerziellen Vertrieb von Filmen auf optischen Standard-Discs mit 120 mm (4,7 Zoll) verwendet wurde. Das Video auf den Discs wurde in MPEG-1 kodiert, einem verlustbehafteten Komprimierungsformat, das für das Streamen von Videodaten mit 1,5 Mbit/s entwickelt wurde. Die wohl bekannteste Komponente des MPEG-1-Standards war sein Audiokomprimierungsformat. Offiziell MPEG-1 Audio Layer III genannt, kennen Sie es wahrscheinlich als MP3.
Auf MPEG-1 folgte MPEG-2, das als Videokomprimierungsstandard für DVD-Videos gewählt wurde. Es wurde auch als zugrunde liegender Videostandard für digitales Satellitenfernsehen (DVB-S) und digitales terrestrisches Fernsehen (DVB-T) verwendet. MPEG-2 wurde auch von der Internationalen Fernmeldeunion (ITU) als H.262 ratifiziert. Auf die DVD folgte Blu-ray, das neben in MPEG-2 kodierten Videos auch H.264 oder MPEG-4 Part 10, Advanced Video Coding (MPEG-4 AVC), wie es offiziell hieß, unterstützte.
- MPEG-1: Wird für Video-CDs verwendet
- MP3: Teil des MPEG-1-Standards, heute allgegenwärtig
- MPEG-2/H.262: Wird für DVD und andere digitale Medien verwendet
- MPEG-4 Teil 10/H.264: Wird in Blu-ray verwendet
- MPEG-H/H.265: Das Kodierungsformat der nächsten Generation mit Unterstützung für 4K- und 8K-Auflösungen
Nach H.264 kam H.265. Es hat auch einige andere Namen, am häufigsten ist High Efficiency Video Coding (HEVC) oder MPEG-HH265. Es verdoppelt die Datenkomprimierungsrate im Vergleich zu H.264 und kann Auflösungen bis zu 8192×4320 unterstützen. Das bedeutet, dass Videos bei gleicher Qualität nur die Hälfte der Bandbreite (oder Dateigröße) benötigen. Alternativ bedeutet es, dass die Qualität des Videos bei gleicher Bitrate erheblich verbessert werden kann, was für Displays mit sehr hoher Auflösung (also 4K und 8K) sehr wichtig ist.
Die gute Nachricht für Linux-Benutzer ist, dass der H.265-Codec in der beliebten Codierungssuite „ffmpeg“ verfügbar ist. Obwohl ffmpeg wahrscheinlich in den Repositories Ihrer Distribution vorhanden ist, ist es möglicherweise veraltet oder unterstützt H.265 nicht. Der einfachste Weg, die neueste und funktionalste Version von ffmpeg zu erhalten, besteht darin, Laden Sie die statisch verknüpften Builds herunter.
Laden Sie entweder die 32-Bit- oder die 64-Bit-Tar.xz-Datei herunter. Wenn Sie sich nicht sicher sind, welche Sie herunterladen sollen, verwenden Sie die 32-Bit-Version. Führen Sie in dem Verzeichnis, in das Sie die Datei heruntergeladen haben, den folgenden Befehl aus, um die Archivdatei zu entpacken:
tar xvf ffmpeg-2.4-32bit-static.tar.xz[enlazatom_show_links]Wobei „ffmpeg-2.4-32bit-static.tar.xz“ der Name der heruntergeladenen Datei ist.
Dadurch wird ein Verzeichnis mit dem Namen „ffmpeg-2.4-32bit-static“ erstellt. In diesem Verzeichnis befinden sich die Binärdateien „ffmpeg“ und „ffprobe“ (zusammen mit einigen anderen Binärdateien). Um ein Video im H.265-Format zu kodieren, verwenden Sie den folgenden Befehl:
./ffmpeg -i video.mp4 -c:a Kopie -c:v libx265 video-h265.mp4Der Parameter -i gibt die Eingabevideodatei an, in diesem Fall „video.mp4“. ffmpeg kann eine ganze Reihe von Videoformaten dekodieren, darunter .avi, .mp4 und .mov.
Der Kopierparameter -c:a weist ffmpeg an, den Audiostream aus der Originaldatei direkt in die Ausgabedatei zu kopieren. Während -c:v libx265 ffmpeg anweist, die neue Videodatei im H.265-Format zu kodieren.
Der letzte Parameter ist der gewünschte Dateiname der H.265-codierten Ausgabe. ffmpeg kann .mp4-, .mov- und .mkv-Dateien mit H.265-codiertem Video erstellen.
Sehen Sie sich nach Abschluss der Kodierung die Dateigröße der beiden Videos an. Sie sollten eine deutliche Verringerung der Dateigröße des H.265-kodierten Videos feststellen:
ls video.mp4 video-h265.mp4Um zu überprüfen, ob die Datei richtig codiert wurde, verwenden Sie den Befehl ffprobe wie folgt:
Die Ausgabe zeigt, dass der Videostream (wahrscheinlich Stream Nr. 0) mit hvec, also H.265, codiert ist. Der Audiostream wird in dem Format codiert, das in der Originaldatei verwendet wurde, da er einfach von einer Datei in die andere kopiert wurde.
Wenn Sie Fragen zu ffmpeg selbst haben, gibt es eine lebendige Community mit Mailinglisten, IRC-Kanälen und Foren. Wenn Sie Fragen zu den oben aufgeführten Beispielen haben, verwenden Sie bitte den Kommentarbereich weiter unten und wir werden sehen, ob wir helfen können.
Index
Schreibe einen Kommentar