¿Hay alguna forma de convertir archivos de audio en Mac OS X o la línea de comandos sin usar iTunes?

87

Ahora, sé que puedo usar iTunes para convertir música. Pero es bastante doloroso. Lo único que pregunto es: ¿hay algo integrado en OS X o UNIX para convertir archivos? Ahora mismo simplemente quiero convertir .mp4 a .mp3 ..

    
pregunta James Litewski 27.09.2011 - 10:20

9 respuestas

15

Apple'scripts de Doug para iTunes

incluido

Convertir y exportar 2.0

es una colección de scripts útiles que puede ejecutar desde el Finder o la línea de comandos. Por supuesto, todos usan iTunes para procesar datos, pero puede que le resulte más conveniente que tener que usar la GUI de iTunes y los comandos del mouse para convertir archivos.

    
respondido por el user9290 27.09.2011 - 14:23
138

Instalé ffmpeg a través de MacPorts, aunque también está disponible a través de Homebrew ( brew install ffmpeg ) o descargue el binario .

Para convertir algo así, (sin preocuparme por la calidad del audio, del cual no sé nada), solo uso:

ffmpeg -i input.mp4 output.mp3

Este es un ejemplo de cómo convertiría un archivo .wav a .mp3 desde su sitio web :

ffmpeg -i input.wav -codec:a libmp3lame -qscale:a 2 output.mp3 

Este es un ejemplo de cómo encontrar todos los archivos .wav de más de 50M, convertirlos a mp3 y luego eliminar el wav original (también conocido como modo por lotes: modifique el comando de búsqueda para crear su 'lote')

find . -size +50M -iname *.wav -type f -exec ffmpeg -i {} -codec:a libmp3lame -qscale:a 2 {}.mp3 -y \; -exec /bin/rm {} \;
    
respondido por el zpletan 27.09.2011 - 15:26
31

OS X no se entrega con ningún codificador MP3 aparte del que está en iTunes. Para convertir a mpeg4 audio puede usar el comando CLI afconvert (afconvert -h para las opciones disponibles). Por ejemplo:

afconvert track.aiff -o track.m4a -q 127 -b 128000 -f m4af -d aac

La ayuda para esta herramienta se puede encontrar ejecutando "afconvert --help" ya que "man afconvert" no apunta a una página de manual útil.

    
respondido por el Gerry 27.09.2011 - 11:48
4

afconvert no escribirá. mp3 archivos. Aunque aparece en la ayuda como formato:

MacBook-Pro:local user$ afconvert -hf
Audio file and data formats:
    '3gpp' = 3GP Audio (.3gp)
               data_formats: 'Qclp' 'aac ' 'aace' 'aacf' 'aach' 'aacl' 
                             'aacp' 'samr' 
    '3gp2' = 3GPP-2 Audio (.3g2)
               data_formats: 'Qclp' 'aac ' 'aace' 'aacf' 'aach' 'aacl' 
                             'aacp' 'samr' 
    'adts' = AAC ADTS (.aac, .adts)
               data_formats: 'aac ' 'aach' 'aacp' 
    'ac-3' = AC3 (.ac3)
               data_formats: 'ac-3' 
    'AIFC' = AIFC (.aifc, .aiff, .aif)
               data_formats: I8 BEI16 BEI24 BEI32 BEF32 BEF64 UI8 'ulaw' 
                             'alaw' 'MAC3' 'MAC6' 'ima4' 'QDMC' 'QDM2' 
                             'Qclp' 'agsm' 
    'AIFF' = AIFF (.aiff, .aif)
               data_formats: I8 BEI16 BEI24 BEI32 
    'amrf' = AMR (.amr)
               data_formats: 'samr' 
    'm4af' = Apple MPEG-4 Audio (.m4a, .m4r)
               data_formats: 'aac ' 'aace' 'aacf' 'aach' 'aacl' 'aacp' 
                             'alac' 'paac' 
    'm4bf' = Apple MPEG-4 AudioBooks (.m4b)
               data_formats: 'aac ' 'aace' 'aacf' 'aach' 'aacl' 'aacp' 
                             'paac' 
    'caff' = CAF (.caf)
               data_formats: '.mp1' '.mp2' '.mp3' 'QDM2' 'QDMC' 'Qclp' 
                             'Qclq' 'aac ' 'aace' 'aacf' 'aach' 'aacl' 
                             'aacp' 'alac' 'alaw' 'dvi8' 'ilbc' 'ima4' 
                             I8 BEI16 BEI24 BEI32 BEF32 BEF64 LEI16 LEI24 
                             LEI32 LEF32 LEF64 'ms\x00\x02' 'ms\x00\x11' 
                             'ms\x001' 'paac' 'samr' 'ulaw' 
    'MPG1' = MPEG Layer 1 (.mp1, .mpeg, .mpa)
               data_formats: '.mp1' 
    'MPG2' = MPEG Layer 2 (.mp2, .mpeg, .mpa)
               data_formats: '.mp2' 
    'MPG3' = MPEG Layer 3 (.mp3, .mpeg, .mpa)
               data_formats: '.mp3'

Si intentas usarlo:

/usr/bin/afconvert -d '.mp3' -f MPG3 mysong.MP4 -o mysong.mp3

entonces se produce un error:

