Debians offizielle Multimedia-Pakete kontra deb-multimedia.org

Erst kürzlich ist mir aufgefallen, dass ein Namenswechsel stattgefunden und debian-multimedia.org sich in deb-multimedia.org umbenannt hat. Christian Marillat, langjähriger Debianentwickler und Verantwortlicher dieses inoffiziellen Debian-Repos für Multimedia-Software, tat dies aber nicht freiwillig. Am 5. Mai 2012 wurde Christian von Stefano Zacchiroli, seines Zeichens zum dritten Mal wiedergewählter Anführer des Debianprojekts, aufgefordert auf die Differenzen zwischen ihm und dem Debian-Multimedia-Team einzugehen oder sich ausdrücklich von dem Namen Debian in seinem Webauftritt zu distanzieren.
Er zog Letzteres vor und benannte die bekannte Domain debian-multimedia.org in deb-multimedia.org um. Zur Zeit gibt es noch eine Umleitung und auch die alten Einträge in der sources.list funktionieren noch. Das wird sich in ein paar Monaten aber ändern.

Die Geschichte

Was war passiert? Nun zum einen achtet Debian seit einiger Zeit verstärkt darauf, dass Domains, die in ihrer Bezeichnung den Namen Debian tragen, von offiziellen Debianentwicklern geführt werden, weswegen meine Anfrage für debiangames.de auch zum Scheitern verurteilt war. Nun war mir von vorne herein bewusst, dass meine Chancen schlecht standen, debian-multimedia.org gab es aber schon seit zehn Jahren und so ziemlich jeder, der mit Debian in Berührung kommt, stößt irgendwann auf Christian Marillats inoffizielles Multimedia-Archiv.
Das Problem lässt sich leicht erklären. Die Chemie stimmt zwischen dem offiziellen Multimedia-Team und Christian Marillat nicht mehr. Nachzulesen unter anderem in der FAQ von Debian-Multimedia oder diesem Beitrag auf der Mailingliste der Debian-Entwickler, dessen Betreff, "debian-multimedia.org considered harmful", für sich spricht. Die Zusammenarbeit, wenn man davon überhaupt sprechen kann, ist so zerrüttet, dass keine Absprachen zwischen dem offiziellen Team und Christian Marillat mehr stattfinden.
Durch die eigenwillige Benennung seiner Debianpakete werden diese selbst dann installiert, wenn sie in Debian in einer neueren Version vorliegen sollten. Durch das Mischen unterschiedlicher Versionen kommt es jedoch bei manchen Nutzern zu Bugs und Abstürzen. Da manche debian-multimedia.org für eine offizielle Debian-Domain gehalten haben, wurden Fehlerberichte eben auch für Debian verfasst, womit die Paketverwalter aber nichts anfangen konnten und genervt die Fehlerberichte wieder geschlossen haben. Der Konflikt war also vorprogrammiert.
Debian-Multimedia.org ist deswegen so bekannt, weil es seit zehn Jahren die wohl einzige externe Quelle war, wo man problematische Multimedia-Software für Debian ohne Umstände herunterladen konnte. Wobei "problematisch" mit Patenten behaftet und nicht DFSG-konform bedeutet. Hier konnte man schon sehr früh die Software finden, mit der es möglich ist DVDs auf dem heimischen PC abzuspielen oder erste Debianpakete von Mplayer bewundern.
Die Multimedia-Situation hat sich nach und nach in Debian gebessert. Zum einen hat das Multimedia-Team gute Arbeit geleistet und wichtige Codecs und Software DFSG-konform nach Debian bringen können. Dazu musste die Software oft aufwendig analysiert und unfreie Komponenten entfernt werden. Natürlich kostet das mehr Zeit als einfach alles so zu belassen und dem Nutzer ein unfreies Paket vorzusetzen.
Zum Anderen gab es letztes Jahr einen Lichtblick in der Patenthölle. Zusammen mit Rechtsanwälten des Software Freedom Law Center und dem Debian-Projekt wurde eine FAQ zum Thema Patentrichtlinie erstellt. Hierin werden Entwicklern von Freier Software Wege und Verhaltensweisen aufgezeigt, um sich im Einklang mit bestehendem Recht zu bewegen.
Dabei wurde deutlich, dass es durchaus rechtmäßig sein kann patentbehaftete Software in einer Distribution wie Debian zu vertreiben, wenn man gewisse Punkte beachtet. Interessanterweise scheint es (in den USA) umso unwahrscheinlicher zu sein, wegen willentlicher Patentrechtsverletzung angeklagt zu werden, je weniger man von dem eigentlichen Patent weiß und je geringer der kommerzielle Nutzen ist, den man aus dem Patent für sich selbst zieht. Wer jetzt die Augenbraue hebt, sollte sich den ganzen Text mal selbst durchlesen. 🙂
Das eröffnet Problempaketen wie Avidemux die Chance, das übrigens seit neun Jahren auf die Aufnahme in Debian wartet, tatsächlich in Debian zu erscheinen. Es sei denn natürlich die technischen Probleme lassen sich lösen...Ein interessanter Fehlerbericht mit Sprüngen von teilweise 2 Jahren zwischen einzelnen Posts. 😉
Doch genau solche Pakete wie Avidemux gibt es eben schon seit einer Ewigkeit bei deb-multimedia.org. Ein Grund warum Linux Mint Debian diese externe Quelle standardmäßig freischaltet und mit verbesserten Multimediafähigkeiten wirbt, dabei aber unter den Teppich kehrt, dass Softwarefreiheit nicht ganz so ernst genommen wird.

Die Alternativen

  1. Probiert immer zuerst die Multimedia-Software in Debian selbst aus. In den meisten Fällen ist die offizielle Software nämlich ausreichend, um Videos und Musik anschauen und hören zu können.
  2. Treten tatsächlich einmal Probleme mit dem Abspielen auf und weder Totem mit Gstreamer, Mplayer oder VLC können weiterhelfen, dann greift auf die Backports zurück. Denn wahrscheinlich benutzt ihr Debian Stable und benötigt lediglich eine neuere Version eurer Software.
  3. Wenn alles versagt und sozusagen als letztes Mittel: Schaltet deb-multimedia.org frei und installiert euch die w32codecs, libdvdcss2 und Avidemux, wenn ihr sie denn tatsächlich brauchen solltet. Ich hatte persönlich noch nie größere Probleme mit Christian Marillats Software. Ich gebe aber zu, dass ich ziemlich enttäuscht bin, wie er auf die öffentliche Aufforderung von Stefano Zacchiroli reagiert hat.

