Conversión de wma a mp3 a granel sin cambiar el directorio

8

Tengo miles de pistas de música en formato WMA de cuando solía usar Windows Media Player para copiar CD. Ahora tengo problemas para reproducirlos en mi escritorio Linux en el trabajo.

¿Existe una buena solución (para Windows o Linux) para convertir todos los WMA a MP3 y dejarlos en los mismos directorios que antes? Intenté usar iTunes para hacerlo, pero comenzó a crear nuevos directorios para almacenar todas las pistas convertidas, lo que no quiero.

Remolino
fuente
1
En Linux (¿qué distribución, por cierto?) Alguna combinación de find -execdiry ffmpegdebería hacerlo, pero haré alguna prueba antes de publicar una respuesta.
William Jackson
2
Tenga en cuenta que cada vez que convierte entre formatos con pérdida, pierde calidad. Si esa pérdida de calidad es audible depende de la calidad original, del codificador que esté utilizando para la transcodificación, su equipo de reproducción y sus oídos. Si fuera yo, buscaría volver a extraer los CD (si es posible) en lugar de transcodificar. Aunque sé que eso lleva mucho más tiempo. También puede considerar el almacenamiento de sus CDs rasgados en un formato sin pérdida (FLAC es mi favorito, pero hay otros), y transcodificación que a MP3 para su reproductor portátil de MP3, etc, que por supuesto requiere más espacio en disco.
Flimzy
@William: En el trabajo uso openSUSE, en casa uso linux mint (ubuntu) y windows 7. Tendré que revisar ffmpeg cuando tenga tiempo y ver si puedo escribir un script bash o algo así. Si publicas una respuesta que funciona, lo marcaré
Eddy, el
@Flimzy: Intentaré convertir algunas pistas y verificar de oído si noto la pérdida de calidad. No soy un audiófilo, así que sospecho que probablemente esté bien para mí, pero mejor prevenir que lamentar, supongo
Eddy
Utilizo DB PowerAmp Music Converter para este increíble software, pero no es gratuito (se requiere licencia mp3) ... dbpoweramp.com/dmc.htm
Moab

Respuestas:

6

Si tiene miles de archivos, esto tomará una eternidad.

find . -iname "*.wma" -execdir ffmpeg -i {} -ab 192k -map_metadata 0:s:0 {}.mp3 \;

(Las versiones anteriores de ffmpeg pueden necesitar en -map_meta_datalugar de -map_metadata, en 0:0lugar de 0:s:0).

Probé esto en Ubuntu 16.04. Si aún no lo ha hecho, necesita instalar los paquetes ffmpegy libavcodec-extra-52.

Inicie este comando desde el directorio principal que contiene todos sus archivos WMA. Buscará en todos los subdirectorios cualquier archivo con una .wmaextensión e intentará convertirlo a MP3. Si se nombra el archivo fuente Awesome Song.wma, el nuevo archivo estará Awesome Song.wma.mp3y estará en el mismo directorio que el archivo fuente.

Si normalmente utiliza una tasa de bits superior o inferior a 192k, cambie el -ab 192kindicador a lo que desee.

William Jackson
fuente
1

Este indicador agregado le dirá a ffmpeg que intente y conserve las etiquetas ID3:

find . -iname "*.wma" -execdir ffmpeg -i {} -ab 192k **-map_metadata 0:0** {}.mp3 \;
normod
fuente
1

Este encuentra los archivos WMA, los convierte a MP3 con un nombre de extensión limpio en .mp3lugar de .wma.mp3y elimina el archivo antiguo. Se ha probado que funciona en Fedora 19 mientras busca archivos WMA a través de 150 GB de archivos organizados por artist/album/<disk number>/file.

find . -iname "*.wma" -execdir bash -c 'NAME="{}" && ffmpeg -y -i "$NAME" -ab 192k "${NAME/.wma/.mp3}" && rm "$NAME"' \;
Randell
fuente
Funciona en una Mac, parece preservar algunos metadatos también. Aunque recibí muchas Queue input is backward in time [mp3 @ 0x7fbffb02ba00] Application provided invalid, non monotonically increasing dts to muxer in streamadvertencias.
adib