QMMP & MP3 & Fedora 24

Na, auf Fedora 24 aktualisiert und der MP3 Sound ist weg ?

Kein Problem. Alles was wir brauchen sind Nerven aus Stahl und eine Rootkonsole 😀

Zunächst mal ladet Ihr Euch alle Pakete zu Eurer Prozessorversion von dieser Seite runter :

http://koji.fedoraproject.org/koji/buildinfo?buildID=710733

Debug und Infomodule braucht man nicht und Ja, das sind die Pakete für Fedora 23.. das macht nichts.

Dann ladet Ihr die alten QMMP Packs von RPMFusion runter, die beim Update gelöscht wurden:

http://download1.rpmfusion.org/free/fedora/releases/23/Everything/x86_64/os/Packages/q/


dnf erase qmmp*

cd ~/Downloads
rpm -i -nodeps qmmp*

VORHER prüfen, ob auch nur die RPMs in dem Verzeichnis sind, die man installieren will, ansonsten installiert rpm nämlich alles durcheinander.

Das wars schon. MP3 Wiedergabe geht wieder.

FLAC auf Linux abspielen

Free Lossless Audio Codec, kurz Flac, ist ein verlustloses Dateiformat, was man auch daran sieht, daß die Dateien echt groß sind, z.B. 31 MB für diesen Song unten. Das MP3 mit 320kbit Encoding ist nur 1/3 so groß.

Wer Nautilius als Filemanager hat und seine Musik mit QMMP wiedergibt, der hat es wirklich einfach Flac abzuspielen. Dazu muß man QMMP nur im Nautilus als Defaultanwendung für Flac angeben:

Eigenschaftenmenü der FLAC Datei

Eigenschaftenmenü der FLAC Datei

Rhythembox kann zwar auch Flac, aber das ist kein Programm, daß man zum Hören von Musik nebenbei laufen lassen will. Das kompaktere QMMP als AMP Ersatz ist da natürlich besser geeignet, zumal es auch lizenzbehaftete Musikdateien abspielt.

Wer Flac kodieren will, braucht natürlich erstmal ein Rohdatenfile in dem die Daten verlustlos vom Musikträger kommt. Es macht z.b. keinen Sinn, ein 128 kbit mp3 in Flac umzuwandeln, dadurch wird es nicht besser, nur größer 😉 hat man sowas, kann man ffmpeg einsetzen, der dann Dank Encoder Flake, ein Flac File erzeugen kann.

Beispiel:

ffmpeg -i ‚/home/marius/Boston – More Than A Feeling – 320k VENYL.mp3‘ -c:a flac ‚/home/marius/Boston – More Than A Feeling – 320k VENYL.flac‘

Wie man am Beispiel sieht, habe ich zu Testzwecken das Flac aus einem MP3 erzeugt, es können aber dank FFmpeg so ziemlich alle Format verwendet werden, die es gibt. Die durchschnittliche Kompressionrate von Flac liegt bei 1,8x zum Original.

