Convierta ALAC a aac 128k con todos los metadatos intactos

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 ffmpegla 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é ffmpeglo 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.

No CLI, pero podría hacer el trabajo: XLD

Respuestas (3)

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.

http://sbooth.org/Max/

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.

http://tunespan.com/#show_demo

¿Algún consejo sobre el uso de Max en 300 gigas de fuente de entrada? Parece funcionar completamente en mi archivo de muestra; la carátula del álbum se transfiere, mp4info de mp4v2 muestra que se conservan todas las etiquetas de metadatos.
Nunca procesé por lotes más de un puñado de copias FLAC (~5 GB) a la vez. Entonces, en cuanto a pausar o realizar un seguimiento de los archivos convertidos, no tengo ningún consejo. Sin embargo, hay opciones para agregar automáticamente pistas a una lista de reproducción de iTunes específica una vez que se han convertido, lo que puede ayudar un poco. Si decide seguir esa ruta, recomendaría usar las instrucciones en esta publicación del foro para evitar que el importador de iTunes arroje errores al importar los archivos: forums.sbooth.org/…
Gracias. Debo agregar que he verificado que Max no se rompe en etiquetas y nombres de archivo que no son ASCII. Está cambiando el nombre de los archivos de salida (y agregando un número de disco), pero puedo vivir con eso.
Hay un panel para personalizar los nombres de los archivos de salida: grab.by/j8b0 Sin embargo, esto establecerá un patrón para todos los archivos convertidos, lo que no resolverá su problema si las convenciones de nombres varían.
He terminado una conversión completa y parece haber ido bien. Max transcodificará en paralelo, por lo que es significativamente más rápido que iTunes; convirtió 300 gigas en 3,5 horas y evitó todo el problema de pausa/reinicio.

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 110es de unos 130 kb/s para archivos de música normales. -aq 400serí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
Gracias, esto es útil. Tuve que agregar la -vnbandera a ffmpeg para que ignorara la carátula del álbum; estaba identificando un Stream #0:1: Video: mjpeg, yuvj420p, 250x243en 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 ffmpegmanejar 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

¿Puede agregar un enlace al software?
Ver superuser.com/questions/524100 para más detalles