Apt-Pinning

Um mehr Kontrolle über Drittquellen wie deb-multimedia.org zu haben, könnt ihr diesen Paketen eine niedrige Pin-Priorität zuweisen und mit Apt-Pinning arbeiten. Ersetzt einfach "testing" mit eurem bevorzugten Debian-Repo. Die Datei /etc/apt/preferences sieht z.B. so aus.

Package: *
Pin: release o=Debian, a=testing
Pin-Priority: 990
Package: *
Pin: origin www.deb-multimedia.org
Pin-Priority: 101

Zusätzlich muss noch diese Zeile in /etc/apt/sources.list nachgetragen werden.

deb http://www.deb-multimedia.org testing main non-free

Jetzt solltet ihr aber keine Fehlerberichte mehr an den Bugtracker von Debian schicken. 😈

VLC und der Framebuffer

Die besten Multimedia-Abspieler der Welt sind Freie Software. Seit Anfang an benutze ich entweder Totem mit Xine oder Gstreamer, VLC und natürlich Mplayer. Heute ist es in der Regel so, dass ich Totem wegen Gnome 3 noch standardmäßig installiert habe, ansonsten aber nur noch den ausgezeichneten Mplayer verwende. Nach zahlreichen Selbstversuchen hat sich hier einfach herausgestellt, dass Mplayer gerade auf älteren Rechnern den Unterschied ausmacht. Verzichte auf die GUI und steuere ihn über die Konsole und Tastatur, wende ein paar Tricks&Tipps an und schon sind selbst h264-Videos auf dem Inspiron 4000 möglich.
Das Debian-Paket für Mplayer ist schon vollkommen ausreichend, man kann ihn auch speziell für den Framebuffer selbst kompilieren und jegliche Abhängigkeit zu X entfernen. Einfacher geht es auch mit deb-multimedia.org, wo ein mplayer-nogui Paket schon bereitgestellt wird.
Zum Vergleich habe ich mir VLC für den Framebuffer angeschaut, den ich bis vor 2-3 Jahren regelmäßig benutzt habe und ihn auf dem Thinkpad 600 mit Squeezes vlc-nox Paket, also ohne X Ballast, installiert.
VLC lässt sich wie gewohnt über die Kommandozeile bedienen und hat auch ein Ncurses Interface, das sich mit nvlc oder vlc -I ncurses aufrufen lässt.

Einen Überblick über die Tastaturbelegung liefert h. Wenn man mit B den Dateibrowser aufruft, kann man schnell zum Musik- oder Videoordner navigieren und mit Enter den Track hinzufügen. Einmal noch die Leertaste betätigen und das Lied wird abgespielt.
Im Gegensatz zu cmus bietet die Ncurses-Schnittstelle nicht das gleiche Maß an Übersichtlichkeit und Funktionen. Hier lässt sich mit cmus deutlich mehr machen.
Bei der Videowiedergabe mit VLC hatte ich zuerst ein Problem, was dazu führte, dass Videos nicht richtig skaliert wurden. Die Fehlermeldung besagte:

swScaler: pal8 is not supported as output pixel format

Nach einer kurzen Suche stellte sich heraus, dass einige inoffizielle Pakete von deb-multimedia.org die Ursache waren. Nach einer Deinstallation von VLC und dem Deaktivieren der Quellen in der sources.list, installierte ich vlc-nox erneut, wonach keine Probleme mehr mit Software Scaling auftraten. Das ist das erste Mal in zehn Jahren, dass die Repos von Christian Marillat hier ein Problem verursacht haben, man muss vielleicht nur lange und tief graben.
Zwar war es nun möglich ein älteres 320x240 großes MPEG-1 Video abzuspielen, leider konnte ich VLC nicht dazu bewegen den Vollbildmodus zu verlassen. Mplayer hingegen stellt das Video standardmäßig in seiner Originalgröße dar, was sich vollkommen ruckelfrei noch auf dem Pentium II Laptop ansehen lässt.
Scheinbar ist es mit dem Fbdev-Ausgabetreiber nicht möglich auf die Vorteile von Hardwarebeschleunigung zurückzugreifen. Alles wird mit Hilfe der Software berechnet, was die CPU dann an ihre Grenzen führt. Die Musik wird hier noch problemlos abgespielt, Bild und Ton sind aber nicht mehr synchron. Vollbild im Framebuffer lässt sich mit Mplayer so erreichen:

mplayer -vo fbdev -fs -vf scale=1024:-3 Name_des_Videos.mkv

  • -vo fbdev: Der Framebuffer Videoausgabetreiber
  • -fs: Vollbild
  • -vf scale: 1024 für die maximale Breite des Videos und meiner maximalen Auflösung auf dem Thinkpad entsprechend und -3 zwingt Mplayer dazu die Höhe proportional zur Größe des ursprünglichen Videos anzupassen.

Mit VLC versuchte ich so ziemlich alles zusätzlich zu --vout fb, aber weder --autoscale, --scale, --width und --height bewirkten hier etwas und die VLC Kommandozeilen-Hilfe brachte keine entscheidenden Hinweise.
Mein Fazit momentan ist, dass cmus zum Musikabspielen flexibler und ressourcenschonender ist und deutlich weniger Abhängigkeiten installiert. Mit Mplayer habe ich selbst im Framebuffer noch die Möglichkeit das Video mit den gewohnten Tastaturkürzeln zu steuern, wohingegen VLC lediglich die eingeschränkten Möglichkeiten der Ncurses-Schnittstelle bietet.
Möglicherweise wurde das Paket auch ohne QT4-Unterstützung kompiliert, was die begrenzten Möglichkeiten mit dem Framebuffer erklären könnte, wenn ich die Aussage des VLC-Entwicklers im Forum richtig verstehe.
Doch am Ende denke ich, dass Mplayer und cmus für mich diese Aufgabe einfacher besser erledigen.

WebM: Videos mit Mplayer und Debian Squeeze abspielen

