Was ist ffmpeg, avcodec, x264?
Vom wiki, ich habe gelesen, dass
FFmpeg ist ein freies software-Projekt, das produziert, Bibliotheken und Programme
für das handling von multimedia-Daten. Die wichtigsten Teile von FFmpeg sind
libavcodec, eine audio - /video-codec-Bibliothek, verwendet von mehreren anderen
Projekte, libavformat, ein audio/video-container mux und demux Bibliothek,
und die ffmpeg-Kommandozeilen-Programm zum transkodieren von multimedia-Dateien.
Also ffmpeg ist ein wrapper der avcodec? Und ich höre oft, dass Menschen video Kodieren mit x264 mit ffmpeg. Also ffmpeg ist auch eine Hülle für x264?
Wie sind Sie verwandt ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zunächst, zu klären, einige Begriffe:
ffmpeg
ist eines der Werkzeuge, die Sie bieten (andereffplay
undqt-faststart
zum Beispiel).avconv
binäre. Sie entwickeln selbstständig, aber FFmpeg in der Regel führt commits aus dem Libav—nicht die andere Weise 'Runde. (Manche mögen sagen, dass Libav leidet NIH). Einige Distributionen entschieden Schiff Libav statt FFmpeg-Programme, insbesondere Ubuntu, das verursacht etwas Verwirrung in der übergangszeit, wo die Libav-Befehl wurde noch benanntffmpeg
. Jetzt Ubuntu verwendet die "echten"ffmpeg
wieder.Den
ffmpeg
tool ist, wie du schon sagtest, ein Kommandozeilen-wrapper für eine Reihe von Bibliotheken für die Handhabung von multimedia-Inhalten. Dazu gehören:Während die FFmpeg-Entwickler oft Ihre eigenen Encoder und Decoder, können Sie Bibliotheken von Drittanbietern, die Wrapper in libavcodec, um zu "kleben" zusammen FFmpeg und, sagen wir, x264, das ist die beliebte H. 264-encoder. Dies wird oft gemacht, wenn es einfach keinen Sinn, "das Rad neu erfinden", was der Fall wäre, wenn man mich dazu entschlossen eine neue H. 264-encoder mit dem Ziel, besser zu sein als x264. In anderen Fällen, in manchen Bibliotheken kann nicht versendet werden mit einem
ffmpeg
bauen, aus lizenzrechtlichen Gründen, wie libfaac—in diesem Fallffmpeg
bietet eine native AAC encoder.Gemeinsamen externen Encodern sind:
Für all diejenigen, die finden Sie den Wrapper unter libavcodec, z.B. für libx264, die Datei
libx264.c
bietet den erforderlichen code, um die push-video aus dem FFmpeg-internen format in das x264-encoder, und dann pass auf libavformat schreiben es in eine Datei. Die eigentliche Codierung erfolgt durch libx264.Wie bereits erwähnt, andere Encoder wie die eine für MPEG-4 sind native zu FFmpeg und verlassen Sie sich nicht auf externe Bibliotheken überhaupt.
Schließlich es gibt mehrere Programme mit FFmpeg tools und Bibliotheken, sei es durch die Bereitstellung eines
ffmpeg
ausführbar ist, oder durch die Auswahl von teilen der libavcodec und libavformat-Bibliotheken. Dies ist erlaubt pro Lizenz und macht FFmpeg die beliebtesten Sammlung von multimedia-tools heute.