Error: ExtAudioFileSetProperty ('cfmt') failed ('fmt?')

Como se explica en ¿afconvert MPG3?

  

'Core Audio puede leer, pero no escribir, archivos MP3 ...'

Terminé usando zpletan 's answer e instalado ffmpeg

brew install ffmpeg

y el siguiente script, ubicado en el mismo directorio que los archivos .MP4 que deseo convertir. También funciona para archivos con espacios:

#!/bin/sh -x
for f in *.MP4; do
        /usr/local/Cellar/ffmpeg/2.5.4/bin/ffmpeg -i "$f" "$f.mp3"
#        /usr/bin/afconvert -d '.mp3' -f MPG3 "$f" -o "$f.mp3"
        echo "$f converted"
done
    
respondido por el Greenonline 04.06.2015 - 10:16
3

También está el X Decodificador sin pérdida : un decodificador de audio sin pérdida para Mac OS X disponible como comando Herramienta de línea y una aplicación GUI. La versión GUI admite MP3 como formato de salida.

    
respondido por el ralf 27.09.2011 - 15:29
1

Compilé libav de la fuente para cumplir este propósito. Este es el mismo paquete instalado de forma predeterminada en las versiones recientes de Ubuntu Linux, por lo que los tutoriales para Ubuntu funcionan casi como están en OS X con libav .

Aquí hay algo que hago para convertir MP4 (AAC) a MP3 (usando LAME) usando la línea de comandos y un makefile (por el bien del paralelismo):

for each in *.mp4; do mv "$each" "$(echo "$each" | sed "s/ /./g")"; done
cat << EOF > Makefile
MP4_FILES := $(wildcard *.mp4)
MP3_FILES := ${MP4_FILES:.mp4=.mp3}

all: $(MP3_FILES)

%.mp3: %.mp4
    avconv -i $< -c:a libmp3lame $@
EOF
make -j20

Ajuste el número después de -j del comando make a aproximadamente 1.5x el número de núcleo de su procesador. Mi servidor tenía 24 núcleos, pero -j24 me dio un grave cuello de botella de IO, lo limitó a -j20 y el rendimiento está bastante bien equilibrado.

    
respondido por el Maxthon Chan 04.06.2015 - 12:54
1

No lo había usado durante una década, pero me encanta ecasound para convertir archivos de sonido.

Si tienes brew configurado:

brew install ecasound

ecasound -i input.mp4 -o output.mp3

No lo he probado con .mp4 s, pero debería funcionar .

Me acabo de topar con esta pregunta cuando busco convertir wav en flac .

    
respondido por el guaka 04.08.2016 - 23:17
1

Con automator, defina un servicio (gracias al BLOG DE MÚSICA DE DIGITALHOBBIT'S por la idea):

Yelscriptdeshelleselsiguiente:

#-----------------------------#DESCRIPTION#ExportiTunesMusictoanotherdestinationtogetonlyMP3files#-CopyMP3toDestination#-ConvertM4AinMP3inDestination##-----------------------------#DATE:06-Apr-2017#AUTHOR:JFLEMADEC#VERSION:1.0#-----------------------------#LocaliTunesDirectoryITUNDIR="$HOME/Music/iTunes/iTunes Media/Music"

    # binary to convert audio files
    AFCONVERT="afconvert"
    # conversion paramaters
    AFCPARAM="-f mp4f -d aac -b 128000"

    # Audio files suffixes
    # Source
    M4ASUF=".m4a"
    # Destination
    MP3SUF=".mp3"

    # for all directories given in arguments copy music
    for destination in "$@"
    do

        # Copy MP3 files
        find "$ITUNDIR" -name "*$MP3SUF" | while read myMp3File; do
            mp3dir='dirname "$myMp3File"'
            targetDir="$destination${mp3dir#$ITUNDIR}"
            fileName='basename "$mp3File"'
            [[ -d "$targetDir" ]] || mkdir -p "$targetDir"
            cp -R "$myMp3File" "$targetDir"
        done

        # Convert and copy M4A files (iTunes native)
        find "$ITUNDIR" -name "*$M4ASUF" | while read m4aFile; do
            #afconvert -f mp4f -d aac -b 128000 "./Vianney/Vianney/11 Le Galopin.m4a"  /Users/jflm/Desktop/output2.mp3
            # Get file info
            m4aDir='dirname "$m4aFile"'
            targetDir="$destination${m4aDir#$ITUNDIR}"
            fileName='basename -s $M4ASUF "$m4aFile"'
            # Create parent directories if not exist
            [[ -d "$targetDir" ]] || mkdir -p "$targetDir"

            # Convert audio file directly in destination directory
            $AFCONVERT $AFCPARAM "$m4aFile" "$targetDir/$fileName$MP3SUF"

        done
    done
    
respondido por el JFLM 06.04.2017 - 17:47
-1

Bajo Linux, encuentro que python-audio-tools hace exactamente lo que quiero. Desafortunadamente, no he podido codificarlo en mp3 bajo OSX . Aunque podría funcionar para ti. No está integrado en OSX, pero es muy ligero y se puede convertir entre casi cualquier par de formatos (o simplemente se convierte en un archivo más comprimido con el mismo formato).

    
respondido por el intuited 08.12.2014 - 01:06

Lea otras preguntas en las etiquetas