Als ich mit dem Thinkpad 600 begann Youtube Videos gegen den Framebuffer abzuspielen und dabei mal wieder auf mein Elinks-Youtube-dl-Mplayer-Setup zurückgriff, stellte ich plötzlich fest, dass etwas mit Mplayer nicht stimmte.
Das Problem rückte erst jetzt in den Vordergrund, weil ich in den letzten Wochen diesen ressourcenschonenden Trick lediglich auf dem Inspiron 4000 mit Debian Sid angewendet hatte. Da der Thinkpad 600 aber mit Debian Stable angetrieben wird, nahm ich die Veränderung bei Youtube erst vor kurzem wahr. Die Rede ist von WebM.
Das WebM-Projekt ist ein von Mozilla, Opera, Adobe, Google und siebzig anderen Herstellern entwickeltes offenes Videoformat, welches zusammen mit Vorbis als Audio-Codec und dem VP8 Video-Codec der freie Webstandard zur Übertragung von Video- und Multimediaangeboten werden soll.
Das kleine Python-Skript youtube-dl lädt mittlerweile standardmäßig Youtube-Videos im WebM-Format herunter, das Mplayer in der aktuellen Version in Debian Stable aber nicht abspielen kann. Der entsprechende Patch erschien erst einige Wochen nach dem Freeze im Sommer 2010. Es gibt nun mehrere Möglichkeiten. Entweder man übersetzt Mplayer für seinen Computer selbst oder man greift auf bestehende Binärpakete von deb-multimedia.org zurück.
Die /etc/apt/sources.list muss um den folgenden Eintrag erweitert werden

deb http://www.deb-multimedia.org squeeze main non-free

Danach sollte zuerst der GPG-Schlüssel für das Archiv auf deb-multimedia.org heruntergeladen werden.

aptitude install deb-multimedia-keyring

Schließlich noch das alte Mplayer-Paket entfernen und das neue mplayer-nogui (empfehlenswert um Ressourcen zu sparen) oder Mplayer-Paket installieren. Danach lassen sich auch Videos im WebM-Format problemlos mit Debian Squeeze abspielen.
Update: Mittlerweile stehen auch aktuelle Backports von Mplayer in den offiziellen Repositorien von Debian zur Verfügung.

Probleme mit bash-completion und WebM lösen

Auch der Patch für die bash-completion, um WebM-Dateien per TAB-Taste zu vervollständigen, kam zu spät. Ich habe mich mal daran gewagt und das aktuelle Paket bash-completion in Debian Sid installiert. Entweder man schaltet Sid in der sources.list frei oder man lädt das Paket manuell von einem der Spiegelserver auf der zuletzt verlinkten Seite herunter. Nach der Installation lassen sich nun auch *.webm Dateien vervollständigen. Probleme habe ich durch den Mix mit Unstable noch nicht festgestellt. Wie immer auf eigene Gefahr anwenden. 😉

Freud und Leid mit der Mattscheibe

Es folgt ein Geständnis oder Bekenntnis, womöglich gar ein Outing. Ich schaue kein Fernsehen mehr, zumindest nicht auf die traditionelle Art. Was hat das mit Linux zu tun? Nun wahrscheinlich fast gar nichts und doch ein wenig. Um zu erklären, warum ich die konventionellen Pfade verlassen habe, muss ich etwas ausholen.
Mein erster Kontakt mit dem Medium Fernsehen war irgendwann in den 80iger Jahren. Damals konnten wir bei uns zu Hause genau vier Programme empfangen. Nein, wir lebten nicht im Wald, ernährten uns von Beeren und betrieben den Fernseher mit einem Fahrraddynamo. Es gab einfach noch keine privaten Sender geschweige denn PayTV, dass in Deutschland sowieso seit jeher ein Schattendasein fristet. Das war die Zeit des Öffentlich-Rechtlichen-Fernsehens als alles Schaubare auf ARD, ZDF und den Dritten Programmen lief und sogar das legendäre A-Team zur besten Sendezeit bei ARD über den Bildschirm flimmerte.
Die Zeit verging und irgendwann kamen dank Kabel die ersten privaten Sender dazu. Zuerst sei da natürlich RTL erwähnt, wo ich zum ersten Mal Knight Rider, der Inbegriff der 80iger Jahre Serien, sehen konnte. Schon damals zeichnete sich RTL durch einen eher ungewöhnlichen Programmmix aus, den man aus heutiger Sicht vielleicht als Vorbote für die kommenden Jahre sehen mag.
Erinnert sich noch jemand an Pronto Salvatore? Wer hätte auch auf Rot getippt?

Ohne Flachs lief der Hütchen- und Kartenspieler Salvatore zur besten Sendezeit zwischen zwei Spielfilmen oder direkt vor den Nachrichten im privaten Fernsehen. Wäre das heute eigentlich noch "politisch korrekt"? Ich weiß es nicht. Fest steht nur, dass danach das Angebot im deutschen Fernsehen weiter zunahm und als Kind war ich natürlich später glühender Fan von Tele 5 und seinen diversen Animesendungen.
In nur zehn Jahren vervielfachte sich dann das Fernsehprogramm. Leider nahm die Qualität nicht im gleichen Maße wie die Quantität zu. Bis zum Ende der 90iger gehörten noch Sender wie VIVA Zwei und dessen alternative Formate wie "Fast Forward" zu meinen persönlichen Favoriten. Auch das endete leider mit der Abschaltung von VIVA Zwei und des späteren Programmwechsels von Musikinhalten zu "Reality TV".
Anfang des neuen Jahrtausends wurde ich dann zunehmend desillusionierter. War es erst ein Sender, der eine Talkshow nach amerikanischen Vorbild sendete, steigerte sich die Zahl später auf mehr als ein halbes Dutzend. Seelenstriptease vor laufender Kamera und niveaulose Unterhaltung auf Kosten anderer als Geist der Zeiten. Als "Richterin Babara Salesch" schließlich für ihre "Verdienste" 2002 sogar noch den Deutschen Fernsehpreis zuerkannt bekam, waren meine Erwartungen an Fernsehen auf einen Tiefpunkt gesunken. Selbst Oliver Kalkofe konnte mich mit seinem beißenden Sarkasmus nicht vor dem weiteren Abstumpfen bewahren.
Schließlich verlagerte sich mein Medienkonsum vom klassischen Fernseher immer mehr ins Internet. Heute beziehe ich fast alle meine Informationen nur noch hieraus. Dienste wie Youtube oder Vimeo und das immer weiter verbreitete Streaming auch bei Nachrichtensendungen ersetzen den Fernseher. Linux spielt hier als Betriebssystem natürlich eine wichtige Rolle. Neben den bekannten Streamingdiensten nutze ich z.B. das in Java programmierte Mediathekview, um mir Sendungen des öffentlich rechtlichen Fernsehens auf dem PC anschauen zu können. Das Ganze lässt sich ohne Schwierigkeiten auch auf betagteren Laptops ausführen.
Wie der Name des Programms schon andeutet, greift die Anwendung auf die Mediathek der einzelnen Sender zu.


