Diese Seite wird aktuell überarbeitet. Bitte hier keine Änderungen mehr vornehmen, sondern in Baustelle/FFmpeg!
Das FFmpeg-Projekt
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
verwendet, eine Übersicht der unterstützten Formate und Codecs findet sich hier
.
Das Libav-Projekt
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
verwendet werden, und unterstützt die gleichen Formate und Codecs
.
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.
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)
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
oder in der Dokumentation des Libav-Projekts
. Nützlich ist in diesem Zusammenhang auch ein Kommandozeilengenerator
.
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:
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)
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)
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
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.
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
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.
Informationen zum Format einer Videodatei kann man sich anzeigen lasen mit:
ffmpeg -i <Quelldatei>
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>
| 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 |
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:
FFmpeg - Wikipedia
FFmpeg die Flötentöne beibringen
- Blogbeitrag 12/2006
Videohokuspokus mit FFmpeg
- praxisnahe Beispiele für Linux
FFmpeg
- im Ubuntu-Wiki
FFmpeg Little Helper
- Kommandozeilengenerator
sinthgunt
- grafische Oberfläche zu FFmpeg
traGtor - weitere grafische Oberfläche
FFmpeg/Kompilieren - Selbst Kompilieren
http://blog.websenat.de/projekt-tagebuch/ffmpeg-videos-einfach-umwandeln/ 
Diese Revision wurde am 25. März 2012 17:38 von frustschieber erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen:
Multimedia, Video, Server
2004 – 2012 ubuntuusers.de • Einige Rechte vorbehalten