ubuntuusers.de

ubuntuusers.deWikiFFmpeg

FFmpeg

Achtung!

Diese Seite wird aktuell überarbeitet. Bitte hier keine Änderungen mehr vornehmen, sondern in Baustelle/FFmpeg!

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

./libav_logo.png Das FFmpeg-Projekt {en} besteht aus einer Reihe freier Programme, die es ermöglichen, digitales Video- und Audiomaterial aufzunehmen, zu konvertieren, zu streamen und abzuspielen. Unter anderem enthält es mit libavcodec eine hochentwickelte Audio- und Video-Codec-Sammlung, die eine Fülle von verschiedener Codecs zur Verfügung stellt. FFmpeg wird von zahlreichen Anwendungen {en} verwendet, eine Übersicht der unterstützten Formate und Codecs findet sich hier {en}.

Das Libav-Projekt {en} ist eine Abspaltung von FFmpeg und wurde im Januar 2011 ins Leben gerufen, da ein Teil der Entwickler mit der Projektleitung unzufrieden war. Der Funktionsumfang ist größtenteils identisch zu FFmpeg, es kann von den gleichen Anwendungen {en} verwendet werden, und unterstützt die gleichen Formate und Codecs {en}.

In den Paketquellen findet man bis Ubuntu 10.10 Maverick Meerkat die Version des FFmpeg-Projekts, ab Ubuntu 11.04 Natty Narwhal ist die Version des Libav-Projekts vorhanden.

Folgende Komponenten sind enthalten:

  • ffmpeg ist ein Kommandozeilenprogramm, um von einem Video-, Audio- oder Bild-Format zu einem anderen zu konvertieren. Es unterstützt auch das Aufnehmen und Enkodieren von einer TV-Karte in Echtzeit.

  • ffserver ist ein HTTP Multimedia Streaming Server für Live-Übertragungen über das Internet

  • ffplay ist ein sehr einfacher Medienplayer für die Kommandozeile

  • libavcodec enthält alle ffmpeg Audio- und Video-Encoder bzw. -Decoder. Die meisten Codecs wurden von Grund auf neu geschrieben, um die beste Ausführungsgeschwindigkeit sicherzustellen. Diese Bibliothek kann von anderen Programmen benutzt werden, um dann die Filme selber darzustellen.

  • libavformat enthält alle Container-Parser und -Ersteller für alle herkömmlichen Audio- und Video-Containerformate (z. B. AVI, MKV, OGG, Media etc.)

FFmpeg enthält einige Codecs, die patentrechtlich geschützt und zur Vermeidung von Lizenzgebühren oder einer unklaren Lizenzlage in den Paketen unterschiedlicher Ubuntu-Versionen nicht immer enthalten sind. Dies betrifft die Codecs MP3, AAC, AMR, MPEG-4 und H.264 (bzw. MPEG-4 AVC). Wer ohne diese Codecs auskommt, kann FFmpeg ganz normal aus den offiziellen Paketquellen installieren.

Für diejenigen, die auf diese Codecs nicht verzichten möchten, besteht die Möglichkeit, FFmpeg direkt aus dem Quellcode zu installieren, wobei der Quellcode entweder aus den Ubuntuquellen oder - falls eine topaktuelle Version benötigt wird - via Git bezogen werden kann. Ab Ubuntu 10.04 Lucid Lynx lassen sich diese Formate einfach über die Extra-Pakete installieren.

Installation

Neben der Installation aus den offiziellen Paketquellen kann man das Programm auch selbst übersetzen. Dies ist aber nur bei ganz bestimmten Anforderungen erforderlich und wird daher in einem eigenen Artikel FFmpeg/Kompilieren beschrieben.

Für die Anwendungen ffmpeg, ffserver und ffplay muss das folgende Paket installiert [1] werden:

  • ffmpeg (main)

Wiki/Vorlagen/Installbutton/button.png

Danach können die Anwendungen jeweils durch Aufruf des Programmnamens in einem Terminal[3] gestartet werden. Mit dem Parameter --help lassen sich die jeweiligen Kommandozeilenoptionen anzeigen, eine genaue Beschreibung findet man in der Dokumentation des FFmpeg-Projekts {en} oder in der Dokumentation des Libav-Projekts {en}. Nützlich ist in diesem Zusammenhang auch ein Kommandozeilengenerator {en} .

zusätzliche Codecs

Für die Codecs MP3, AAC, MPEG-4 und H.264 (bzw. MPEG-4 AVC) müssen zusätzlich die "Extra"-Pakete installiert [1] werden:

für Lucid bis Natty:

  • libavcodec-extra-52 (multiverse)

  • libavdevice-extra-52 (multiverse)

  • libavformat-extra-52 (multiverse)

  • libavutil-extra-49 (multiverse, für Lucid)

  • libavutil-extra-50 (multiverse, ab Maverick (Ubuntu 10.10))

  • libpostproc-extra-51 (multiverse)

  • libswscale-extra-0 (multiverse)

Wiki/Vorlagen/Installbutton/button.png

Paketliste zum Kopieren:

sudo apt-get install libavcodec-extra-52 libavdevice-extra-52 libavformat-extra-52 libavutil-extra-49 libavutil-extra-50 libpostproc-extra-51 libswscale-extra-0 

sudo aptitude install libavcodec-extra-52 libavdevice-extra-52 libavformat-extra-52 libavutil-extra-49 libavutil-extra-50 libpostproc-extra-51 libswscale-extra-0 

Ab Oneiric:

  • libavcodec-extra-53 (multiverse)

  • libavdevice-extra-53 (multiverse)

  • libavformat-extra-53 (multiverse)

  • libavutil-extra-51 (multiverse)

  • libpostproc-extra-52 (multiverse)

  • libswscale-extra-2 (multiverse)

Wiki/Vorlagen/Installbutton/button.png

Paketliste zum Kopieren:

sudo apt-get install libavcodec-extra-53 libavdevice-extra-53 libavformat-extra-53 libavutil-extra-51 libpostproc-extra-52 libswscale-extra-2 

sudo aptitude install libavcodec-extra-53 libavdevice-extra-53 libavformat-extra-53 libavutil-extra-51 libpostproc-extra-52 libswscale-extra-2 

Benutzung

Da es sich um ein sehr umfangreiches Programmpaket handelt, folgen hier nur einige Hinweise, die gerne auch ergänzt werden können. Details sind unter den Links zu finden.

Anzeigen der installierten Version

ffmpeg –version 

Bildqualität einstellen

Mit der Option –b kann eine höhere Video-Bitrate (= bessere Qualität) des Ausgabevideos eingestellt werden. -b 2000k setzt die Video-Bitrate auf 2000kbit/s (der default-Wert ist 200k), Mögliche Einstellung für gute Bild- und Tonqualität

ffmpeg -i input.mov -vcodec mjpeg -sameq -acodec libmp3lame -ab 128k -ar 44100 output.avi 

Animation aus Bilderserie

Eine Serie fortlaufend durchnummerierter Bilder –01, -02 ... kann in eine Animation umgewandelt werden..

ffmpeg -f image2 -i img%02d.jpg output.mpg 

%d ist ein Platzhalter für eine einstellige Zahl %02d für eine zweistellige Zahl, %03d für eine dreistellige, usw.

Video abspielen

ffplay output.mpg 

Format anzeigen

Informationen zum Format einer Videodatei kann man sich anzeigen lasen mit:

ffmpeg -i <Quelldatei> 

Beispiel

Ein mit H.264 kodiertes Video mit gleicher Qualität ausgeben:

ffmpeg -threads 0 -i <Quelldatei> -f matroska -vcodec libx264 -vpre normal -crf 20 -acodec libvorbis -ab 192k -ar 44100 -ac 2 <Ausgabedatei> 

Weitere Beispiele {fr}

Wichtige Optionen

Liste der wichtigsten Optionen
Option Bedeutung Beispielwert
-b Videobitrate (kbit/s) -b 8000k, Standard 200, niedrig!
-ab Audiobitrate (kbit/s) -ab 192k
-r Framerate Bilder/s -r 25 (PAL)
-ar Audio Samplerate (Hz) -ar 16500
-ac Audiokanäle -ac 2 (Stereo)
-av ohne Videospur -av
-sameq gleiche Qualität (wenn möglich) -sameq
-vcodec copy Videospur unverändert lassen -vcodec copy
-pass x (1 oder 2) Art des Kodierens (2=bessere Qualität) -pass 2
-vcodec Videocodec zum Kodieren -vcodec mjpeg
-s Videoauflösung -s 720x576

Graphische Oberflächen

Auch für ffmpeg gibt es einige Programme, die - meist mit Einschränkungen des Funktionsumfanges - eine graphische Benutzeroberfläche anbieten, damit man nicht in der Konsole tippen muss. Im Wiki sind vertreten:

Diese Revision wurde am 25. März 2012 17:38 von frustschieber erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Multimedia, Video, Server

Passwort vergessen?