Innerhalb von Mediathekview lässt sich nach Suchbegriffen filtern. Die einzelnen Sendungen lassen sich dann mit Hilfe von VLC, Mplayer oder flvstreamer entweder direkt anschauen oder auch zuerst auf die Festplatte herunterladen. Der Mplayer Knopf fehlt standardmäßig, lässt sich aber in sekundenschnelle selbst erstellen. Hierzu müsst ihr nur zu Einstellungen->Button->Einrichten wechseln, den bestehenden Eintrag für den VLC-Button duplizieren und das Wort vlc in den Formularfeldern durch Mplayer ersetzen. Fertig.

Einziger Makel an der Mediathek ist die unsägliche Depublizierung der Medieninhalte nach zumeist sieben Tagen. Wenn man sich ein staatliches und durch GEZ-Gebühren finanziertes Fernsehen leistet, sollte man dessen erarbeitete Inhalte auch öffentlich zeigen dürfen. Entweder man schafft das Öffentlich-Rechtliche-Fernsehen zu Gunsten der privaten Sender ganz ab oder man liefert den Kunden und Gebührenzahlern die Ware, für die sie bezahlt haben.
Ansonsten leistet mir gerade für Youtube Minitube gute Dienste, wenn ich nicht per Browser vorbeischaue oder gezielt und ressourcensparend mit der elinks,youtube-dl und mplayer Methode auf Videos zugreife.
Ich kann es nicht genauer erklären, aber klassisches Fernsehen ruft bei mir keine Entzugserscheinungen hervor. Ich halte das Zusammenstellen und die Suche nach Informationen im Internet auch nicht für besonders schwierig oder gar anstrengend. Wenn in den kommenden Jahren die Bandbreite weiter ansteigen wird, können auch Medieninhalte in weit höherer Qualität gestreamt werden, weshalb ich nicht glaube, dass diese Methode für mich in den nächsten Jahren an Attraktivität verlieren wird.

Mplayer nur für den Framebuffer

Die ganzen gestrigen Ausführungen, wie man mit Debian Binärpakete aus dem Quellcode baut, dienten eigentlich nur einem Zweck. Ich wollte K.Mandlas "Mplayer for the framebuffer only" Tipps einmal ausprobieren.
Wie macht man Mplayer noch schneller und ressourcenschonender? Man entschlackt ihn, indem man beim Kompilieren verschiedene Feature deaktiviert. Zum Übersetzen habe ich die gestern vorgestellte pbuilder Methode genutzt.
Ziel war es, die Unterstützung für Videoausgabe ausschließlich auf das Framebuffer Device fbdev zu beschränken. In debian/rules mussten die CONFIGURE_FLAGS und der Code zum Bauen der Mplayer GUI und der nicht grafischen Version angepasst werden.
Welche Optionen es gibt, erfährt man durch ./configure --help. Mit dem Befehl debchange -nmu changelog im debian Verzeichnis des Quellpakets kann das changelog angepasst werden.
Nach jeder Veränderung in debian/rules musste ich das Quellpaket mit dpkg-source -b Name_des_Verzeichnisses neu bauen, damit die gemachten Änderungen von pbuilder auch erkannt wurden. Wer Tipps und Hintergrundinformationen dazu hat und ob es auch andere Möglichkeiten gibt, kann mich gerne darauf stoßen.
Unter den CONFIGURE_FLAGS werden noch verschiedene if-Abfragen ausgeführt. Dabei sollte man vor allem das Bauen der Mplayer GUI Version deaktivieren, wir brauchen nur den Framebuffer, und Mencoder kann auch aus debian/rules verschwinden.

CONFIGURE_FLAGS =
              --prefix=/usr
              --confdir=/etc/mplayer
              --disable-x11
              --enable-xvmc
              --enable-menu
              --disable-arts
              --enable-largefiles
              --language=de
              --disable-libdvdcss-internal
              --disable-dvdread-internal
              --disable-libavutil_a
              --disable-libavcodec_a
              --disable-libavformat_a
              --disable-libpostproc_a
              --disable-libswscale_a
              --disable-openal
              --disable-sdl
              --disable-aa
              --disable-esd
              --disable-jack
              --disable-tv-v4l1
              --disable-tv-v4l2
              --disable-runtime-cpudetection
              --disable-mga
              --disable-smb
              --disable-gui
              --disable-lirc
              --disable-lircc
              --disable-liblzo
              --disable-fribidi
              --disable-libdv
              --disable-musepack
              --disable-speex
              --disable-cdparanoia
              --disable-dvdnav
              --disable-libamr_nb
              --disable-live
              --disable-mad
              --disable-mencoder
              --disable-gl
              --disable-pulse
              --enable-fbdev
              --disable-3dfx

Alles in allem hat das bei mir dazu geführt, dass das mplayer .deb Paket von 3 MB auf 1,7 MB geschrumpft ist. Zum Testen gelangte es dann auf den Toshiba Portégé 3110 CT, wo ich Youtube Videos mit Elinks und Mplayer angeschaut habe.
Auch mit einer angepassten Mplayer Version lassen sich h264 Videos nicht ruckelfrei in Vollbild auf einem PII 300 MHZ 64 MB RAM Laptop anschauen. Dennoch mit einer kleinen Modifikation des youtube-dl Skripts, ließen sich zumindest manche h263 Videos mit niedrigster Auflösung betrachten, wozu ich einfach die Option -f 5 anstelle von -f 34 übergeben habe.
Wichtig sind auch die kleinen Mplayer Tweaks und die Tipps in der MPlayer FAQ.
Zu einem Screenshot mit fbgrab reichte es aber, auch wenn dadurch der Laptop kurzzeitig ausgelastet war.

