|
|
(156 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| {{DISPLAYTITLE:ffmpeg}} | | {{DISPLAYTITLE:ffmpeg}} |
| '''ffmpeg ''' bearbeitet und konvertiert Audio- und Videodateien | | '''ffmpeg ''' - Bearbeiten und konvertiert von Audio- und Videodateien |
| | |
| == Beschreibung == | | == Beschreibung == |
| | {| class="wikitable" style="float:right; margin-left: 10px;" |
| | |- |
| | | colspan="2" align=center| '''Multimedia-Framework''' |
| | |- |
| | | Maintainer ||FFmpeg-Projekt |
| | |- |
| | | Betriebssystem || [[Plattformunabhängigkeit|Übergreifend]] |
| | |- |
| | | Programmiersprache || [[C (Programmiersprache)|C]] |
| | |- |
| | | Lizenz || [[GNU Lesser General Public License|LGPL]]/[[GNU General Public License|GPL]] |
| | |- |
| | | Logo || [[Datei:FFmpeg Logo new.svg | 75px]] |
| | |} |
| | |
| | Das '''FFmpeg'''-Projekt besteht aus einer Reihe von [[Freie Software|freien Computerprogrammen]] und [[Programmbibliothek]]en, die digitales Video- und Audiomaterial aufnehmen, [[Konvertierung (Informatik)|konvertieren]], senden ([[Datenstrom|streamen]]), filtern und in verschiedene [[Containerformat]]e verpacken können. |
| | * Unter anderem enthält es mit [[libavcodec]] eine umfangreiche Sammlung von [[Audioformat|Audio]]- und [[Videocodec]]s. |
| | |
| | === Rechtliche Betrachtung === |
| | * FFmpeg (bzw. libavcodec als Bestandteil von FFmpeg) enthält Implementierungen von mehr als 100 Codecs, von denen ein Teil von [[Softwarepatent|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. |
| | * Weiterhin sind viele dieser Codecs unter Nutzungsbedingungen veröffentlicht worden, die [[Reverse Engineering]] untersagen; selbst zur Sicherstellung der [[Interoperabilität]]. |
| | * Solche Bedingungen sind in manchen Ländern allerdings unwirksam, so etwa in Deutschland |
| | |
| == Installation == | | == Installation == |
| # '''apt install ffmpeg''' | | # '''apt install ffmpeg''' |
| | |
| | == Aufruf == |
| | === Optionen === |
| | === Parameter === |
| | === Umgebung === |
| | === Rückgabewert === |
| | |
| == Anwendung == | | == Anwendung == |
| === Audio === | | === Audio === |
| {| class="wikitable sortable" | | {| class="wikitable options sortable big" |
| ! Quelle !! Ziel !! Befehl | | ! Quelle !! Ziel !! Befehl |
| |- | | |- |
| | wav || mp3 || ffmpeg -i audio.wav -acodec libmp3lame audio.mp3 | | | WAV || mp3 || ffmpeg -i audio.wav -acodec libmp3lame audio.mp3 |
| |- | | |- |
| | wav || ogg || ffmpeg -i audio.wav -acodec libvorbis audio.ogg | | | WAV || ogg || ffmpeg -i audio.wav -acodec libvorbis audio.ogg |
| |- | | |- |
| | wav || aac || ffmpeg -i audio.wav -acodec libfaac audio.aac | | | WAV || aac || ffmpeg -i audio.wav -acodec libfaac audio.aac |
| |- | | |- |
| | wav || ac3 || ffmpeg -i audio.wav -acodec ac3 audio.mp3 | | | WAV || ac3 || ffmpeg -i audio.wav -acodec ac3 audio.mp3 |
| |- | | |- |
| | OGG || mp3 || ffmpeg -i audio.ogg -acodec libmp3lame audio.mp3 | | | OGG || mp3 || ffmpeg -i audio.ogg -acodec libmp3lame audio.mp3 |
Zeile 43: |
Zeile 75: |
|
| |
|
| === Video === | | === Video === |
| {| class="wikitable sortable" | | {| class="wikitable options big" |
| ! Quelle !! Ziel !! Befehl | | ! Aufgabe !! Befehl |
| | |- |
| | | 90 Grad nach rechts || ffmp4 -i input.mp4 -vf "transpose=1" -qscale 0 output.mp4 |
| | |- |
| | | 90 Grad nach links || ffmp4 -i input.mp4 -vf "transpose=2" -qscale 0 output.mp4 |
| | |- |
| | | 180 Grad || ffmp4 -i input.mp4 -vf "hflip,vflip" -qscale 0 output.mp4 |
| |- | | |- |
| | mp4 || 90 Grad nach rechts || ffmp4 -i input.mp4 -vf "transpose=1" -qscale 0 output.mp4 | | | [[Ffmpeg/Video-Größe|Video-Größe]] reduzieren || ffmp4 -i input.mp4 [FIXME] |
| |- | | |- |
| | mp4 || 90 Grad nach links || ffmp4 -i input.mp4 -vf "transpose=2" -qscale 0 output.mp4 | | | [[Ffmpeg/Tonspuren|Tonspuren]] entfernen || ffmpeg -i input.mp4 -an -c:v copy output.mp4 |
| |- | | |- |
| | mp4 || 180 Grad || ffmp4 -i input.mp4 -vf "hflip,vflip" -qscale 0 output.mp4
| |
| |} | | |} |
|
| |
|
| == Syntax ==
| | ; Video-Formate umwandeln |
| === Optionen === | | {| class="wikitable options big" |
| === Parameter ===
| | | MKV || mp4 || ffmpeg -i input.mkv output.mp4 |
| === Umgebungsvariablen ===
| | |} |
| === Exit-Status ===
| | |
| == Konfiguration == | | == Konfiguration == |
| === Dateien === | | === Dateien === |
| == Sicherheit ==
| | <noinclude> |
| == Dokumentation ==
| |
| === RFC ===
| |
| === Man-Pages ===
| |
| # ffmpeg(1)
| |
| === Info-Pages ===
| |
| == Siehe auch ==
| |
| == Links ==
| |
| === Projekt-Homepage ===
| |
| === Weblinks ===
| |
| === Einzelnachweise ===
| |
| <references /> | |
| == Testfragen ==
| |
| <div class="toccolours mw-collapsible mw-collapsed">
| |
| ''Testfrage 1''
| |
| <div class="mw-collapsible-content">'''Antwort1'''</div>
| |
| </div>
| |
| <div class="toccolours mw-collapsible mw-collapsed">
| |
| ''Testfrage 2''
| |
| <div class="mw-collapsible-content">'''Antwort2'''</div>
| |
| </div>
| |
| <div class="toccolours mw-collapsible mw-collapsed">
| |
| ''Testfrage 3''
| |
| <div class="mw-collapsible-content">'''Antwort3'''</div>
| |
| </div>
| |
| <div class="toccolours mw-collapsible mw-collapsed">
| |
| ''Testfrage 4''
| |
| <div class="mw-collapsible-content">'''Antwort4'''</div>
| |
| </div>
| |
| <div class="toccolours mw-collapsible mw-collapsed">
| |
| ''Testfrage 5''
| |
| <div class="mw-collapsible-content">'''Antwort5'''</div>
| |
| </div>
| |
|
| |
|
| [[Kategorie:Entwurf]]
| | <noinclude> |
| [[Kategorie:Linux:Befehl]]
| |
| [[Kategorie:Audio]]
| |
| [[Kategorie:Video]]
| |
|
| |
|
| {{DEFAULTSORT:ffmpeg}}
| | == Anhang == |
| | | === Siehe auch === |
| | | {{Special:PrefixIndex/{{BASEPAGENAME}}}} |
| | | ==== Dokumentation ==== |
| = Wikipedia = | | ===== Man-Page ===== |
| | Logo = [[Datei:FFmpeg Logo new.svg|frameless]]
| | # ffmpeg(1) |
| | Screenshot = [[Datei:FFMPEG Conversion MP4 to WebM (VP9) 2020.12.27 - 17.51.22.07.png|frameless]]
| |
| | Beschreibung = <!-- Beschreibung des Bildschirmfotos -->
| |
| | Maintainer = FFmpeg-Projekt
| |
| | Hersteller =
| |
| | Erscheinungsjahr = <!-- Wikidata -->
| |
| | AktuelleVersion = <!-- Wikidata -->
| |
| | AktuelleVersionFreigabeDatum = <!-- Wikidata -->
| |
| | AktuelleVorabVersion =
| |
| | AktuelleVorabVersionFreigabeDatum =
| |
| | Betriebssystem = [[Plattformunabhängigkeit|Plattformübergreifend]]
| |
| | Programmiersprache = [[C (Programmiersprache)|C]]<ref name="ohloh">{{cite web |url=https://www.openhub.net/p/ffmpeg |title=Black Duck OpenHUB Project Summary - FFmpeg |publisher=[[Open Hub]] |accessdate=2015-07-17 }}</ref>
| |
| | Kategorie = [[Multimedia-Framework]]
| |
| | Lizenz = [[GNU Lesser General Public License|LGPL]] 2.1+/ [[GNU General Public License|GPL]] 2+<ref name="legal">{{cite web |url=http://www.ffmpeg.org/legal.html |title=FFmpeg License and Legal Considerations |publisher=ffmpeg.org |accessdate=2014-08-06 }}</ref>
| |
| | Deutsch = Nein
| |
| | Website = [//ffmpeg.org/ ffmpeg.org]
| |
| | |
| Das '''FFmpeg'''-Projekt besteht aus einer Reihe von [[Freie Software|freien Computerprogrammen]] und [[Programmbibliothek]]en, die digitales Video- und Audiomaterial aufnehmen, [[Konvertierung (Informatik)|konvertieren]], senden ([[Datenstrom|streamen]]), filtern und in verschiedene [[Containerformat]]e verpacken können. Unter anderem enthält es mit [[libavcodec]] eine umfangreiche Sammlung von [[Audioformat|Audio]]- und [[Videocodec]]s.<ref>[https://ffmpeg.org/ffmpeg-filters.html FFmpeg Filters Documentation]</ref><ref>[https://ffmpeg.org/about.html About FFmpeg]</ref>
| |
| | |
| == Technische Details == | |
| [[Datei:FFmpeg.svg|mini|Abhängigkeiten]]
| |
| FFmpeg wird unter [[Linux]] und anderen [[Unixoides System|unixähnlichen Systemen]] (Unixoiden) entwickelt und wurde auch auf andere Betriebssysteme und Plattformen portiert. Bekannte Programme, die FFmpeg verwenden, sind unter Unixoiden und [[Microsoft Windows|Windows]] die Programme [[MPlayer]], [[VLC media player|VLC]], [[xine]] und [[HandBrake]], unter [[Windows Mobile]] und Palm OS der TCPMP.
| |
| | |
| Das Projekt besteht aus mehreren Komponenten:
| |
| | |
| Kommandozeilenprogramme:
| |
| * ffmpeg ist ein [[Kommandozeile|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]].
| |
| * ffplay ist ein einfacher Mediaplayer, welcher die [[Simple DirectMedia Layer|SDL]] und die Ffmpeg-Bibliotheken benutzt.
| |
| * ffprobe ist ein Programm, welches Informationen aus Multimedia-Streams anzeigt. Beispielsweise kann es Audio- und Video-Containerformate und darin enthaltene Streams anzeigen.
| |
| Bibliotheken:
| |
| * [[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 abzuspielen.
| |
| * libavformat (Lavf) enthält die Container-Parser und -Ersteller für alle herkömmlichen Audio- und Video-Containerformate (beispielsweise [[Audio Video Interleave|AVI]], [[QuickTime|MOV]], [[Matroska|MKV]], [[Ogg]]/[[Ogg Media]] etc.).
| |
| * libavutil enthält Hilfsfunktionen zur Unterstützung bei der Multimedia-Programierung. Diese sind bspw. Zufallszahlengeneratoren, Datenstrukturen oder mathematische Funktionen.
| |
| * libswscale ist eine Bibliothek zur Bildskalierung, sowie Farbraum- und Pixelformat-Konvertierungsoperationen.
| |
| * libswresample führt Audio-Abtastratenkonvertierung-, Rematrixing- und Sample-Format-Konvertierungsvorgänge durch.
| |
| * libavdevice bietet ein Framework zum Grabben und Rendern von gängigen Multimedia-Eingabe-/Ausgabegeräten. Es unterstützt bspw. [[Video4Linux|Video4Linux2]], VfW, DShow und [[Advanced Linux Sound Architecture|ALSA]].
| |
| * libavfilter bietet Mittel zum Verändern von decodiertem Audio und Video. Hierzu können Filter durch gerichtete Graphen verbunden werden.
| |
| Da FFmpeg auch Implementationen von [[Codec]]s enthält, auf die – besonders in den [[Vereinigte Staaten|USA]] – [[Patent]]ansprü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 Licensing Administration|MPEG LA]]) erfordern.<ref name="legal" />
| |
| | |
| Des Weiteren entstammen dem FFmpeg-Projekt zwei neue Video-Codecs: Ein nur verlustfrei arbeitender Codec namens ''[[FFV1]]'' und ein fast fertiggestellter Codec namens [[Snow (Videoformat)|Snow]], der auf [[Wavelet]]-Transformationen und einer intelligenten Variante der [[Bereichskodierung]] beruht.
| |
| | |
| In Version 4.4 liegt der Schwerpunkt in der Erweiterung der Unterstützung von [[AOMedia Video 1]] (AV1),<ref>https://www.phoronix.com/scan.php?page=news_item&px=FFmpeg-4.4-Released</ref> einem lizenzkostenfreien Videokompressionsverfahren.
| |
| | |
| == {{anker|Fork}} Libav == | |
| [[Datei:FFmpeg-Libav.png|mini|Warnung, dass FFmpeg bald nicht mehr unterstützt wird. (Ubuntu 12.04)]]
| |
| Am 18. Januar 2011 wurde von mehreren FFmpeg-Entwicklern angekündigt, das FFmpeg-Projekt zu übernehmen.<ref>http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/123868</ref> Begründet wurde dieser Schritt durch eine Unzufriedenheit mit dem bisherigen Chefentwickler [[Michael Niedermayer]].<ref>http://ikaruga.co.uk/~snacky/mn.html</ref> Die Organisation der weiteren FFmpeg-Entwicklung sollte sich in Zukunft stärker an der des [[Linux (Kernel)|Linux-Kernel]] orientieren.
| |
| | |
| Nachdem die Übernahme des Projekts gescheitert war, [[Abspaltung (Softwareentwicklung)|spalteten]] sich die Entwickler am 13. März 2011 unter dem Namen ''Libav'' vom FFmpeg-Projekt ab.<ref>[http://www.libav.org/news.html#move_to_libav_org Libav: News] (englisch) – Meldung auf der Startseite von ''Libav'', vom 13. März 2011</ref> Die beiden [[Linux-Distribution]]en [[Debian]] und [[Ubuntu]] lieferten von da an standardmäßig ''Libav'' aus. Gleichzeitig wurde die Ausgabe des Programms ''ffmpeg'' unter Debian und Ubuntu 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 nun behauptet, ''ffmpeg'' sei überholt (''deprecated'') und es solle stattdessen ''avconv'' verwendet werden.<ref>https://bugs.launchpad.net/ubuntu/+source/libav/+bug/939863</ref> Debian nahm daraufhin das FFmpeg-Paket wieder in seinen Quellen auf und bietet somit beide Bibliotheken an.<ref>http://www.linux-magazin.de/NEWS/FFmpeg-ist-zurueck-in-Debian</ref>
| |
| | |
| Im Juli 2015 gab das Debian-Projekt bekannt, wieder zur ursprünglichen FFmpeg-Version zurück zu wechseln.<ref>https://lists.debian.org/debian-devel-announce/2015/07/msg00001.html</ref> Als Gründe wurden vor allem die höhere Sicherheit, ein deutlich kürzerer Wartungszyklus sowie die deutlich höhere Anzahl an Code-Beiträgen (englisch „code contributions“) und Verantwortlichen (englisch „maintainer“) angegeben.<ref>https://wiki.debian.org/Debate/libav-provider/ffmpeg</ref> Ubuntu folgte entsprechend, nahm mit Version 15.04 „Vivid“ ''ffmpeg'' wieder in die Quellen auf und entfernte mit Version 15.10 „Wily“ die Pakete des ''Libav''-Projekts aus den Quellen.
| |
| | |
| Kurz nach der Ankündigung des Debian-Projektes, wieder zu FFmpeg zu wechseln, trat Michael Niedermayer als Leiter von FFmpeg zurück und begründete dies unter anderem mit der Hoffnung, damit ein erneutes Zusammenwachsen der beiden Projekte zu ermöglichen.<ref>Michael Niedermayer: [http://ffmpeg.org/pipermail/ffmpeg-devel/2015-July/176489.html FFmpegs future and resigning as leader] (Fr. 31 Jul 15:53:04 CEST 2015)</ref> 2018 wurde die letzte Version von Libav veröffentlicht und in der Folge die Entwicklung eingestellt.<ref>Kieran Kunhya: [https://lists.libav.org/pipermail/libav-devel/2020-April/086589.html What is the status of this project?] (Do. Apr 16 12:04:00 CEST 2020)</ref>
| |
| | |
| == Rechtliche Betrachtung der Codecsammlung ==
| |
| FFmpeg (bzw. libavcodec als Bestandteil von FFmpeg) enthält Implementierungen von mehr als 100 Codecs, von denen ein Teil von [[Softwarepatent|Patentinhabern]] angefochten werden könnte.
| |
| | |
| {{Zitat|In manchen Gesetzgebungen könnten, aufgrund von vagen Hinweisen, eventuell Patentansprüche gegen verschiedene Standards, die FFmpeg unterstützt, geltend gemacht werden.|FFmpeg Website|ref=<ref>https://ffmpeg.org/legal.html</ref>}}
| |
| | |
| Weiterhin sind viele dieser Codecs unter Nutzungsbedingungen veröffentlicht worden, die [[Reverse Engineering]] untersagen; selbst zur Sicherstellung der [[Interoperabilität]]. Solche Bedingungen sind in manchen Ländern allerdings unwirksam, so etwa in Deutschland ({{§|69g|urhg|juris|text=§§ 69g Abs. 2}}, {{§|69e|urhg|juris|text=69e}} UrhG).
| |
|
| |
|
| == Logo und Name == | | ===== Info-Pages ===== |
| Das Logo von FFmpeg stellt ein [[Zickzack-Muster|Zickzack-Abtastmuster]] dar, das bei [[MPEG]]-Codecs die Daten für die [[Entropiekodierung]] liefert. Das Logo wurde von ''Libav'' übernommen, als das Projekt [[#Fork|abgespalten]] wurde. Das ''FF'' in FFmpeg bedeutet ''fast forward'', schneller Vorlauf bei [[Tonbandgerät]]en.
| | ==== Links ==== |
| | ===== Projekt ===== |
| | # [http://ffmpeg.org/ FFmpeg] – offizielle Website |
| | # [http://www.libav.org/ Libav] – offizielle Website |
|
| |
|
| == Ähnliche Software == | | ===== Weblinks ===== |
| * [[GStreamer]]<ref>[https://www.quora.com/Multimedia-Which-is-better-FFmpeg-or-GStreamer-Why Which is better: FFmpeg or GStreamer? Why?]</ref>
| | # https://de.wikipedia.org/wiki/FFmpeg |
| | # [http://ffdshow-tryout.sourceforge.net/ FFmpeg DirectShow filter – ffdshow] |
| | # [https://www.quora.com/Multimedia-Which-is-better-FFmpeg-or-GStreamer-Why Which is better: FFmpeg or GStreamer? Why?] |
|
| |
|
| == Weblinks ==
| | ; GUI |
| * [http://ffmpeg.org/ FFmpeg] (englisch) – offizielle Website
| | # [http://www.atlas-informatik.ch/multimediaXpert/ Multimedia Xpert] |
| * [http://www.libav.org/ Libav] (englisch) – offizielle Website
| | # [http://perian.org/ Quick Time Komponente für Mac OS auf Basis von FFmpeg] |
| * [http://ffdshow-tryout.sourceforge.net/ FFmpeg DirectShow filter – ffdshow]
| | # [http://fobs.sourceforge.net/ FOBS – Java und C++ Wrapper zum Einbinden von ffmpeg in eigene Programme] |
| * [http://vive.sourceforge.net/ Grafische Benutzeroberfläche zu FFmpeg für Unix]
| | # [http://vive.sourceforge.net/ Grafische Benutzeroberfläche zu FFmpeg für Unix] |
| * [http://ffmpegx.com/ Grafische Benutzeroberfläche zu FFmpeg für MacOS]
| | # [http://ffmpegx.com/ Grafische Benutzeroberfläche zu FFmpeg für MacOS] |
| * Grafische Benutzeroberflächen zu FFmpeg:
| |
| ** [http://www.atlas-informatik.ch/multimediaXpert/ Multimedia Xpert]
| |
| * [http://perian.org/ Quick Time Komponente für Mac OS auf Basis von FFmpeg]
| |
| * [http://fobs.sourceforge.net/ FOBS – Java und C++ Wrapper zum Einbinden von ffmpeg in eigene Programme]
| |
|
| |
|
| == Einzelnachweise ==
| | [[Kategorie:FFMPEG]] |
| <references />
| |
|
| |
|
| {{SORTIERUNG:Ffmpeg}}
| | </noinclude> |
| [[Kategorie:C-Bibliothek]]
| |
| [[Kategorie:Audiokompression]]
| |
| [[Kategorie:Videokompression]]
| |
| [[Kategorie:Freie Multimediasoftware]]
| |
| [[Kategorie:Abkürzung]]
| |