Seite 1 von 1
AAC und MP3 Dateien nach MP3 konvertieren
Verfasst: Samstag 16. April 2011, 16:39
von devek
Hallo,
ich möchte gerne einen ganzen Stapel AAC und MP3 Dateien, deren Bitraten zwischen 256 und 320 kBit/s liegen in MP3 mit 128 kBit/s konvertieren.
Bisher habe ich das hier gebastelt:
Code: Alles auswählen
if engine == "lame":
command = 'lame --quiet -b %d "%s" "%s"' % (bitrate, infile, outfile)
if engine == "ffmpeg":
command = 'ffmpeg -i "%s" -acodec libmp3lame -ac 2 -ab %d "%s"' % (infile, bitrate*1024, outfile)
os.system(command)
Das Problem ist nur, dass weder das eine, noch das andere Programm die Metadaten richtig übernehmen. Gibt es eventuell die Möglichkeit das direkt aus Python zu erledigen?
Grüße,
devek
Re: AAC und MP3 Dateien nach MP3 konvertieren
Verfasst: Samstag 16. April 2011, 19:30
von problembär
Vielleicht liegt's an den " und der %-Konstruktion. Versuch doch mal, den String über '+' aufzubauen und laß Dir mit 'print' ausgeben, was genau an os.system() geschickt wird.
Oder probier' das mal mit subprocess. Da werden die Argumente AFAIR in einer Liste übergeben, um solche Probleme zu vermeiden.
Gruß
Re: AAC und MP3 Dateien nach MP3 konvertieren
Verfasst: Samstag 16. April 2011, 20:25
von lunar
@devek: In der Dokumentation von "ffmpeg" wird die Option "--map_metadata" beschrieben, mit der man die Metadaten wohl kopieren kann. Ansonsten kannst Du das Modul "mutagen" verwenden, um die Metadaten manuell aus der Quelldatei auszulesen und in die Zieldatei zu schreiben.
Nutze bitte "subprocess" zur Ausführung der Prozesse. Damit kannst Du die Befehle bequem als Liste zusammen bauen, ohne umständlich mit Anführungszeichen und Zeichenkettenformatierung zu hantieren.
Falls es Dir nicht um die Übung in Python, sondern nur um das Ergebnis geht, ist es vielleicht wohl sinnvoller, einfach ein bereits existierendes Programm wie SoundKonverter oder Perl Audio Converter zu nutzen, anstatt das Rad neu zu erfinden
Re: AAC und MP3 Dateien nach MP3 konvertieren
Verfasst: Samstag 16. April 2011, 20:38
von busfahrer
Hallo
wie @lunar schon schrieb gibt es für ffmpeg die Option "-map_meta_data". Das würde dann vereinfacht so aussehem
Gruß...busfahrer
Re: AAC und MP3 Dateien nach MP3 konvertieren
Verfasst: Samstag 16. April 2011, 20:40
von devek
Danke für den Tipp, mit
funktioniert es jetzt gut.
Es geht bei meinem Programm darum, dass ich eine Ordnerstruktur genau abbilde, und dabei alles in 128 kBit/s zu konvertieren. Die Speicherkarte meines Handys reicht nicht mehr aus. Und so möchte ich jetzt alles konvertieren, brauche dabei allerdings die Flexibiltät mit os.path.walk und vor allem diversen Stringoperationen auf die Dateinamen.
Subprocess schreibe ich auf meine Leseliste.
Das Ergebnis ist inzwischen fertig, sieht noch ziemlich gruselig aus, macht aber, was es soll