Gibt man dem alten Rechner eine Chance mit mpeg1/2 Videos und nutzt nicht gerade den CPU lastigen h264 Codec, sieht das Ganze besser aus. Über das Abspielen auf dem zwei Jahre jüngeren Dell Inspiron 4000 brauche ich nicht viele Worte verlieren. Das klappte auch schon vorher problemlos.
Als Fazit lässt sich sagen das selbst maßgeschneiderte Software nicht immer das Unmögliche schaffen kann, aber angesichts des zwölf Jahre alten Laptops noch brauchbare Ergebnisse liefert. Selber Kompilieren ist auf jeden Fall lehrreich. Debians Mplayer Binärpaket ist aber nicht fühlbar schlechter.
Auf jeden Fall gewinnt ihr ein paar Geek Punkte bei dem bleichen Geek von nebenan hinzu und vom Rest gibt es immerhin Augenrollen 🙄 , Kopfschütteln und sanftes Klopfen auf die Schulter.
Das Leben ist nicht immer fair.

Nützliche Mplayer Optionen für altersschwache Rechner

Mplayer spielt so ziemlich alles ab, was die Multimediawelt zu bieten hat. Selbst fehlerhafte Videos lassen sich mit einigen Optionen noch zum Abspielen bewegen. Vor allem mit älterer Hardware endet das Anschauen von HD Videos oft in Geruckel und stotternder Audiovergabe. Mit einer kleinen Auswahl aus den Myriaden an Mplayer Optionen lässt sich so manches h264 Video auch noch auf einem Dell Inspiron 4000 mit 800 MHz Pentium III CPU anschauen.

Hier nun meine kleine Liste mit einigen nützlichen Mplayer Optionen. Die Werte vor dem | lassen sich direkt in der Kommandozeile an mplayer übergeben, die Werte danach können in dieser Form in der Konfigurationsdatei .mplayer/config stehen.

  • -quiet / -really-quiet | quiet="1"

Die Ausgabe von Meldungen in der Konsole werden weniger, was bei manchen Terminalemulatoren zu deutlich weniger Speicherverbrauch führt.

  • -vo xv | vo=xv

Setzt die Videoausgabe auf den Standard X11 Treiber, der für ältere Rechner die beste Performance verspricht. Wer spezielle Grafikkarten nutzt, sollte hier auch mal die anderen Werte von vo ausprobieren.

  • -vf scale=400:300 | vf="scale=400:300"

Damit lässt sich die Höhe und Breite der Wiedergabe festlegen und verkleinern. Bei einem Bildschirm mit einer maximalen Auflösung von 800x600 Pixeln, würde bei dieser Einstellung das Video also 1/4 des Bildschirms einnehmen.

  • - framedrop | framedrop="1"

Verwirft einige Frames ohne sie anzuzeigen. Dadurch kann eventuell ein Problem mit der Audio/Video Synchronisation behoben werden.

  • -cache 8192 | cache="8192"

Erhöht den Zwischenspeicher auf 8 MB. Gerade bei langsamen Netzwerkverbindungen können dadurch Ruckler und Aussetzer vermieden werden.

  • -vfm ffmpeg -lavdopts lowres=1:fast:skiploopfilter=all

Mit dieser magischen Zeile lassen sich selbst h264 Videos auf älteren Kisten anschauen. Der Performancegewinn kann aber zu Lasten der Bildqualität gehen. Auf meinem Dell Inspiron 4000 fiel das aber nicht auf. Mit -vfm ffmpeg wird der libavcodec ausgewählt, der Rest bewirkt, dass beim Dekodieren manche Frames nicht mehr in Abhängigkeit zu anderen Frames ausgewertet werden und somit weniger Informationen berechnet werden müssen. Außerdem bewirkt die Option lowres=1, dass das Video nur mit der Hälfte der normalen Auflösung dargestellt wird.

Die Option skipframe=all geht sogar noch weiter und lässt alle Frames beim Dekodieren aus. Letzteres hat aber meist eine sehr schlechte Wiedergabequalität zur Folge.

Noch ein paar nützliche Tips in Englisch gibt es z.B. im Wiki auf multimedia.cx.

Youtube-Videos mit Elinks und Mplayer anschauen

Wer kennt nicht das Problem. Man möchte schnell mal ein interessantes Video auf Youtube anschauen, aber der Browser braucht wieder eine gefühlte Ewigkeit um es abzuspielen. Die CPU ächzt, das Surfen wird zur Qual, Browser abgestürzt, Moment mal! Sieht man von "ab und zu" auftretenden Sicherheitslücken in Flash ab und der Tatsache, dass man mit Flash- und Super-Cookies recht leicht das Benutzerverhalten erfassen kann, ohne dass die meisten Nutzer überhaupt etwas davon ahnen, bringt Flash einige wirklich hübsche visuelle Animationen auf den Bildschirm.
Fraglich bleibt nur, wozu man eigentlich Flash benötigt, wenn man nur ein Video im Netz anschauen möchte. Zwar ist HTML5 unterwegs, doch wer schon heute zum Videos anschauen auf Flash verzichten möchte, dem kann mit Hilfe eines simplen Textbrowsers namens Elinks und dem Multimedia-Alleskönner Mplayer geholfen werden.
Die Grundidee ist einfach. Ausführlich vorgestellt wurde sie Anfang des Jahres in Englisch von Urukrama. Gesucht ist eine Anwendung, welche schnell Suchergebnisse von Youtube zurückliefert, die URL des Videos auflöst und per Tastendruck diese an eine weitere Multimediaanwendung zur Darstellung übergibt. Dabei kommen drei verschiedene Programme zum Einsatz.

  1. youtube-dl
  2. Youtube-dl ist ein Skript, welches Videos von youtube direkt von der Kommandozeile herunterladen kann.

  3. elinks
  4. Ein hervorragender Textbrowser mit einer Vielzahl an Optionen.

  5. mplayer
  6. DER Multimediaabspieler unter Linux. Mplayer ohne GUI ist die ressourcenschonendste Möglichkeit Videos anzuschauen.

