Ahora, sé que puedo usar iTunes para convertir música. Pero es bastante doloroso. Todo lo que pregunto es: ¿hay algo integrado en OS X o UNIX para convertir archivos? En este momento, simplemente quiero convertir .mp4 a .mp3 ..
incluso
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.
Lo instalé a ffmpeg
través de MacPorts, aunque también está disponible a través de Homebrew ( brew install ffmpeg
) o descargué el binario .
Para convertir algo así, (sin preocuparme por la calidad de audio, de la que no sé nada), solo uso:
ffmpeg -i input.mp4 output.mp3
Aquí hay un ejemplo de cómo convertiría un .wav
archivo .mp3
desde su sitio web :
ffmpeg -i input.wav -codec:a libmp3lame -qscale:a 2 output.mp3
Aquí hay un ejemplo de cómo encontrar todos los .wav
archivos de más de 50M, convertirlos a mp3 y luego eliminar el wav original (también conocido como modo por lotes, alterar 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 {} \;
ffmpeg
también funciona para convertir ogg a mp3:ffmpeg -i beep.ogg beep.mp3
OS X no se envía con ningún codificador de MP3 aparte del que está en iTunes. Para convertir a audio mpeg4 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
Puede encontrar ayuda para esta herramienta ejecutando "afconvert --help" ya que "man afconvert" no apunta a una página de manual útil.
afconvert -hf
afconvert
No escribirá. mp3
archivos. Aunque aparece en la ayuda como un 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 ocurre un error:
Error: ExtAudioFileSetProperty ('cfmt') failed ('fmt?')
Como se explica en el MPG3 afconvertido?
'Core Audio puede leer, pero no escribir, archivos MP3 ...'
Terminé usando la respuesta de zpletan e instalé ffmpeg
brew install ffmpeg
y el siguiente script, colocado en el mismo directorio que los archivos .MP4 que quiero 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
for i in *.m4a; do echo "${i%.*}.mp3" ; ffmpeg -i "$i" "${i%.*}.mp3"; done
También está el X Lossless Decoder , un decodificador de audio sin pérdidas para Mac OS X disponible como herramienta de línea de comandos y una aplicación GUI. La versión GUI admite MP3 como formato de salida.
Compilé libav
desde la fuente para cumplir este propósito. Este es el mismo paquete instalado de forma predeterminada en las últimas versiones de Ubuntu Linux para tutoriales de Ubuntu funciona casi como está 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 archivo MAKE (en aras 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 -j
del make
comando 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 serio cuello de botella de E / S, lo estrangulé -j20
y el rendimiento es bastante equilibrado.
No lo había usado en una década, pero me encanta ecasound
convertir archivos de sonido.
Si ha brew
configurado:
brew install ecasound
ecasound -i input.mp4 -o output.mp3
No lo he intentado .mp4
conmigo mismo, pero debería funcionar .
Yo sólo encontré con esta pregunta cuando se busca convertir wav
en flac
.
Con el automatizador, defina un servicio (gracias DIGITALHOBBIT'S MUSIC BLOG por la idea):
Y el script de shell es el siguiente:
# -----------------------------
# DESCRIPTION
# Export iTunes Music to another destination to get only MP3 files
# - Copy MP3 to Destination
# - Convert M4A in MP3 in Destination
#
# -----------------------------
# DATE : 06-Apr-2017
# AUTHOR : JF LE MADEC
# VERSION : 1.0
# -----------------------------
# Local iTunes Directory
ITUNDIR="$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
aac
o mp3
en AFCPARAM="-f mp4f -d aac -b 128000"
?
En Linux, encuentro que python-audio-tools hace exactamente lo que quiero. Desafortunadamente, no he podido codificarlo en mp3 con OSX . Sin embargo, podría funcionar para ti. No está integrado en OSX, pero es muy liviano y puede convertir prácticamente cualquier par de formatos (o simplemente convertirlo a un archivo más comprimido con el mismo formato).
codec:a libmp3lame
yqscale:a [0-9]
opciones (ver FFmpeg wiki ). Por ejemplo, para obtener VBR en un rango de 140-185 kbit / s, utilice: ffmpeg out.mp3 -i in.mp4 -codec: a libmp3lame -qscale: a 4 Esto también se puede usar para reducir el tamaño de los archivos MP3.