Чи є спосіб перетворити аудіофайли в Mac OS X або командний рядок без використання iTunes?


96

Тепер я знаю, що можу використовувати iTunes для перетворення музики. Але це досить боляче. Все, що я запитую, це: чи є щось вбудоване в OS X або UNIX для перетворення файлів? Зараз я просто хочу перетворити .mp4 в .mp3 ..


2
Ви розглядаєте пакети з відкритим кодом як додатки сторонніх розробників? Або ви хочете дотримуватися Apple Products, що постачається лише з ОС. Чи можете ви зрозуміти це у своєму запитанні?
Сайрам

Я хотів би це зробити з попередньо завантаженим програмним забезпеченням.
Джеймс Литевський

3
Коментар до рішення FFmpeg (відсутність репутації). Контроль якості виводу для MP3 можна здійснити за допомогою codec:a libmp3lameта qscale:a [0-9]параметрів (див. Вікі FFmpeg ). Наприклад, для отримання VBR в діапазоні 140-185 кбіт / с використовуйте: ffmpeg out.mp3 -i in.mp4 -codec: libmp3lame -qscale: a 4 Це також можна використовувати для зменшення розміру файлів MP3.
trybik

Відповіді:


16

Дугові AppleScripts для iTunes

в тому числі

Перетворення та експорт 2.0

це набір корисних сценаріїв, які можна запустити з Finder або командного рядка. Звичайно, всі вони використовують iTunes для обробки даних, але вам може бути зручніше, ніж використовувати інтерфейс iTunes GUI та команди миші для перетворення файлів.


Як запустити цей сценарій? Я не бачу інструкцій на сайті.
CoolAJ86

Інструкції щодо встановлення та налаштування від хлопця, що надає сценарії, тут: dougscripts.com/itunes/itinfo/downloadfaq.php

7
Зверніть увагу на тих, хто не знає: це не рішення командного рядка. Він ставить піктограму вгору на панелі інструментів iTunes. Ви повинні вибрати колекцію пісень, а потім вибрати скрипт зі спадного меню. Він за замовчуванням становить 256 Кбіт / с для AAC. Це ніде в документації не згадується (що я міг знайти), але ви можете побачити його в скріншоті за останні 2 або 3 секунди.
CoolAJ86

161

Я встановив ffmpegчерез MacPorts, хоча він також доступний через Homebrew ( brew install ffmpeg) або завантажити двійковий файл .

Щоб перетворити щось подібне, (не турбуючись про якість звуку, про яке я нічого не знаю), я просто використовую:

ffmpeg -i input.mp4 output.mp3

Ось приклад того, як ви конвертували .wavфайл .mp3із свого веб-сайту :

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

Ось приклад того, як знайти всі .wavфайли розміром більше 50 М, перетворити їх у mp3, а потім видалити вихідний wav (він же, пакетний режим - змінити команду find, щоб створити свою "пакетну")

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

Дякую за просту відповідь. Як конвертувати список файлів? Також у нього є послідовний чи паралельний варіанти?
Халед Аннаджар

ffmpeg також працює над перетворенням ogg в mp3:ffmpeg -i beep.ogg beep.mp3
rgkobashi

32

OS X не постачається з будь-яким MP3-кодером, крім того, який знаходиться в iTunes. Для перетворення аудіо в mpeg4 ви можете використовувати команду CLI afconvert (afconvert -h для доступних опцій). Наприклад:

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

Довідку щодо цього інструменту можна знайти, запустивши "afconvert --help", оскільки "man afconvert" не вказує на корисну сторінку керівництва.


1
+1, але мені дуже хочеться, щоб хтось додав покажчик до вичерпної документації. Я змусив це працювати через проби, помилки та здогадки, але багато варіантів, які я, мабуть, використовував, дуже коротко задокументовані.
трійка

3
Сторінка людини поруч із марною ... :-(
Greenonline

1
Я знайшов цей підручник інформативним. Дійсні аргументи для даних та форматів файлів можна побачити за допомогоюafconvert -hf
chb

5

afconvertне напишу. mp3файли. Навіть незважаючи на те, що він вказаний у довідці як формат:

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'

Якщо ви намагаєтесь ним скористатися:

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

тоді виникає помилка:

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

Як пояснено на конвертації MPG3?

"Core Audio може читати, а не писати, MP3-файли ..."

Я закінчив з використанням zpletan «S відповіді і встановлена FFmpeg

brew install ffmpeg

та наступний скрипт, розміщений у тому самому каталозі, що і файли .MP4, які я хочу конвертувати. Він також працює для файлів з пробілами:

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

Незначні зміни в описаному вище, наприклад, щоб виправити розширення: <code>for i in *.m4a; do echo "${i%.*}.mp3" ; ffmpeg -i "$i" "${i%.*}.mp3"; done
Mahesh Neelakanta

3

Є також X Lossless Decoder - аудіодекодер без втрат для Mac OS X, доступний як інструмент командного рядка та додаток GUI. Версія GUI підтримує MP3 як вихідний формат.


1

Я склав libavз джерела, щоб служити цій меті. Це той же самий пакет встановлений за замовчуванням в останніх версіях Ubuntu Linux так підручники для Ubuntu працює майже як є на OS X з libav.

Ось що я роблю для перетворення MP4 (AAC) у MP3 (за допомогою LAME) за допомогою командного рядка та makefile (заради паралелізму):

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

Відрегулювати число після -jвід makeкоманди до 1.5x вашого ядра процесора числа. Мій сервер мав 24 ядер, але -j24дав мені серйозне вузьке місце введення-виводу, повернув його назад -j20і продуктивність досить добре збалансована.


1

Я не користувався ним десятиліття, але люблю ecasoundперетворювати звукові файли.

Якщо ви brewналаштували:

brew install ecasound

ecasound -i input.mp4 -o output.mp3

Я сам не пробував це з .mp4s, але це має працювати .

Я просто наткнувся на це питання , коли хочете конвертувати wavв flac.


1

За допомогою автоматизатора визначте послугу (спасибі музичному блогу DIGITALHOBBIT за ідею): введіть тут опис зображення

І сценарій оболонки такий:

    # -----------------------------
    # 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чи mp3в AFCPARAM="-f mp4f -d aac -b 128000"?
Джон N

-1

Під Linux, я знаходжу, що python-audio-інструменти робить саме те, що я хочу. На жаль, мені не вдалося змусити його кодувати до mp3 під OSX . Це, можливо, допоможе вам. Він зовсім не вбудований в OSX, але він дуже легкий і може конвертувати між собою майже будь-яку пару форматів (або просто конвертувати у більш стислий файл із тим самим форматом).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.