C'è un modo per convertire i file audio in Mac OS X o nella riga di comando senza usare iTunes?


96

Ora so di poter usare iTunes per convertire la musica. Ma è abbastanza doloroso .. Tutto ciò che chiedo è: c'è qualcosa di integrato in OS X o UNIX per convertire i file? In questo momento voglio semplicemente convertire .mp4 in .mp3 ..


2
Consideri i pacchetti open source come applicazioni di terze parti? Oppure vuoi restare con i prodotti Apple forniti solo con il sistema operativo. Puoi chiarirlo nella tua domanda?
Sairam,

Vorrei farlo con un software precaricato.
James Litewski,

3
Un commento sulla soluzione FFmpeg (privo di reputazione). Il controllo della qualità dell'output per MP3 può essere eseguito tramite codec:a libmp3lamee le qscale:a [0-9]opzioni (vedi wiki di FFmpeg ). Ad esempio, per ottenere VBR in un intervallo di 140-185 kbit / s utilizzare: ffmpeg out.mp3 -i in.mp4 -codec: a libmp3lame -qscale: a 4 Questo può anche essere usato per ridurre le dimensioni dei file MP3.
Trybik,

Risposte:


16

Apple's Script di Doug per iTunes

Compreso

Converti ed esporta 2.0

è una raccolta di script utili che è possibile eseguire dal Finder o dalla riga di comando. Ovviamente usano tutti iTunes per elaborare i dati, ma potresti trovarlo più conveniente che dover usare la GUI di iTunes e i comandi del mouse per convertire i file.


Come si esegue questo script? Non vedo istruzioni sul sito.
CoolAJ86,

Le istruzioni di installazione e configurazione del ragazzo che fornisce gli script sono qui: dougscripts.com/itunes/itinfo/downloadfaq.php

7
Nota a quelli che non lo sanno: questa non è una soluzione a riga di comando. Mette un'icona nella barra degli strumenti di iTunes. È necessario selezionare una raccolta di brani, quindi selezionare lo script dal menu a discesa. L'impostazione predefinita è 256 Kbps per AAC. Non è menzionato da nessuna parte nella documentazione (che ho trovato), ma puoi vederlo nello screencast negli ultimi 2 o 3 secondi.
CoolAJ86,

161

Ho installato ffmpegtramite MacPorts, anche se è disponibile anche tramite Homebrew ( brew install ffmpeg) o scarica il file binario .

Per convertire qualcosa del genere, (senza preoccuparmi della qualità audio, di cui non so nulla), utilizzo semplicemente:

ffmpeg -i input.mp4 output.mp3

Ecco un esempio di come convertire un .wavfile .mp3dal loro sito Web :

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

Ecco un esempio di come trovare tutti i .wavfile più grandi di 50M, convertirli in mp3 e quindi eliminare il wav originale (aka, modalità batch - modifica il comando find per creare il tuo 'batch')

find . -size +50M -iname *.wav -type f -exec ffmpeg -i {} -codec:a libmp3lame -qscale:a 2 {}.mp3 -y \; -exec /bin/rm {} \;

Grazie per la facile risposta. Come convertire l'elenco di file? Ha anche opzioni seriali o parallele?
Khaled Annajar,

ffmpeg funziona anche per convertire ogg in mp3:ffmpeg -i beep.ogg beep.mp3
rgkobashi il

32

OS X non viene fornito con alcun codificatore MP3 diverso da quello di iTunes. Per la conversione in audio mpeg4 è possibile utilizzare il comando CLI afconvert (afconvert -h per le opzioni disponibili). Per esempio:

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

L'aiuto per questo strumento può essere trovato eseguendo "afconvert --help" poiché "man afconvert" non punta a una utile pagina di manuale.


1
+1 ma vorrei davvero che qualcuno aggiungesse un puntatore alla documentazione esaustiva. Ho ottenuto che funzioni attraverso tentativi, errori e congetture, ma molte delle opzioni che avrei dovuto usare forse sono documentate molto brevemente.
Tripleee

3
La pagina man è
quasi

1
Ho trovato questo tutorial informativo. Argomenti validi per formati di file e dati possono essere visualizzati usandoafconvert -hf
chb

5

afconvertnon scriverò. mp3File. Anche se è elencato nella guida come 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'

Se si tenta di utilizzarlo:

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

quindi si verifica un errore:

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

Come spiegato su afconvert MPG3?

"Core Audio può leggere, ma non scrivere, file MP3 ..."

Ho finito per usare la risposta di zpletan e ho installato ffmpeg

brew install ffmpeg

e il seguente script, collocato nella stessa directory dei file .MP4 che voglio convertire. Funziona anche con file con spazi:

#!/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

Leggera variazione su quanto sopra ad esempio per correggere le estensioni: <code>for i in *.m4a; do echo "${i%.*}.mp3" ; ffmpeg -i "$i" "${i%.*}.mp3"; done
Mahesh Neelakanta

3

C'è anche l' X Lossless Decoder - un decodificatore audio senza perdita di dati per Mac OS X disponibile come strumento da riga di comando e app GUI. La versione della GUI supporta MP3 come formato di output.


1

Ho compilato libavdalla fonte per servire a questo scopo. Questo è lo stesso pacchetto installato di default nelle recenti versioni di Ubuntu Linux, quindi i tutorial per Ubuntu funzionano quasi come su OS X con libav.

Ecco qualcosa che faccio per convertire MP4 (AAC) in MP3 (usando LAME) usando la riga di comando e un makefile (per motivi di parallelismo):

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

Regola il numero dopo -jil makecomando su circa 1,5 volte il numero del core del processore. Il mio server aveva 24 core ma -j24mi ha dato un serio collo di bottiglia nell'IO, lo ha rallentato -j20e le prestazioni sono abbastanza ben bilanciate.


1

Non lo usavo da un decennio, ma adoro ecasoundconvertire i file audio.

Se hai brewimpostato:

brew install ecasound

ecasound -i input.mp4 -o output.mp3

Non l'ho provato con .mp4me stesso, ma dovrebbe funzionare .

Ho appena imbattuto in questa domanda quando si cerca di convertire wavin flac.


1

Con automator, definisci un servizio (grazie a DIGITALHOBBIT'S MUSIC BLOG per l'idea): inserisci qui la descrizione dell'immagine

E lo script della shell è il seguente:

    # -----------------------------
    # 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

Intendevi aaco mp3dentro AFCPARAM="-f mp4f -d aac -b 128000"?
John N,

-1

Sotto Linux, trovo che python-audio-tools faccia esattamente quello che voglio. Sfortunatamente, non sono stato in grado di farlo codificare in mp3 sotto OSX . Potrebbe funzionare per te, comunque. Non è affatto integrato in OSX, ma è molto leggero e può convertire praticamente qualsiasi coppia di formati (o semplicemente convertire in un file più compresso con lo stesso formato).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.