2012-07-25 15 views
6

Estoy escribiendo un script para convertir archivos AAC a MP3, específicamente para que pueda grabarlos en CD de MP3, ya que iTunes no transcodificará sobre la marcha. He adaptado el código de Write a simple python script to convert all .wav files in a specific folder to .mp3 using lameConvierta archivos AAC (.m4a) a .mp3 en el directorio

Actualmente convierte el primer archivo en el directorio y luego se detiene.

Tengo un conocimiento superficial de Python, pero no el módulo de subproceso. Pasé por los documentos y no puedo ver por qué no continúa procesando los archivos.

#!/usr/bin/env python 

import os 
import os.path 
import sys 
import subprocess 

OUTPUT_DIR = '/Users/matt/Desktop/mp3/' 

def main(): 
    path = os.getcwd() 
    filenames = [ 
     filename 
     for filename 
     in os.listdir(path) 
     if filename.endswith('.m4a') 
     ] 

    for filename in filenames: 
     subprocess.call([ 
      "ffmpeg", "-i", 
      os.path.join(path, filename), 
      "-acodec", "libmp3lame", "-ab", "256k", 
      os.path.join(OUTPUT_DIR, '%s.mp3' % filename[:-4]) 
      ]) 
     return 0 

if __name__ == '__main__': 
    status = main() 
    sys.exit(status) 
+0

Sé que esta es una pregunta antigua y probablemente ya lo haya hecho, pero convertir AAC en MP3 es una mala idea ya que perderá calidad dos veces (ambos son formatos con pérdida). Deberías volver a extraer los archivos del CD para asegurarte de que tienes los MP3 de mejor calidad. – Cromulent

+0

@Cromulent ¡Bien enterado! El contexto para esto es crear CD de MP3 para mi automóvil (el archivo adjunto de iPhone es> $ 180) de mi biblioteca de iTunes AAC existente, sin hacerlo a través de iTunes (que agrega automáticamente los archivos MP3 a la biblioteca). Como no estoy reproduciendo música a través de equipos de nivel de audiófilo, y como empiezo con ~ 256k + archivos AAC, la pérdida es aceptable. – elithrar

Respuesta

8

Usted tiene un return 0 dentro de su bucle for. Parece un error tipográfico. Cambie a la izquierda 4 espacios para que se alinee con el for.

+0

Genial, gracias. Me alegro de que haya sido solo un error tipográfico; una de esas cosas que puedes mirar y perder. – elithrar

Cuestiones relacionadas