15.01.2011 Update:
Seit dem 10.12.2010 hat youtube.com neue Sicherheitsvorkehrungen getroffen. Cookies dienen nun der Identifikation des Clients. Die notwendigen Veränderungen habe ich in die Skripte eingetragen. Alles funktioniert wieder wie beabsichtigt 😉
Vielen Dank an diesen Post auf multimedia.cx für die Lösung.
Als Alternative für youtube-dl bietet sich auch clive an.

utube-Skript erstellen

Als erstes muss ein ausführbares Skript erstellt werden, welches mit Hilfe von youtube-dl die youtube Video-URL auflöst und diese an mplayer übergibt, damit es direkt abgespielt werden kann. Das Skript kann z.B. utube heißen und muss mit chmod+x utube ausführbar gemacht werden. Danach wird es nach /usr/local/bin oder /usr/bin kopiert, damit es systemweit auf der Konsole ausgeführt werden kann. Neu seit dem 10.12.2010 ist die Notwendigkeit ein Cookie abzuspeichern, mit welchem man sich beim youtube Server identifiziert.
 

#!/bin/sh
COOKIE_FILE=/var/tmp/youtube-dl-cookies.txt
mplayer -cookies -cookies-file ${COOKIE_FILE} $(youtube-dl -g --cookies ${COOKIE_FILE} $1) > /dev/null 2>&1

Elinks konfigurieren

In Elinks die Taste "O" drücken und der Optionsmanager öffnet sich. Unter Dokument(e)>URI Deligierung einen neuen Eintrag hinzufügen und ihm z.B. den Namen youtube geben. Als Wert trägt man utube %c ein. Alles sichern und den Optionsmanager schließen.
Anschließend mit der Taste "K" den Tastenbelegungsmanager öffnen. In der Haupttabelle bis zur Option "Die URI des aktuellen Links an ein externes Programm übergeben" scrollen. An dieser Stelle lässt sich der Name der Taste definieren, z.B. y, mit der das utube Skript aufgerufen wird, sobald man auf youtube.com einen Videolink ausgewählt hat. Damit sind die Videolinks gemeint, die nach einer Suchanfrage auf youtube erscheinen. Es genügt also mit der Tastatur auf einen dieser Links zu steuern und y zu drücken, wonach das Skript seine Arbeit verrichtet und mplayer sofort mit dem Abspielen beginnt.
Um ein Video abspielen zu können, wenn man sich direkt auf der Videoseite befindet, muss im Tastenbelegungsmanager die Option "Die URI der aktuellen Ansicht an ein externes Programm übergeben" mit einer Taste oder Tastenkombination belegt sein. Ich habe hier Alt-y gewählt.

Youtube-Videos suchen leicht gemacht

Elinks bietet die Möglichkeit mit Hilfe eines sogenannten smart prefix eine Zeichenfolge durch eine kürzere zu ersetzen. Innerhalb von elinks öffnet sich mit der Taste "G" die Adresszeile des Textbrowsers. Hier könnte man z.B. youtube.com eingeben und landet dann auf der Seite des Videoportals. Von dort aus lässt sich über das Suchfeld nach Videos suchen, mit der Tastatur auf einen Videolink steuern und mit y das Video abspielen. Einfacher geht es, wenn man direkt in der Adresszeile nach den Videos suchen kann. Die direkte URL für Suchanfragen bei youtube lautet:

http://www.youtube.com/results?search_query=

Die Zeichenkette nach dem = wird von youtube ausgewertet und man erhält eine Liste von Videos zurück. Um nicht jedesmal erneut diese URL eingeben zu müssen, lässt sich diese in elinks zu einem einzelnen Buchstaben, einem smart prefix, umdefinieren.
Dazu muss man im Optionsmanager unter Protokolle>URI Veränderung>Komplexe Präfixe ein neues Zeichen hinzufügen und als Wert die oben genannte Such-URL eintragen und den Parameter %s anfügen. Ich habe hier ebenfalls y gewählt. Drückt man nun in elinks "G" und gibt

y beethoven mondscheinsonate

ein, erhält man eine Liste mit Videos zu Beethovens berühmter Sonate zurück und kann diese mit der Tastatur auswählen und durch Drücken von y abspielen, ohne den Umweg über youtube.com und das Suchfeld gehen zu müssen.

Youtube-Videos herunterladen

Natürlich funktioniert auch der direkte Download eines Videos. Folgendes Miniskript ebenfalls in /usr/local/bin/ abspeichern und wie oben beschrieben mit dem Optionsmanager in Elinks z.B. unter dem Namen "download" verfügbar machen. Danach erscheint ein weiterer Menüeintrag "download" sobald die Taste "y" bei ausgewähltem youtube Link gedrückt wird.

#!/bin/sh
cd ~/Videos/youtube/
youtube-dl -t $1 > /dev/null 2>&1

Zum Schluss

Es gibt zwar tolle Addons für den Firefox, mit denen sich Videos leicht von youtube herunterladen und dann mit einem Player der Wahl abspielen lassen. Auch bietet z.B. Totem mit Plugins die Möglichkeit Videos direkt aus dieser Multimediaanwendung abzuspielen.
Wer aber eine sehr effiziente und leichtgewichtige Lösung sucht um Youtube Videos auf nahezu jedem Rechner abzuspielen, ohne sie vorher herunterzuladen, sollte youtube-dl, elinks und mplayer eine Chance geben. Die oben genannte Lösung funktionierte sogar auf meinem Toshiba Laptop mit 64 MB RAM und 300 MHz CPU. Wer schafft es außer mplayer youtube Videos im Framebuffer abspielen zu können? 😛

Meine elinks.conf

elinks.conf.tar

Leichtgewichtige Linux Anwendungen

