FFmpeg
| FFmpeg | |
|---|---|
| Maintainer | FFmpeg-Projekt |
| Erscheinungsjahr | 2000 |
| Aktuelle Version | 1.2 „Magic“ (15. März 2013) |
| Aktuelle Vorabversion | Git |
| Betriebssystem | Plattformunabhängig |
| Programmiersprache | C[1] |
| Kategorie | Multimedia-Framework |
| Lizenz | LGPL 2.1+/ GPL 2+/ proprietär[2] |
| Deutschsprachig | Nein |
| ffmpeg.org | |
Das FFmpeg-Projekt besteht aus einer Reihe von freien Computerprogrammen und Programmbibliotheken, welche digitales Video- und Audiomaterial aufnehmen, konvertieren, senden (streamen) und in verschiedene Containerformate verpacken können. Unter anderem enthält es mit libavcodec eine Sammlung unterschiedlicher Audio- und Videocodecs.
Das FFmpeg Logo stellt ein Zick-Zack-Abtastmuster dar, welches bei MPEG-Codecs die Daten für die Entropiekodierung liefert. Das Logo wurde von libav übernommen, als das Projekt abgespalten wurde.
Inhaltsverzeichnis |
[Bearbeiten] Technische Details
FFmpeg wird unter Linux und anderen unixähnlichen Systemen (Unixoiden) entwickelt und wurde auch auf andere Betriebssysteme und Plattformen portiert. Bekannte Programme, die FFmpeg verwenden, sind unter Unixoiden und Windows die Programme MPlayer, VLC, xine und HandBrake, unter Windows Mobile und Palm OS der TCPMP.
Das Projekt besteht aus mehreren Komponenten:
- ffmpeg ist ein Kommandozeilenprogramm, um von einem Video-, Audio- oder Bildformat zu einem anderen zu konvertieren. Es unterstützt auch das Aufnehmen und Kodieren von einer TV-Karte in Echtzeit.
- ffserver ist ein HTTP-Multimedia- bzw. RTP- und RTSP-Streaming-Server für Audio- und Video-Übertragungen (auch live) über das Internet.
- libavcodec enthält alle ffmpeg-Audio- und -Video-Encoder und -Decoder. Alle nativen Codecs wurden von Grund auf neu geschrieben, dazu zählt auch ein H.264 Decoder. Diese Bibliothek kann von anderen Programmen benutzt werden, um dann die Filme selber darzustellen.
- libavformat enthält die Container-Parser und -Ersteller für alle herkömmlichen Audio- und Video-Containerformate (beispielsweise AVI, MOV, MKV, Ogg/Ogg Media etc.).
Da FFmpeg auch Implementationen von Codecs enthält, auf die – besonders in den USA – Patentansprüche bestehen, kann die Benutzung dieser Formate in Ländern, die solche Ansprüche anerkennen, unter Umständen die Zahlung von Gebühren an Lizenzorganisationen (wie der MPEG LA) erfordern.[2]
Des Weiteren entstammen dem FFmpeg-Projekt zwei neue Video-Codecs: Ein nur verlustfrei arbeitender Codec namens FFV1 und ein fast fertiggestellter Codec namens Snow, welcher auf Wavelet-Transformationen und einer intelligenten Variante der Bereichskodierung beruht.
Im März 2011 wurde bekanntgegeben, dass die Bibliotheken des Projektes um zusätzliche Multithreading-Funktionen erweitert wurden, deren Entwicklung bereits im Jahr 2008 im Rahmen des Google Summer of Code begann.[3]
[Bearbeiten] Libav
Am 18. Januar 2011 wurde von mehreren FFmpeg-Entwicklern angekündigt, das FFmpeg-Projekt übernehmen zu wollen.[4] Begründet wurde dieser Schritt durch eine Unzufriedenheit mit dem bisherigen Chefentwickler Michael Niedermayer.[5] Die Organisation der weiteren FFmpeg-Entwicklung sollte sich in Zukunft stärker an der des Linux-Kernel orientieren.
Nachdem die Übernahme des Projekts gescheitert war, spalteten sich die Entwickler am 13. März 2011 unter dem Namen Libav vom FFmpeg-Projekt ab.[6] Die beiden Linux-Distributionen Debian und Ubuntu liefern seither standardmäßig Libav aus. Gleichzeitig wurde die Ausgabe des Programms ffmpeg unter Debian und Ubunutu mit dem Hinweis ergänzt, dass FFmpeg nicht mehr weiterentwickelt wird. Nachdem Anwender sich beschwert hatten, dass das nicht der Wahrheit entspricht, weil FFmpeg nach wie vor weiterentwickelt wird, wurde die Ausgabe verändert, es wird nun behauptet, ffmpeg sei überholt (deprecated).[7]
[Bearbeiten] Rechtliche Betrachtung der Codecsammlung
FFmpeg (bzw. libavcodec als Bestandteil von FFmpeg) enthält Implementierungen von mehr als 100 Codecs, von denen ein Teil von Patentinhabern angefochten werden könnte.
“In manchen Gesetzgebungen könnten, aufgrund von vagen Hinweisen, eventuell Patentansprüche gegen verschiedene Standards, die FFmpeg unterstützt, geltend gemacht werden.”
– FFmpeg Website: [8]
Weiterhin sind viele dieser Codecs unter Nutzungsbedingungen veröffentlicht worden, die Reverse Engineering untersagen; selbst zur Sicherstellung der Interoperabilität. Diese Bedingungen sind in manchen Ländern ungültig, denn es wird beispielsweise im deutschen Urheberrechtsgesetz (UrhG) im § 69e unter gewissen Umständen eine Dekompilierung erlaubt. [9]
[Bearbeiten] Weblinks
- FFmpeg (englisch) – offizielle Webseite
- Libav (englisch) – offizielle Webseite
- FFmpeg DirectShow filter – ffdshow
- Grafische Benutzeroberfläche zu FFmpeg für Unix
- Grafische Benutzeroberfläche zu FFmpeg für MacOS
- Grafische Benutzeroberfläche zu FFmpeg für Windows und Linux
- Quick Time Komponente für Mac OS auf Basis von FFmpeg
- FOBS – Java und C++ Wrapper zum Einbinden von ffmpeg in eigene Programme
- ffmpeg für Windows Mobile
[Bearbeiten] Einzelnachweise
- ↑ Ohloh Analysis Summary - FFmpeg. Ohloh. Abgerufen am 30. August 2010.
- ↑ a b FFmpeg License and Legal Considerations. ffmpeg.org. Abgerufen am 30. August 2010.
- ↑ Videokodierung: FFmpeg unterstützt Multithreading – Artikel bei Golem.de, vom 24. März 2011
- ↑ http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/123868
- ↑ http://ikaruga.co.uk/~snacky/mn.html
- ↑ Libav: News (englisch) – Meldung auf der Startseite von Libav, vom 13. März 2011
- ↑ https://bugs.launchpad.net/ubuntu/+source/libav/+bug/939863
- ↑ https://ffmpeg.org/legal.html
- ↑ http://www.gesetze-im-internet.de/urhg/__69e.html Siehe auch: en:Computer Programs Directive