Wie man MP3-Dateien neu codiert

10

Ich habe eine ganze Reihe von MP3-Dateien, die ich mit audiohijack pro auf einem Mac erstellt habe. Jetzt habe ich keinen Mac mehr und benutze sie auf meinen Linux-Systemen. Leider kann das Programm, mit dem ich diese Dateien anhöre (Rhythmusbox), nicht herausfinden, wie lang die Dateien sind. Diese Dateien sind bis zu 5 Stunden lang, und wenn das Programm nicht herausfinden kann, wie lange es dauert, kann ich nicht durch die Datei scrollen. Gibt es Unix- / Linux-Programme, die diese Dateien neu codieren können? Ich weiß weder über Audio unter Linux noch über das MP3-Dateiformat genug, um zu wissen, worum es dabei geht.

Am besten, Bart

Kasterma
quelle

Antworten:

6

Die Frage in Ihrem Titel wird nicht beantwortet, aber möglicherweise besteht die Möglichkeit, die Dateien zu reparieren, ohne sie neu zu codieren. Ein häufiges Problem bei falschen Längen von MP3-Dateien sind beispielsweise Dateien mit variabler Bitrate, die nicht ordnungsgemäß als mit variabler Bitrate gekennzeichnet sind (und Programme wie Rhythmbox behandeln sie so, als hätten sie eine konstante). Das Tool vbrfix kann diese Dateien reparieren. Ein weiteres nützliches Tool zum Überprüfen der MP3-Datei ist mp3check . Es verfügt auch über solche Optionen --fix-headers, mit denen die Dateien repariert werden können ( sichern Sie zuerst die Dateien!).

Marcel Stimberg
quelle
Nett. Dies scheint ein sehr nützliches Werkzeug zu sein.
Steven D
1
"für i in 1 2 3 4 5; do vbrfix -always -log EndersGame $ i.mp3 EG $ i.mp3; done" war der Befehl, den ich zum Speichern einiger Eingaben verwendet habe.
Kasterma
Ich verstehe wirklich nicht, warum das Verknüpfen mit einem beschissenen Programm, das unter Windows entwickelt und erst später auf Linux portiert wurde (daher nicht einmal skriptfähig, tsk tsk), dies zur akzeptierten Antwort machte! (Also habe ich die Antwort abgelehnt)
ixtmixilix
@ixtmixilix - Für vbrfix atleast sind die Binärdateien, die sie auf dem Link kompiliert haben, für windowz, da es das ist, was viele Leute leider verwenden. Versionen für Linux sind an anderer Stelle verfügbar ( und scheinen auch in Ubuntu 12.04+ enthalten zu sein ). Sie können auch versuchen, den verfügbaren Quellcode zu verwenden . Der mp3check Link ist zwar tot ....
Wilf
OK vbrfix funktioniert perfekt - wie ich Fedora verwenden, ich die heruntergeladenen Quellen für die Ubuntu - Version , verwendet dpkg-source -x vbrfix_0.24-7.dscsie zu extrahieren, wenden Sie Patches usw., dann ./configure --prefix='/home/wilf/Downloads/fsbOPEN/vbrfix/makeinstall', makeund make installein eigenständiges erregbar zu produzieren , dass ich auf meine Dateien verwenden könnte. Ich musste die -alwaysOption analysieren , damit es funktioniert.
Wilf
8

Ich weiß zwar nicht genau, ob zusätzliche Optionen erforderlich wären, um das von Ihnen erwähnte Problem zu beheben, aber ffmpeg ist es

Eine vollständige plattformübergreifende Lösung zum Aufzeichnen, Konvertieren und Streamen von Audio und Video.

Es ist das Schweizer Taschenmesser für Audio und Video. Das Neucodieren Ihrer Dateien sollte so einfach wie möglich sein

$ ffmpeg -i oldfile.mp3 newfile.mp3

ffmpeg befindet sich in den Repositories der meisten großen Distributionen oder kann von deren Website heruntergeladen werden.

Steven D.
quelle
Dies scheint mir eine vernünftigere Antwort zu sein. Offensichtlich hat das OP viele Dateien und weiß wahrscheinlich, wie man eine Befehlszeile öffnet, obwohl man sich heutzutage Sorgen macht, und tatsächlich beantwortete diese Antwort tatsächlich die Frage, die ich stellen wollte. Also habe ich es positiv bewertet. Sie erwerben gutes SE-Karma, @Steven D, obwohl Ihre Antwort keine Stimmen erhielt, bis ich es sah.
ixtmixilix
1
Ich habe ein ähnliches Problem und habe bereits ffmpeg ausprobiert und es hat größtenteils funktioniert: D, aber ich habe ein paar Dateien, auf denen es unter Berufung auf Invalid data found when processing input... beendet wurde.
Wilf
3

Es ist möglich, dies mit lameden id3-Tags zu tun und diese zu übertragen ( hier zu finden ).

find . -type f -iname "*.mp3" | while read file 
do
    mv "$file" "${file}.old" && \
    lame --mp3input -q 0 -b 192 --resample 44.1 "${file}.old" "$file" && \
    id3cp "${file}.old" "$file"
done

Weitere Konvertierungsskripte, die ich geschrieben habe, finden Sie hier: https://github.com/sid-the-sloth/conversion-scripts

woohoo
quelle
0

Versuchen Sie es mit LAME. Ich sollte Sie warnen, dass eine Neucodierung (wahrscheinlich) zu Qualitätsverlusten führen kann.

Xenoterracid
quelle