pippovic
Anmeldungsdatum: 12. November 2004
Beiträge: 9130
|
Hallo liebe Wiki-Leser! Das Thema Codecs ist ja kein leichtes. Viele (Neulinge) kennen oftmals den Unterschied zwischen einem Programm und einem Codec nicht. Außerdem gibt es für Ubuntu zwei verschiedene Sound-Engines, für die unterschiedliche Codecs verwendet werden. Was eine Sound-Engine eigentlich genau ist, habe ich bis heute noch nicht so richtig kapiert. Vielleicht kann da mal jemand Aufklärungsarbeit leisten. Ich verstehe das Prinzip der Unterscheidung zwischen GStreamer und Xine und weiß auch, welche Codecs ich für was zu installieren habe, aber wie genau die Arbeit dabei verrichtet wird, ist mir noch ein wenig rätselhaft. Erschwerend kommt hinzu, dass KDE auf Xine setzt, Gnome dagegen auf GStreamer. Eine weitere ungünstige Nebenerscheinung ist, dass die oftmals benötigten w32codecs (besonders für wmv) nur mit Xine richtig zu funktionieren scheinen. Es gibt zwar auch die Möglichkeit mit pitfdll, dies scheint aber noch nicht ausgereift zu sein. Weitere Probleme ergeben sich bei der Bezeichnung der Codecs bzw. Programme. So gibt es ein Paket FFmpeg, welches sowohl ein eigenständiges einzelnes Programm bezeichnet, als auch ein ganzes Paket von Programmen. U.a. enthält das Ubuntu-Paket ffmpeg bereits die Bibliothek Libavcodec, welche die eigentlichen Codecs enthält. Bei anderen Distributionen lässt sich diese Bibliothek separat installieren. Bei Ubuntu gibt es davon nur das Entwicklerpaket als separates Paket. Das ist nicht weiter schlimm, führt aber zu Verwirrung in der Bezeichnung. Warum nun diese lange Ausführung? Nun, weil ich gerne Vorschläge sammeln möchte, wie man die Wiki-Seite Codecs evtl. einfacher und verständlicher machen kann. Natürlich ist dies auf Grund der genannten Probleme schwierig, aber versuchen kann man es ja. Also meldet euch und sagt wo der Schuh drückt. Gruß pippovic P.S. Dies soll keine Diskussion über die Aufteilung und standardmäßige Integration von Codecs in Ubuntu werden! Die Problematik der Lizenzen ist eine komplizierte und sollte hier außen vor gelassen werden.
|
pesobs
Anmeldungsdatum: 3. März 2006
Beiträge: 695
|
U.a. enthält das Ubuntu-Paket ffmpeg bereits die Bibliothek Libavcodec, welche die eigentlichen Codecs enthält
Das ist, wie ich festgestellt habe, nicht richtig. Mit dem Paket ffmpeg werden nur die Anwendungen ffmpeg, ffserver und ffplay installiert, die Bibliothken stecken in den Paketen libavformat-dev und libavcodec-dev, zumindest unter Dapper. Ich habe seit gestern nochmal einiges am Beitrag FFmpeg geändert und ergänzt, so dass diese Unterscheidung etwas deutlicher herauskommt. Außerdem ist der Abschitt FFmpeg#dpkg dazugekommen. Hinzu kommt dann ja auch noch, dass die interessanten Codecs MP3, AAC, MPEG4, H264 in den Paketen aus Lizenzgründen gar nicht enthalten sind. Ich meine aber, dass ich das alles in dem Beitrag nun einigermassen verständlich und nachvollziehbar beschrieben habe und auch, wie man die Codecs selber hinzufügen kann. Was mir allerdings noch unklar ist, ob in den Bibliothken libavcodec und libavformat die genannten Codecs bereits enthalten sind, oder ob dafür ebenfalls eine Neu-Compilierung wie bei ffmpeg notwendig ist?
|
creatix
Anmeldungsdatum: 12. Dezember 2004
Beiträge: 244
|
bitte um kleine änderungen im codecs wiki: der namen des pakets "ffmpeg" wird direkt verlinkt. dadurch ist es nicht ersichtlich, dass das ein paket ist, welches man ebenso installieren sollte. bitte einen link zum wiki beitrag für "ffmpeg" hinter dem paketnamen schreiben, aber das fett geschrieben "ffmpeg" nicht verlinken! also statt: - ffmpeg ohne verlinkunk schreiben: - ffmpeg [[b]ffmpeg[/b]] hoffe, mit dem beispiel ist es ersichtlicher.
|
pesobs
Anmeldungsdatum: 3. März 2006
Beiträge: 695
|
Ja, das ist mir auch aufgefallen. Mein Vorschlag war ja, hinter der Kurzbeschreibung zu dem Paket einen Link (mehr...) zu setzen. Die Seite Codecs sollte wirklich in Kurzform alles enthalten, was für Audio/Videowiedergabe an Paketen benötigt wird. Nachtrag: Warum soll eigentlich ffmpeg installiert werden? ffmpeg beinhaltet doch nur die Anwendungen. Sollten nicht vielmehr libavformat-dev (+ libavcodec-dev) mit den Bibliothken stattdessen installiert werden?
|
pippovic
(Themenstarter)
Anmeldungsdatum: 12. November 2004
Beiträge: 9130
|
pesobs hat geschrieben: Warum soll eigentlich ffmpeg installiert werden? ffmpeg beinhaltet doch nur die Anwendungen. Sollten nicht vielmehr libavformat-dev (+ libavcodec-dev) mit den Bibliothken stattdessen installiert werden?
Hier scheint ja einige Verwirrung zu herrschen. Pakete mit der Endung -dev sind Entwicklerpakete, also keine Pakete, die von anderen Programmen wie etwa Videoplayern direkt verwendet werden können oder sollen. Sie werden lediglich beim Kompilieren eines Programms verwendet. Im Ubuntu-Paket von FFmpeg ist die Bibliothek libavcodec defintiv eingebaut. Ob sie vollständig eingebaut ist, ist eine andere Frage. Sehr wahrscheinlich ist dies nicht der Fall. Jedoch sind gewisse Codecs bereits in FFmpeg enthalten und daher soll das Paket auch installiert werden. creatix hat geschrieben: dadurch ist es nicht ersichtlich, dass das ein paket ist, welches man ebenso installieren sollte.
Es tut mir leid, aber ich verstehe diesen Satz immer noch nicht. Alle im Wiki angegebenen Pakete müssen installiert werden. Du meinst wahrscheinlich, dass FFmpeg ein eingenständiges Programm ist und nciht nur ein Codec bzw. eine Bibliothek, wie die anderen dort aufgeführten Pakete? Aber warum soll das verwirrend sein, wenn das Paket direkt auf dem Artikel FFmpeg verlinkt ist? Bzw. warum soll es klarer sein, wenn ich genau den selben Link noch mal dahinter in Klammern schreibe? Das leuchtet mir nicht ein. Wer sich fü das Paket interessiert, der wird den entsprechenden Link anklicken und findet dort die Infos, die er braucht. Für alle anderen ist der Link nicht wichtig. Gruß pippovic
|
Dee
Anmeldungsdatum: 9. Februar 2006
Beiträge: 20095
Wohnort: Schwabenländle
|
Im Ubuntu-Paket von FFmpeg ist die Bibliothek libavcodec defintiv eingebaut.
Laut Paketsuche nicht: http://packages.ubuntu.com/cgi-bin/search_contents.pl?searchmode=filelist&word=ffmpeg&version=edgy&arch=i386 Da es aber auch kein libavformat-Paket gibt, muss libavformat-dev genommen werden: http://packages.ubuntu.com/cgi-bin/search_contents.pl?searchmode=filelist&word=libavformat-dev&version=edgy&arch=i386 Dort ist sowohl die .a als auch die .so (also static und shared Library) drin. Gruß, Dee
|
pippovic
(Themenstarter)
Anmeldungsdatum: 12. November 2004
Beiträge: 9130
|
Seltsam! Ich war immer der Meinung, dass das Ubuntu-Paket von ffmpeg bereits Codecs enthalten würde. Also muss man selber bauen 🙄 Aber mal ne andere Frage. Die -dev-Pakete sind doch nur fürs kompilieren gedacht, d.h. wenn ich das Paket einfach so installiere, dann hat das doch keine Auswirkung auf die installierten Codecs. Sprich die .so-Datei ist zwar vorhanden, kann aber nicht genutzt werden. Ist das so weit richtig? Gruß pippovic
|
Dee
Anmeldungsdatum: 9. Februar 2006
Beiträge: 20095
Wohnort: Schwabenländle
|
Das ist eben die Frage... Normalerweise sollten sie aber nutzbar sein. Sie liegen in /usr/lib und wenn der Compiler stimmt, dürfte das gehen. Gruß, Dee
|
pesobs
Anmeldungsdatum: 3. März 2006
Beiträge: 695
|
Seltsam! Ich war immer der Meinung, dass das Ubuntu-Paket von ffmpeg bereits Codecs enthalten würde. Also muss man selber bauen Mit den Augen rollen
Nein, man muss nicht selber bauen.. die Bibliothken sind in den Entwicklerpaketen enthalten. D.h. anstelle von ffmpeg ist libavformat-dev zu installieren, libavcodec-dev wird dann automatisch mitinstalliert. Dann gibt es aber auch noch einen Unterschied zwischen Dapper und Edgy: In Edgy sind in den Entwicklerpaketen sowohl die statischen, als auch die dynamischen Bibliothken enthalten, in Dapper sind dagegen nur die statischen Bibliothken drin. Vgl. http://packages.ubuntu.com und nach den Dateien libavformat.a, libavcodec.a und libavformat.so, libavcodec.so suchen Compilieren müsste man also nur dann, wenn man unter Dapper dynamische Bibliotheken verwenden möchte.
|
haraldkl
Anmeldungsdatum: 21. Juli 2005
Beiträge: 1903
Wohnort: Würselen
|
pesobs hat geschrieben: in Dapper sind dagegen nur die statischen Bibliothken drin. Vgl. http://packages.ubuntu.com
Und wozu brauchst du die dann? Statische Bibliotheken müssen doch zur Compile-Zeit zur entsprechenden Anwendung hinzugelinkt werden, oder nicht? Wenn die Anwendung aus dem Ubuntu-Paket selbst also nicht gegen die Bibliothek gelinkt wurde, müsstest du das Programm erneut kompilieren und entsprechend die Lib hinzulinken. Das alleinige Vorhandensein der .a wird nicht helfen. Entweder die Anwendung wurde schon gegen die statische Library gelinkt, dann genügt das Executable vollkommen, die .a ist unnötig, oder eben, nicht, dann muss aber neu kompiliert werden. Für die Shared-Libraries sieht es natürlich anders aus, also kann es durchaus sein, dass es hier deutliche Unterschiede zwischen edgy und dapper gibt... 😉
|
pesobs
Anmeldungsdatum: 3. März 2006
Beiträge: 695
|
Das alleinige Vorhandensein der .a wird nicht helfen. Entweder die Anwendung wurde schon gegen die statische Library gelinkt, dann genügt das Executable vollkommen, die .a ist unnötig, oder eben, nicht, dann muss aber neu kompiliert werden.
Das ist richtig. Und ebenso ist auch das Vorhandensein der Anwendungen im Paket ffmpeg nicht wirklich notwendig. Entweder braucht man die darin enthaltenen Anwendungen, oder eben nicht. Interessant sind dann im Grunde nur die dynamischen Bibliothken, welche unter Dapper nicht vorhanden, und unter Edgy in den Entwicklerpaketen zu finden sind.
|
haraldkl
Anmeldungsdatum: 21. Juli 2005
Beiträge: 1903
Wohnort: Würselen
|
pesobs hat geschrieben: Und ebenso ist auch das Vorhandensein der Anwendungen im Paket ffmpeg nicht wirklich notwendig.
Ich habe das so verstanden, dass man mit gstreamer0.10-ffmpeg auf ffmpeg und damit auf die darin enthaltenen Codecs zugreifen kann. Dazu muss dann natürlich ffmpeg installiert sein. 😉
|
pesobs
Anmeldungsdatum: 3. März 2006
Beiträge: 695
|
Ich habe das so verstanden, dass man mit gstreamer0.10-ffmpeg auf ffmpeg und damit auf die darin enthaltenen Codecs zugreifen kann. Dazu muss dann natürlich ffmpeg installiert sein.
Muesste ffmpeg dann nicht über die Abhängigkeiten automatisch mitinstalliert werden!? Aber vielleicht hast Du Recht... Nochmal nachgeschaut, in gstreamer0.10-ffmpeg sind folgende Dateien enthalten:
usr/lib/gstreamer-0.10/libgstffmpeg.so libs/gstreamer0.10-ffmpeg [universe]
usr/share/doc/gstreamer0.10-ffmpeg/AUTHORS libs/gstreamer0.10-ffmpeg [universe]
usr/share/doc/gstreamer0.10-ffmpeg/NEWS.gz libs/gstreamer0.10-ffmpeg [universe]
usr/share/doc/gstreamer0.10-ffmpeg/README libs/gstreamer0.10-ffmpeg [universe]
usr/share/doc/gstreamer0.10-ffmpeg/README.Debian libs/gstreamer0.10-ffmpeg [universe]
usr/share/doc/gstreamer0.10-ffmpeg/TODO libs/gstreamer0.10-ffmpeg [universe]
usr/share/doc/gstreamer0.10-ffmpeg/changelog.Debian.gz libs/gstreamer0.10-ffmpeg [universe]
usr/share/doc/gstreamer0.10-ffmpeg/changelog.gz libs/gstreamer0.10-ffmpeg [universe]
usr/share/doc/gstreamer0.10-ffmpeg/copyright libs/gstreamer0.10-ffmpeg [universe] Ich gehe mal davon aus, dass gstreamer auf die Bibliothek libgstffmpeg.so zugreift, wo vermutlich alle Codecs aus ffmpeg enthalten sind und daher ffmpeg nicht zusätzlich benötigt wird.
|
haraldkl
Anmeldungsdatum: 21. Juli 2005
Beiträge: 1903
Wohnort: Würselen
|
pesobs hat geschrieben: wo vermutlich alle Codecs aus ffmpeg enthalten sind und daher ffmpeg nicht zusätzlich benötigt wird.
Ja, hast Recht, ich kann es im Moment leider nicht ausprobieren, aber auf der Homepage heißt es:
GStreamer FFmpeg plug-in contains one plugin with a set of elements using the FFmpeg library code. It contains most popular decoders as well as very fast colorspace conversion elements.
FFmpeg wird also nicht irgendwie als Server-Applikation oder so verwendet und müsste eigentlich nicht installiert werden.
|
pesobs
Anmeldungsdatum: 3. März 2006
Beiträge: 695
|
FFmpeg wird also nicht irgendwie als Server-Applikation oder so verwendet und müsste eigentlich nicht installiert werden.
Sehe ich auch so. ffmpeg ist dann sehr nützlich, wenn Video- oder Audiodateien zu konvertieren sind → FFmpeg, ansonsten ist es wohl nicht notwendig und könnte daher auf der Seite Codecs aus der Liste mit den notwendigen Codecs herausgenommen werden. Andererseits, in dem Paket ffmpeg sind die Bibliotheken
usr/lib/vhook/drawtext.so graphics/ffmpeg [universe]
usr/lib/vhook/fish.so graphics/ffmpeg [universe]
usr/lib/vhook/imlib2.so graphics/ffmpeg [universe]
usr/lib/vhook/null.so graphics/ffmpeg [universe]
usr/lib/vhook/ppm.so graphics/ffmpeg [universe]
usr/lib/vhook/watermark.so graphics/ffmpeg [universe] enthalten.
vhook sagt mir aber im Moment leider nichts.
|