Konvertieren von wma in mp3 in großen Mengen, ohne das Verzeichnis zu wechseln


8

Ich habe Tausende von Musiktiteln im WMA-Format, als ich Windows Media Player zum Rippen von CDs verwendet habe. Jetzt habe ich Probleme, sie auf meinem Linux-Desktop bei der Arbeit abzuspielen.

Gibt es eine gute Lösung (für Windows oder Linux), um alle WMAs in MP3s zu konvertieren und sie in denselben Verzeichnissen wie zuvor zu belassen? Ich habe versucht, iTunes zu verwenden, aber es wurden neue Verzeichnisse erstellt, um alle konvertierten Titel zu speichern, die ich nicht möchte.


1
Unter Linux (welche Distribution übrigens?) Eine Kombination von find -execdirund ffmpegsollte es tun, aber ich werde einen Test ausführen, bevor ich eine Antwort poste.
William Jackson

2
Beachten Sie, dass Sie bei jeder Konvertierung zwischen verlustbehafteten Formaten an Qualität verlieren. Ob dieser Qualitätsverlust hörbar ist, hängt von der Originalqualität, dem Encoder, den Sie für den Transcode verwenden, Ihrem Wiedergabegerät und Ihren Ohren ab. Wenn ich es wäre, würde ich versuchen, die CDs (wenn möglich) neu zu rippen, anstatt sie zu transkodieren. Obwohl ich weiß, dass das viel länger dauert. Sie könnten auch erwägen Ihre zerrissenen CDs in einem verlustfreien Format speichern (FLAC mein Favorit ist, aber es gibt andere) und Umcodierung , dass für Ihren tragbaren MP3 - Player MP3, usw. Das ist natürlich mehr Speicherplatz benötigt.
Flimzy

@William: Bei der Arbeit benutze ich openSUSE, zu Hause benutze ich Linux Mint (Ubuntu) und Windows 7. Ich muss ffmpeg auschecken, wenn ich Zeit habe und sehen, ob ich ein Bash-Skript schreiben kann oder so. Wenn Sie eine Antwort posten, die funktioniert, werde ich das markieren
Eddy

@Flimzy: Ich werde versuchen, ein paar Tracks zu konvertieren und nach Gehör prüfen, ob ich den Qualitätsverlust bemerke. Ich bin kein Audiophiler, also vermute ich, dass es für mich wahrscheinlich in Ordnung sein wird, aber ich nehme an, es ist sicherer als leid
Eddy

Ich benutze DB PowerAmp Music Converter für diese tolle Software, aber nicht kostenlos (MP3-Lizenz erforderlich) ... dbpoweramp.com/dmc.htm
Moab

Antworten:


6

Wenn Sie Tausende von Dateien haben, wird dies ewig dauern.

find . -iname "*.wma" -execdir ffmpeg -i {} -ab 192k -map_metadata 0:s:0 {}.mp3 \;

(Ältere Versionen von ffmpeg müssen -map_meta_datastatt -map_metadata, 0:0statt 0:s:0.)

Ich habe dies unter Ubuntu 16.04 getestet. Wenn Sie es noch nicht getan haben, müssen Sie die Pakete ffmpegund installieren libavcodec-extra-52.

Starten Sie diesen Befehl aus dem übergeordneten Verzeichnis, das alle Ihre WMA-Dateien enthält. Es durchsucht alle Unterverzeichnisse nach Dateien mit einer .wmaErweiterung und versucht, diese in MP3 zu konvertieren. Wenn die Quelldatei benannt ist Awesome Song.wma, befindet sich die neue Datei Awesome Song.wma.mp3im selben Verzeichnis wie die Quelldatei.

Wenn Sie normalerweise eine höhere oder niedrigere Bitrate als 192 KB verwenden, ändern Sie das -ab 192kFlag nach Ihren Wünschen .


1

Dieses hinzugefügte Flag weist ffmpeg an, die ID3-Tags beizubehalten:

find . -iname "*.wma" -execdir ffmpeg -i {} -ab 192k **-map_metadata 0:0** {}.mp3 \;

1

Dieser findet die WMA-Dateien, konvertiert sie in MP3 mit einem sauberen Erweiterungsnamen .mp3anstelle von .wma.mp3und löscht die alte Datei. Dies wurde getestet, um mit Fedora 19 zu funktionieren, während WMA-Dateien durch Dateien im Wert von 150 GB durchsucht werden, die von angeordnet sind artist/album/<disk number>/file.

find . -iname "*.wma" -execdir bash -c 'NAME="{}" && ffmpeg -y -i "$NAME" -ab 192k "${NAME/.wma/.mp3}" && rm "$NAME"' \;

Funktioniert auf einem Mac und scheint auch einige Metadaten beizubehalten. Obwohl ich viele Queue input is backward in time [mp3 @ 0x7fbffb02ba00] Application provided invalid, non monotonically increasing dts to muxer in streamWarnungen bekommen habe.
Adib


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.