Tengo alrededor de 300 gigas de archivos ALAC (contenedor m4a) con metadatos bien cuidados, carátulas de álbumes, etc. (Fuente original: copias de CD con dbPowerAmp). Quiero convertir mi biblioteca de música a AAC de 128 kbps (todavía m4a) para ahorrar espacio en el disco duro en un servidor pequeño.
La solución que espero es una opción basada en ffmpeg
la línea de comandos usando o similar. No hay nada específico de Mac en hacerlo de esa manera, pero dado que son todos los códecs de Apple y estoy haciendo la conversión en una caja de Mountain Lion, pensé en preguntar aquí. Puedo manejar la mayoría de las secuencias de comandos de Shell por mí mismo, pero no sé ffmpeg
lo suficiente como para estar seguro de que conserva los metadatos y la carátula del álbum.
He hecho una conversión en el pasado con iTunes 10; hay un truco en el que manipulas "Convertir canciones de velocidad de bits más alta a AAC de 128 kbps". Pero la calidad de conversión no es suficiente. iTunes reescribe los nombres de archivo en varias circunstancias, particularmente cuando se trata de cualquier nombre que no sea ASCII. Además, se necesitan más de 20 horas para realizar la conversión y no hay una forma clara en iTunes de realizar un seguimiento de lo que se convierte si se interrumpe el lote.
Me doy cuenta de que esta no es una solución de línea de comandos, pero uso Max para convertir archivos FLAC y ALAC a AAC y MP3, y mantiene los metadatos intactos.
Es una aplicación muy ligera.
También hay enlaces de descarga e instrucciones en el sitio sobre cómo crear la aplicación desde la fuente, por lo que quizás las partes móviles de ALAC a AAC con conversión de metadatos se puedan discernir desde allí.
Además, antes de comprimir fragmentos sin pérdida para ahorrar espacio, tal vez pruebe TuneSpan y coloque su audio sin pérdida en un almacenamiento externo.
Esto parece conservar las etiquetas más comunes pero no la portada (editado para agregar -vn
):
ffmpeg -i alac.m4a -vn -acodec libfaac -aq 110 aac.m4a
-aq 110
es de unos 130 kb/s para archivos de música normales. -aq 400
sería de unos 270 kb/s.
Si tiene 4 núcleos, esto ejecuta hasta 4 procesos paralelos:
find . -name \*.m4a | parallel ffmpeg -i {} -vn -acodec libfaac -aq 110 {.}-aac.m4a
-vn
bandera a ffmpeg para que ignorara la carátula del álbum; estaba identificando un Stream #0:1: Video: mjpeg, yuvj420p, 250x243
en el archivo de entrada y luego fallando al convertir con height not divisible by 2 (250x243)
Usar mp4info de mp4v2 Veo que la mayoría de mis metadatos se transfirieron, pero no el Disco: 1 de 1 o Pista: 1 de 10 campos de mi original. Y luego está la carátula del álbum. ¿Puede ffmpeg
manejar la carátula del álbum m4a? ¿Hay alguna otra herramienta que pueda usar para procesar posteriormente el audio convertido?AtomicParsley puede eliminar/agregar carátulas de álbumes desde la línea de comandos
bot47