Esiste un modo per convertire file audio in Mac OS X o nella riga di comando senza utilizzare iTunes?

88

Ora so che posso usare iTunes per convertire la musica. Ma è piuttosto un problema .. Tutto quello che sto chiedendo è: C'è qualcosa di costruito in OS X o UNIX per convertire i file? In questo momento voglio semplicemente convertire .mp4 in .mp3 ..

    
posta James Litewski 27.09.2011 - 10:20
fonte

9 risposte

15

AppleScript 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. Naturalmente usano tutti iTunes per elaborare i dati, ma potresti trovarti più comodo rispetto a dover utilizzare i comandi della GUI e del mouse di iTunes per convertire i file.

    
risposta data 27.09.2011 - 14:23
fonte
140

Ho installato ffmpeg tramite MacPorts, sebbene sia disponibile anche tramite Homebrew ( brew install ffmpeg ) o scarica il file binario .

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

ffmpeg -i input.mp4 output.mp3

Ecco un esempio di come convertire un file .wav in .mp3 dal loro sito web :

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

Ecco un esempio di come trovare tutti i .wav file più grandi di 50M, convertirli in mp3 e quindi eliminare il wav originale (noto anche come modalità batch - modificare 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 {} \;
    
risposta data 27.09.2011 - 15:26
fonte
31

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

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

La guida per questo strumento può essere trovata eseguendo "afconvert --help" come "man afconvert" non punta a una pagina di manuale utile.

    
risposta data 27.09.2011 - 11:48
fonte
4

afconvert non scrive. mp3 file. 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 tenti di usarlo:

/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 can read, but not write, MP3 files...'

Ho finito per utilizzare zpletan 's risposta e installato ffmpeg

brew install ffmpeg

e il seguente script, collocato nella stessa directory dei file .MP4 che voglio convertire. Funziona anche per i 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
    
risposta data 04.06.2015 - 10:16
fonte
3

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

    
risposta data 27.09.2011 - 15:29
fonte
1

Ho compilato libav dall'origine per servire a questo scopo. Questo è lo stesso pacchetto installato di default sulle versioni recenti di Ubuntu Linux, quindi le esercitazioni per Ubuntu funzionano quasi come in 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 -j del comando make a circa 1.5x il numero di core del processore. Il mio server aveva 24 core, ma -j24 mi ha dato un grave collo di bottiglia di IO, ho rallentato di nuovo a -j20 e le prestazioni sono piuttosto bilanciate.

    
risposta data 04.06.2015 - 12:54
fonte
1

Non l'ho usato da un decennio, ma amo ecasound per la conversione di file audio.

Se hai impostato brew :

brew install ecasound

ecasound -i input.mp4 -o output.mp3

Non l'ho provato con .mp4 s ma dovrebbe funzionare .

Mi sono imbattuto in questa domanda quando ho cercato di convertire wav in flac .

    
risposta data 04.08.2016 - 23:17
fonte
1

Con il programma di automazione, definisci un servizio (Grazie BLOG MUSICALE DI DIGITALHOBBIT per l'idea):

Eloscriptdellashellèilseguente:

#-----------------------------#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
    
risposta data 06.04.2017 - 17:47
fonte
-1

Sotto Linux, trovo che python-audio-tools fa esattamente quello che voglio. Sfortunatamente, I non sono riuscito a farlo codificare su mp3 in OSX . Potrebbe funzionare per te, però. Non è affatto integrato in OSX, ma è molto leggero e può essere convertito praticamente da qualsiasi coppia di formati (o semplicemente convertirlo in un file più compresso con lo stesso formato).

    
risposta data 08.12.2014 - 01:06
fonte

Leggi altre domande sui tag