FFMpeg kann viele verscheidene verlustlose Codecs benutzen:

 D..... = Decoding supported
 .E.... = Encoding supported
 ..V... = Video codec
 ..A... = Audio codec
 ..S... = Subtitle codec
 ...I.. = Intra frame-only codec
 ....L. = Lossy compression
 .....S = Lossless compression
 D.VI.S cllc                 Canopus Lossless Codec
 D.VI.S lagarith             Lagarith lossless
 .EVI.S ljpeg                Lossless JPEG
 D.VI.S mszh                 LCL (LossLess Codec Library) MSZH
 D.VI.S vble                 VBLE Lossless Codec
 D.V..S zerocodec            ZeroCodec Lossless Video
 DEVI.S zlib                 LCL (LossLess Codec Library) ZLIB
 DEA..S alac                 ALAC (Apple Lossless Audio Codec)
 DEA..S flac                 FLAC (Free Lossless Audio Codec)
 D.A..S mlp                  MLP (Meridian Lossless Packing)
 D.A..S mp4als               MPEG-4 Audio Lossless Coding (ALS) (decoders: als )
 D.A..S ralf                 RealAudio Lossless
 .EA... sonicls              Sonic lossless
 D.A..S tak                  TAK (Tom's lossless Audio Kompressor)
 D.A..S wmalossless          Windows Media Audio Lossless

Für das Kodieren von Audiodaten kommen also  „ALAC“,“FLAC“ und „Sonicls“ infrage.

Obige Liste bekommt man so :  ffmpeg -codecs | grep -i -E „(lossless|=)“

Kleine Randnotiz: Marianne war, Zitat: „Das schönste Mädchen, das ich (als Junge) je gesehen hatte.“ so Komponist & Texter Tom Scholz, der das Lied in seiner Garage aufgenommen hatte. Mary Jane dagegen, Gegenstand der Beatle Songs, war ein Pseudonym für Drogen aller Art. Die Band Boston wurde mit dem Lied auf einen Schlag weltberühmt und das Album war jahrelang ein Bestseller in den Läden, mit über 17 Millionen verkauften Alben, allein in den USA. Der Gag, Tom Scholz hat am MIT die Polaroid Technik entwickelt und mit der Kohle seine Musikaustattung gekauft. Vom Foto-Chemie Studenten zum Musiker, alle Achtung.

 

YUM: Abhängigkeitsprobleme lösen

Es kann vorkommen, daß einzelne Abhängigkeiten bei einem Update über mehrere Repositories nicht aufgelöst werden können. Z.b. weil im Fedora Hauptrepo eine neuere Version des Pakets verteilt werden soll, wie in den anderen Repos referenziert werden. Oder anders ausgedrückt, jemand hat sein Update noch nicht fertig und hinkt hinterher.

Am Beispiel des jüngsten QMMP Updates, möchte ich das mal verdeutlichen :

---> Paket qmmp.x86_64 0:0.7.4-1.fc20 markiert, um aktualisiert zu werden
 --> Abhängigkeit qmmp(x86-64) = 0.7.4 wird für Paket qmmp-plugins-freeworld-0.7.4-1.fc20.x86_64 verarbeitet
 --> Abhängigkeitsauflösung beendet
 --> Transaktionsprüfung wird ausgeführt
 ---> Paket qmmp.x86_64 0:0.7.4-1.fc20 markiert, um aktualisiert zu werden
 --> Abhängigkeit qmmp(x86-64) = 0.7.4 wird für Paket qmmp-plugins-freeworld-0.7.4-1.fc20.x86_64 verarbeitet
 --> Abhängigkeitsauflösung beendet
 Fehler: Paket: qmmp-plugins-freeworld-0.7.4-1.fc20.x86_64 (@rpmfusion-free-updates)
 Benötigt: qmmp(x86-64) = 0.7.4
 Entfernen: qmmp-0.7.4-1.fc20.x86_64 (@updates)
 qmmp(x86-64) = 0.7.4-1.fc20
 Aktualisiert durch: qmmp-0.7.7-1.fc20.1.x86_64 (updates)
 qmmp(x86-64) = 0.7.7-1.fc20.1
 Verfügbar: qmmp-0.7.2-1.fc20.x86_64 (fedora)
 qmmp(x86-64) = 0.7.2-1.fc20
 Sie können versuchen, mit --skip-broken das Problem zu umgehen.
 Sie könnten Folgendes versuchen: rpm -Va --nofiles --nodigest

Was steht da jetzt wirklich ?

QMMP soll von 0.7.4 auf 0.7.7 aktualisiert werden,
ABER das qmmp-plugins-freeworld-0.7.4-1 Paket braucht 0.7.4-1 und nicht 0.7.7 .

Den Vorschlag SKIP BROKEN kann man einfach vergessen. Der Zustand kommt öfter vor,
deswegen hier gleich mal die Lösung:

 #  vi /etc/yum.conf

Ans Ende der Main-Sektion schreibt man nun einfach „exclude=qmmp*“ .

Das könnte dann so aussehen :

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3
exclude=qmmp*

#  This is the default, if you make this bigger yum won't see if the metadata

Ein „yum update“ wird jetzt durchlaufen. In einer Woche können wir dann mal nachsehen, ob das qmmp-plugins-freeworld Paket auf Stand ist.