Eine aktuellere Übersicht über leichtgewichtige Software, die ich verwende, gibt es unter Software.
Nach der Wahl des Fenstermanagers stand die Frage im Raum: "Welche Programme laufen überhaupt noch schnell genug auf einem PII Laptop mit 64MB RAM?" Dabei ist wohl die wichtigste Frage, was man mit dem Computer überhaupt noch anstellen will. Im folgenden möchte ich eine Auswahl von Programmen vorstellen, die selbst auf älterer Hardware wie meinem Toshiba Portégé 3110CT (speedy) noch schnell funktionieren, wenig Speicher verbrauchen und oft sehr wenig Abhängigkeiten mit anderen Programmen aufweisen und damit ideal sind, wenn man sein Linuxsystem selbst zusammenstellen möchte.
Für meinen Laptop war mir vor allem Netzwerkfähigkeit wichtig. Browsen, Chatten, Emails versenden sollte möglich sein und Musik abspielen musste problemlos funktionieren. Weniger wert legte ich auf Textverarbeitung, Grafiken und Fotos bearbeiten.

Terminal-Emulatoren

Welches Terminal Programm man unter X benutzen möchte ist letztendlich Geschmackssache. Das Fluxbox-Wiki listet hierzu ein paar gängige Alternativen auf. Nach langer Suche im Netz bin ich immer wieder auf rxvt-unicode (kurz urxvt) und xterm gestoßen. Beiden wird geringer Speicherverbrauch nachgesagt, was ich nach einigem Ausprobieren auf meinem Laptop mit 64 MB RAM bestätigen kann. Urxvt lässt sich hierbei umfangreich konfigurieren, so dass man schließlich alle Funktionen erhält, die man z.B. von dem ebenfalls umfangreichen, aber schwerfälligen Gnome-Terminal auch gewohnt ist. Urxvt bietet unter anderem Unicode Support, Pseudo-Transparenz, Tabs, anklickbare Links, ein-/ausschaltbare Scrollbar und weitere Möglichkeiten Farben und Aussehen anzupassen.

Grafik

Ein einfacher Bildbetrachter ist Standard auf jedem Computersystem und sollte auch auf einem Minimalsystem nicht fehlen. Ein schnelles Programm ist hier z.B. gpicview. Wer auf eine grafische Oberfläche verzichten kann, findet mit feh einen mehr als vollwertigen, Kommandozeilen basierten Ersatz, der sehr flexibel ist und bei fluxbox oder openbox sich auch als Programm zum Anzeigen des Hintergrundbilds eignet. Damit kann feh andere Anwendungen wie z.B. eterm als Hintergrundbildzeichner ersetzen.

Email

Normalerweise benutze ich unter Ubuntu für Emails und Kalenderfunktionen die Groupware Suite Evolution und bin seit langem sehr zufrieden damit. Leider möchte Evolution bei einer Einzelinstallation beinahe die gesamte Gnome Desktopumgebung mit installieren und ist auch nicht gerade genügsam was Systemanforderungen angeht. Die zweite sehr gute Alternative ist Mozilla Thunderbird oder Icedove wie es bei Debian genannt wird.
Auf meinem Laptop war aber auch Thunderbird eine Nummer zu groß, weshalb ich nach anderen Alternativen Ausschau gehalten habe. Wer einen grafischen Email Client mit ähnlichen Funktionen, gutem Spamfilter und Verschlüsselungsmöglichkeiten wie bei Thunderbird sucht, findet mit claws-mail ein würdiges Programm. Claws-Mail kam selbst mit 64 MB noch gut zurecht. Zwar dauert es ebenfalls eine Weile bis das Programm gestartet ist, danach ist die Reaktionsfähigkeit in Ordnung, was man über Thunderbird nicht mehr sagen konnte.
Auf der weiteren Suche bin ich schließlich auf mutt und alpine gestoßen. Dabei handelt es sich um zwei reine Text basierte Email Clients. Mutt gilt allgemein als stark konfigurierbar und flexibel anpassbar. Die Konfiguration des Programms nimmt einen aber dafür für eine Weile in Anspruch. Schließlich bin ich zu dem Ergebnis gekommen, dass mutt, nur um ein paar Emails abzurufen und zu verfassen, eine Nummer zu konfigurierbar war.
Wer es etwas einfacher möchte, aber einen ebenso leichtgewichtigen Email Client sucht, sollte sich mal alpine anschauen. Alpine ist eine Weiterentwicklung des Email Clients pine der Universität von Washington und wird unter der Apache Lizenz veröffentlicht. Ausgeschrieben würde Alpine dann wohl "Apache License Pine is not Elm" heißen oder "Alternatively Licensed Program for Internet News and Email".
Im Gegensatz zu mutt ist die Installation unkompliziert abgeschlossen sobald man aptitude install alpine ausgeführt hat. Die Konfiguration danach gestaltet sich auch deutlich einfacher. Was man noch beachten sollte und wie man z.B einen GMX Account einrichtet, wird an dieser Stelle berichtet.

Dateimanager

Dateien kopieren, bewegen und löschen gehört zur Standardaufgabe eines jeden Rechners. Meine Lieblingsprogramme, wenn es um schnelle Dateimanager geht, sind Thunar und PCManFM. Wer es noch eine Spur genügsamer haben möchte, findet mit dem Midnight Commander, eine gute Alternative, welche dem legendären Norton Commander nachempfunden wurde. Wer wie ich feststellt, dass er selten große Mengen an Daten verschieben und kopieren muss, kommt sicherlich auch mit den Shell Kommandos mv, cp und rm prima aus.

Browser

