Wie kann ich die falsche MP3-Dauer korrigieren?


22

Ich habe eine Reihe von Songs in meiner Musikbibliothek, die falsche Werte für die Dauer anzeigen und daher nur teilweise in Clementine abgespielt werden. In Banshee und einigen anderen Spielern zeigen sie unterschiedliche Dauerwerte und spielen manchmal das ganze Lied.

Gibt es eine Möglichkeit, das Problem zu beheben, ohne das Lied "neu codieren" zu müssen?

Antworten:


24

MP3 Diags können falsche Laufzeiten (und andere Fehler) beheben. Es ist Open Source und in den Repositories. Es ist ein GUI-Tool.

Installation

sudo apt-get install mp3diags mp3diags-doc

Eine weitere Option ist MP3val , die entweder über die Kommandozeile oder über die GUI verwendet werden kann:

Installation

sudo apt-get install mp3val

Anwendungsbeispiel

mp3val damaged.mp3 -f -t

-f: Fehler beheben,: -tOriginal-Zeitstempel beibehalten


Das hat bei mir funktioniert. Ich verwende cat, um Hörbuchteile in einer Datei zu kombinieren ( cat 1.mp3 2.mp3 > out.mp3) und das funktioniert gut für die Wiedergabe, aber fast jeder Spieler wird mit den Zeitstempeln verrückt und mediainfozeigt sogar die Dauer von der ersten Datei anstatt der kombinierten.
Blockloop

catist weniger als ideal für Aufgaben wie das Kombinieren von MP3s. Ein besserer Weg: http://superuser.com/questions/314239/how-to-join-merge-many-mp3-files
phoibos

Warum denkst du, dass? MP3-Dateien sind nicht viel mehr als rohe Streams und sie sind fast der perfekte Kandidat für catnebenbei triviale Nebenwirkungen, die durch eine einfache Neubewertung der Xing-Header-Daten behoben werden. Auch ohne mp3val können die Dateien auf jedem Player abgespielt werden, den ich durchgesendet habe. catist extrem effizient und VIEL schneller als das Umcodieren mit ffmpeg. Auch mit dem hinzugefügten Befehl mp3val.
Blockloop

ffmpegmit concatund -acodec copywird nicht neu codiert - es kopiert nur die Streams (so ist es schnell), sondern erstellt an erster Stelle eine richtige Datei (ohne dass unnötige Header- und Tag-Daten mehrmals in den resultierenden Dateien erscheinen).
Phoibos

10

Wenn Sie nichts Neues installieren möchten, versuchen Sie es mit ffmpeg :

ffmpeg -i file_orig.mp3 -acodec copy file_fixed.mp3

Perfekte Lösung, funktioniert auch, wenn die falsche MP3-Datei von ffmpeg selbst erstellt wurde!
Pierpaolo Cira

Dies funktionierte tatsächlich für mich, als die mp3valund mp3checkLösungen nicht. (Nur um sicherzugehen, es wird nicht neu codiert, oder?)
Noldorin

Mit -acodec copy wird nicht neu codiert. Wenn Sie überprüfen möchten, versuchen Sie es mit und ohne und überprüfen Sie, wie schnell es geht.
Alcaro

1

Abgesehen von den VBR-Headern, die nicht mit dem tatsächlichen Audio übereinstimmen (das Sie mp3valwie in der anderen Antwort erwähnt korrigieren würden ), kann dies auch daran liegen, dass eine MP3-Datei mit einem ID3-Tag einen falschen Wert für das TLENTag aufweist. Sie können dies mit dem mid3v2Tool aus dem mutagenPaket beheben , um das Tag zu entfernen (anscheinend ist es optional):

$ mid3v2 --delete-frames=TLEN filename.mp3

Der Musik-Player Quodlibet verfügt auch über ein praktisches Plugin "Fix MP3 Duration", mit dem Sie dies tun können.

(Entnommen aus den häufig gestellten Fragen zu Quodlibet: http://quodlibet.readthedocs.org/en/latest/guide/faq.html )


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.