it-swarm.com.de

Was sind die Unterschiede und Gemeinsamkeiten zwischen ffmpeg, libav und avconv?

Wenn ich ffmpeg unter Ubuntu starte, wird Folgendes angezeigt:

$ ffmpeg 
ffmpeg version v0.8, Copyright (c) 2000-2011 the Libav developers
  built on Feb 28 2012 13:27:36 with gcc 4.6.1
This program is not developed anymore and is only provided for compatibility. Use avconv instead (see Changelog for the list of incompatible changes).

Oder es zeigt (je nach Ubuntu-Version):

$ ffmpeg
ffmpeg version 0.8.5-6:0.8.5-0ubuntu0.12.10.1, Copyright (c) 2000-2012 the Libav developers
  built on Jan 24 2013 14:49:20 with gcc 4.7.2
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.

Ich fand avconv auf http://libav.org . Ich bin nur verwirrt von ihnen.

238
why

Verwirrende Botschaften

Diese Botschaften sind eher irreführend und sorgen verständlicherweise für Verwirrung. Ältere Ubuntu-Versionen verwendeten Libav, eine Abzweigung des FFmpeg-Projekts. FFmpeg kehrte in Ubuntu 15.04 "Vivid Vervet" zurück.

Die Gabelung war im Grunde ein nicht einvernehmliches Ergebnis von widersprüchlichen Persönlichkeiten und Entwicklungsstilen innerhalb der FFmpeg-Community. Es ist erwähnenswert, dass der Betreuer von Debian/Ubuntu von FFmpeg auf Libav gewechselt ist, weil er an der Libav-Gabel beteiligt war.

Das echte ffmpeg gegen das gefälschte

Für eine Weile entwickelten sowohl Libav als auch FFmpeg ihre eigene Version von ffmpeg.

Libav benannte dann sein bizarres ffmpeg in avconv um, um sich vom FFmpeg-Projekt zu distanzieren. Während der Übergangsphase wurde die Meldung "Nicht mehr entwickelt" angezeigt, in der die Benutzer aufgefordert werden, avconv anstelle ihrer gefälschten Version von ffmpeg zu verwenden. Dies verwirrte die Benutzer in der Annahme, dass FFmpeg (das Projekt) tot ist, was nicht wahr ist. Eine schlechte Wortwahl, aber ich kann mir nicht vorstellen, dass Libav eine solche Reaktion der allgemeinen Benutzer nicht erwartet.

Diese Nachricht wurde im Upstream entfernt, als die Fälschung "ffmpeg" endgültig aus der Libav-Quelle entfernt wurde. Abhängig von Ihrer Version kann sie jedoch weiterhin in Ubuntu angezeigt werden, da die von Ubuntu verwendete Libav-Quelle vom ffmpeg-to stammt -avconv Übergangszeit.

Im Juni 2012 die Nachricht wurde umformuliert für das Paket libav - 4:0.8.3-0ubuntu0.12.04.1. Leider hat die neue "veraltete" Nachricht zusätzliche Benutzerverwirrung verursacht.

Ab Ubuntu 15.04 "Vivid Vervet" ist FFmpegs ffmpegwieder in den Repositories .

libav gegen Libav

Um die Sache noch komplizierter zu machen, wählte Libav einen Namen, der historisch von FFmpeg verwendet wurde, um auf seine Bibliotheken (libavcodec, libavformat usw.) zu verweisen. Zum Beispiel hat die libav-Benutzer-Mailingliste für Fragen und Diskussionen zur Verwendung der FFmpeg-Bibliotheken nichts mit dem Libav-Projekt zu tun.

Wie man den Unterschied erkennt

Wenn Sie avconv verwenden, verwenden Sie Libav. Wenn Sie ffmpeg verwenden, können Sie FFmpeg oder Libav verwenden. Beziehen Sie sich auf die erste Zeile in der Konsolenausgabe, um den Unterschied festzustellen: Im Copyright-Vermerk wird entweder FFmpeg oder Libav erwähnt.

Zweitens unterscheiden sich die Versionsnummernschemata. Jede FFmpeg- oder Libav-Bibliothek enthält ein version.h Header, der eine Versionsnummer anzeigt. FFmpeg endet mit drei Ziffern, z. B. 57,67. 100 , und Libav endet mit einer Ziffer, z. B. 57,67. 0 . Sie können die Versionsnummern der Bibliothek auch anzeigen, indem Sie ffmpeg oder avconv ausführen und die Konsolenausgabe anzeigen.

Wenn Sie das echte ffmpeg verwenden möchten

Ubuntu 15.04 "Vivid Vervet" oder neuer

Das echte ffmpeg befindet sich im Repository, sodass Sie es installieren können mit:

apt-get install ffmpeg

Für ältere Ubuntu-Versionen

Ihre Möglichkeiten sind:

Diese Methoden sind nicht aufdringlich, reversibel und beeinträchtigen weder das System noch Repository-Pakete.

Eine andere Möglichkeit besteht darin, auf Ubuntu 15.04 "Vivid Vervet" oder neuer zu aktualisieren und nur ffmpeg aus dem Repository zu verwenden.

Siehe auch

Einen interessanten Blog-Artikel zur Situation sowie eine Diskussion über die wichtigsten technischen Unterschiede zwischen den Projekten finden Sie unter Die FFmpeg/Libav-Situation .

456
llogan