Die Zahl der Browser scheint unter Linux Myriade zu sein. Zwar habe ich noch einige weitere ausprobiert, aber mich auf die unten stehenden zum Vorstellen beschränkt. Die nachfolgenden Browser repräsentieren auch Browsertypen und heben sich meiner Meinung nach von den anderen ab.
Firefox/Iceweasel kommt mit nur 64 MB RAM nur sehr zäh zurecht und ist zumindest für speedy nicht geeignet. Für mich anfangs überraschend, kommt Opera selbst mit nur 64 MB klar. Die Startzeit ist zwar auch nicht weltmeisterlich, aber die Seiten lassen sich flüssig scrollen. Schade nur, dass Opera nicht Open Source ist und meiner Meinung nach zu viele Features mit herumschleppt, die nichts mit Browsen zu tun haben.
Der Chromium-Browser war noch nicht in Squeeze, weshalb ich ihn noch nicht auf speedy getestet habe. Auf Grund der schon bei anderen Rechnern gemachten Erfahrungen, könnte er mit Opera in Sachen Geschwindigkeit wahrscheinlich gut mithalten.
Nun sind diese beiden "großen" Browser noch lange nicht das Ende aller Weisheit. Unter anderem gibt es noch Midori, netsurf, dillo2 oder elinks. Nicht getestet habe ich vergleichbare Browser, die für KDE entwickelt worden sind, da ich keine QT Bibliotheken installieren wollte.
Midori ist der Standardbrowser der Xfce Desktopumgebung und macht auf etwas schnelleren Rechnern mit 128 MB RAM eine sehr gute Figur, startete aber auf speedy deutlich langsamer als z.B. opera. Trotzdem ist er einer meiner Favoriten, da er auch schon mit einer guten Ad Block Funktion standardmäßig daherkommt und auch wert auf Webstandards legt.
Es gibt eine Reihe von Browsern, die schlank und schnell sind, weil sie Funktionen nicht implementiert haben und z.B. JavaScript nicht darstellen können oder CSS nicht vollständig oder gar nicht implementieren. Für viele Anwendungszwecke reicht aber auch ein solcher Browser aus um einen schnellen Blick auf eine Webseite zu werfen.
Unter diesen Browsern ist z.B netsurf, welcher eine befriedigende Startzeit hatte und Seiten schnell darstellt. Im Vergleich mit Opera startete er etwas schneller, hat aber auch deutlich weniger Features.
Ein extrem schnelles Programm war schon immer Dillo. Leider war auch die Darstellung von Webseiten sehr rudimentär. Schnell ja, aber kaum Features. Dillo2 steht nun in den Startlöchern und ist weiterhin ausgesprochen schnell. Viele gut strukturierte Webseiten lassen sich mit Dillo2 ohne Probleme darstellen. Leider gab es mit einer wichtigen Bibliothek Lizenzprobleme, wodurch die Aufnahme in Debian zeitweise gefährdet war. Das Problem scheint gelöst und ich hoffe auf die baldige Aufnahme in squeeze.
Schließlich gibt es noch die Kategorie der Textbrowser. Textbrowser scheinen nur etwas für Puristen zu sein und zugegeben für längere Internetrecherchen sind sie mir eine Spur zu spartanisch. Es gibt aber dennoch Anwendungsmöglichkeiten, wo ich sie für sinnvoll und für eine gute Alternative halte. Zum Beispiel hielt ich es bis vor kurzem für unmöglich youtube Videos auf speedy anzuschauen. Ein genialer Blogeintrag, elinks und mplayer haben das aber dann doch möglich gemacht. Da selbst auf  leistungsfähigeren Rechnern die Wiedergabe von Flashvideos im Browser eine Qual sein kann, gehe ich darauf später noch mal ausführlich ein.
Mit uzbl gibt es noch einen Browser, der sich explizit der UNIX-Philosophie verschrieben hat und Darstellung, Browsen und Extras klar trennt. Er ist ziemlich schnell und setzt ebenso wie Midori auf WebKitGTK+ als Rendering Engine.

Pdf

Als PDF Betrachter kamen bisher immer xpdf oder evince in Frage. Evince ist etwas zu schwerfällig und xpdf befindet sich nicht mehr in squeeze. Dafür gibt es nun epdfview, was einen sehr guten Job macht und zu empfehlen ist.

IRC und Chat

Ab und zu ist er doch ganz nützlich, der Internet Relay Chat oder kurz IRC genannt. Insbesondere erhält man teilweise gute Tipps zu debianspezifischen Problemen oder einfach nur gute Unterhaltung, wenn es mal wieder heißt: "Debian IS NOT Ubuntu!!".
Der IRC Client meiner Wahl ist normalerweise XChat. Um Systemressourcen weiter zu schonen empfehle ich irssi. In Verbindung mit rxvt-unicode ein echter Gewinn.
Als leichtgewichtiges Chatprogramm hat sich centerim herausgestellt.

Systemmonitor

Wer das Kommando top kennt und mag, wird htop sicher noch besser finden. Endlich lassen sich Systemprozesse intuitiv vertikal und horizontal scrollen. Eine weitere ressourcensparende Alternative ist conky. Conky lässt sich über eine Text-Datei konfigurieren und es gibt schon zahlreiche verfügbare Configs im Netz zu finden.

Musik

Hier fiel meine Wahl auf den Music Player Daemon (mpd) und als Client ncmpc. Die Client-Server Architektur erscheint zuerst etwas merkwürdig. Das Gute daran ist aber, dass der Server sich auch über ein Netzwerk kontrollieren lässt, Server und Client also nicht auf dem gleichen Rechner laufen müssen. Dazu benötigen beide nur sehr geringe Ressourcen. Wer grafische Clients mag und noch etwas RAM übrig hat, sollte sich die Clients sonata oder ario anschauen.
Mit MOC und dem Audio Frontend cplay stehen weitere Möglichkeiten offen.

Textverarbeitung

Lange Textkolonnen in speedy zu hacken ist auf die Dauer ziemlich anstrengend. Zu klein, zu unkomfortabel ist das Tastaturlayout. Immerhin liegen die Stärken dieses Netbooks aus dem Jahre 1999 auch mehr in Portabilität und Stil 😉
Wer trotzdem nicht auf Textverarbeitung verzichten will, hat die Auswahl zwischen Open Office (komplette Office Suite, aber erst ab 128MB+ zu genießen) und Abiword. Wer nur einen einfachen grafischen Texteditor braucht, findet mit leafpad alles was er braucht. Wenn ich auf älteren Rechnern Texte oder Code editieren muss ist vim immer eine gute Alternative.

Zum Schluss

Wie man schnell feststellen kann, gibt es eine Gratwanderung zwischen grafischen und text/ncurses basierten Programmen. Programme wie alpine, htop, centerim, irssi und elinks würden auch ohne grafische Oberfläche X auskommen. Man sieht also schnell, dass mit einem aktuellen Linuxkernel und ressourcenschonenden Programmen selbst etwas ältere PCs noch immer produktiv nutzbar sein können.
Es gibt natürlich noch zahlreiche andere leichtgewichtige Programme. Die Liste ist bei weitem nicht vollständig und rein subjektiv. Zumindest funktionieren alle oben beschriebenen Programme in der Form auf meinem Laptop. Wer eine gute Aufzählung mit weiteren "lightweight" Linux Anwendungen sucht, findet diese z.B. im Wiki auf Archlinux.org oder bei GuNNiX.