convertir a granel / lote archivos mp3 a ogg a través de la línea de comandos?


44

¿Es posible convertir mp3 a ogg a través de la línea de comando?

Me gustaría convertir de forma masiva mis archivos mp3 a ogg para poder reproducirlos en Firefox sin ningún problema.


Firefox debería reproducir archivos mp3 bien
mchid

Respuestas:


37

Buscando paquetes que coincidan con ogg, encontré dir2ogg que parece ser exactamente lo que quieres. Sólo

sudo apt-get install dir2ogg
dir2ogg -r /path/to/mp3s/

Y encuentra y convierte recursivamente todos los archivos mp3 /path/to/mp3s/a ogg (suponiendo que haya leído el manual correctamente).


30

Use una combinación de FFMPEG y manipulación de cadenas .

Cambie a la carpeta donde se encuentran sus mp3:

cd mp3folder

Un ejemplo es usar un bucle simple "for":

for file in *.mp3
  do ffmpeg -i "${file}" "${file/%mp3/ogg}"
done

Las comillas dobles evitan que los espacios en los nombres de archivo se traten como 'nuevas líneas'.

ffmpeg tiene varias opciones para incluir en la conversión, como códecs, velocidad de bits, tamaño de muestra, estéreo / mono, etc. La anterior es la conversión más genérica con la configuración predeterminada.


Excelente. dir2ogg no funcionaba en sibilante, pero esta respuesta funcionaba como un encanto
Onimusha

dir2ogg tampoco funcionó para mí, pero estaba convirtiendo m4a -> ogg. <a href=" linuxquestions.org/questions/linux-general-1/… "title= linuxquestions.org"> lq </a> pero el bucle for anterior sí lo hizo (reemplazando ffmpeg con avconv). Al convertir m4a / mp3 a ogg con el proceso anterior, el tamaño del archivo aumenta 9 veces. Sin embargo, si primero convierte m4a a mp3 y luego mp3 a ogg, el tamaño del archivo es solo 4 veces mayor. <pre> <code> avconv -i "ManjusriMantra.m4a" " ManjusriMantra.mp3 "wait avconv -i" ManjusriMantra.mp3 "" ManjusriMantra.ogg "<código> <pre>
afc888ny

esto funcionó para mí: ffmpeg -i sound.mp3 -c:a libvorbis -q:a 10 sound.oggconfiguración de la más alta calidad, aún notablemente peor que la original. La configuración predeterminada no funcionó para mí en absoluto (en Cygwin, por lo que demandarme :)), pero esta pregunta tenía buena información: superuser.com/questions/273797/convert-mp3-to-ogg-vorbis
Kai Carver

19

¡Tenga cuidado con las conversiones de MP3, M4A, etc. a OGG porque el resultado puede sonar pobre!

Advertencia : tanto MP3 como OGG son formatos con pérdida, a diferencia de WAV o FLAC. Esto significa que logran su compresión en gran parte al desechar fragmentos de información de audio que son imperceptibles para el oído humano (llamados psicoacústicos [wikipedia] )

Cuando codifica (transcodifica) de un formato con pérdida a otro, la mayoría de esos bits psicoacústicamente redundantes ya han desaparecido, por lo que la calidad de la transcodificación sufrirá e incluso puede ser "acumulable" en el resultado. Por lo tanto, no se recomienda hacer tales conversiones a menos que sea absolutamente necesario.


Minimice el efecto si lo hace eligiendo una tasa de bits de destino más alta que la tasa de bits de origen

Si realiza esta conversión de MP3 a OGG, puede minimizar la posibilidad de artefactos (mala calidad) utilizando una tasa de bits de destino más alta que la tasa de bits de origen , por ejemplo, si sus MP3 están a 128 kbps, intente usar Ogg a -q7(nivel de tasa de bits variable 7), que generalmente es de alrededor de ~ 200 kbps.

Puede pasar la -qopción a dir2ogg (disponible en los repositorios como @geirha mencionó) que debería hacer lo que quiera.


10

puede usar el programa avconv a gpl, hice un shell para ejemplificar (ejecutarlo en la carpeta con los archivos .mp3):

#!/bin/bash
if hash avconv > /dev/null; then
    for file in *.mp3
        do avconv -i "${file}" "`echo ${file%.mp3}.ogg`";
    done
else
    echo "avconv not found"
fi

o una versión más simple, sin validación de la instalación de avconv:

#!/bin/bash
for file in *.mp3
    do avconv -i "${file}" "`echo ${file%.mp3}.ogg`";
done

NOTA: El paquete avconv es una rama / bifurcación reciente de ffmpeg , con características y sintaxis similares.
david6

NOTA 2: ffmpeg está en desuso oficial y menciona explícitamente que debe usar avconven su lugar.
cenizas999

3

El análisis / reemplazo de mp3 por ogg es incorrecto. La forma correcta debe ser:

for file in *.mp3;

   do ffmpeg -i "${file}" -acodec libvorbis "${file%mp3}ogg";

done

2

Aquí hay uno que usa mplayer, creo que esto es más rápido que avconv. Aunque, Firefox debería reproducir archivos mp3 de forma nativa.

#!/bin/bash
for f in *.mp3; do
 newname=`echo $f | tr ' ' '_' `
 mv "$f" $newname
 f=$newname
 mplayer $f -novideo -ao pcm:file=tmp.wav
 lame -V 0 -q 0 tmp.wav ${f/.mp3/.ogg}
 rm -f tmp.wav
done

1

En caso de que solo esté haciendo audio, use el siguiente código [de lo contrario, FF no reproduce el .ogg]

for file in *.mp3;
   do ffmpeg -i "${file}" -acodec libvorbis "${file/%mp3/ogg}"; 
done


0

Parece que podría resolver su problema http://www.perturb.org/display/entry/687/


¿Puedes explicar qué es "eso"? Agregaría más contexto a su respuesta y mejoraría su usabilidad si el enlace al que hace referencia desapareciera algún día =)
SaultDon

Iba a hacer lo que sugieres, pero luego vi la respuesta de Geirha, que parece mucho mejor que la mía, así que la he votado.
Garry Cairns
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.