#!/usr/bin/python # -*- coding: utf8 -*- import os import os.path import tempfile dvdFolder = "/tmp/concierto" #Carpeta del DVD outFolder = "/tmp/mp3" #Carpeta para los MP3 dvdTitle = 1 #Titulo del DVD a ripear artist = "Mi artista favorito" album = "Concierto en no se donde" year = 2010 #Valor numérico o None genre = 18 #Valor numérico o None # Para una lista de los géneros lame --genre-list # o aquí http://www.multimediasoft.com/amp3dj/help/index.html?amp3dj_00003e.htm #Lista con los títulos de las canciones trackList = ["Canción 1", "Canción 2", "Canción 3", "Canción 4", "Canción 5"] # El valor de preset puede ser "medium" "standard" "extreme" "insane" "cbr <bitrate>" preset = "extreme" deleteWav = True #Eliminar archivos wav intermedios ### A partir de aquí no tocar ### testing = False cmdExtractTemplate = "mplayer dvd://%i -dvd-device \"%s\" -chapter %i-%i -vo null -vc null -ao pcm:fast:file=\"%s\"" cmdEncodeTemplate = "lame --nohist --pad-id3v2 --preset %s %s \"%s\" \"%s\"" mp3Template ="%s/%s - %s.mp3" tagTemplate = "--tt \"%s\" --ta \"%s\" --tl \"%s\" --tn \"%s\"" tmpFolder = tempfile.mkdtemp() tmpWavFile = "%s/track%s.wav" #Check output dir if not os.path.isdir(outFolder): os.mkdir (outFolder) trackNumber = 1 for title in trackList: trackNumberString = ("0" + str (trackNumber)) [-2:] wavFile = tmpWavFile % (tmpFolder, trackNumberString) cmd = cmdExtractTemplate % (dvdTitle, dvdFolder, trackNumber, trackNumber, wavFile) print "Extracting audio wav...", cmd if not testing: os.system(cmd) #Elimino caracteres que pueden ser conflictivos cleanTitle = title.replace ("?","_").replace(".","_").replace ("/","_") mp3File = mp3Template % (outFolder, trackNumberString, cleanTitle) tag = tagTemplate % (title, artist, album, trackNumber) if year: tag = tag + " --ty " + str(year) if genre: tag = tag + " --tg " + str(genre) cmd = cmdEncodeTemplate % (preset, tag, wavFile, mp3File) print "Encoding to mp3...", cmd if not testing: os.system (cmd) if deleteWav: if not testing: os.remove (wavFile) trackNumber += 1
Relacionado:
Extracción del audio de un DVD por capítulos desde Linux. Parte I
No hay comentarios:
Publicar un comentario