Перетворення MP4 в mp3


81

У мене є відео, яке потрібно конвертувати в mp3 (з командного рядка - не GUI): video.mp4

Я намагався:

ffmpeg -i -b 192 video.mp4 video.mp3

без успіху. Я отримую таку помилку:

WARNING: library configuration mismatch
Seems stream 0 codec frame rate differs from container frame rate: 59.83 (29917/500) -> 59.75 (239/4)
WARNING: The bitrate parameter is set too low. It takes bits/s as argument, not kbits/s 
Encoder (codec id 86017) not found for output stream #0.0

тому я спробував кульгавий:

lame -h -b 192 video.mp4 video.mp3

Я отримав:

Warning: unsupported audio format

Я щось пропускаю?


1
змінити -b на -ab
duffydack

Відповіді:


115

Для FFmpeg з кодуванням постійного бітка (CBR):

ffmpeg -i video.mp4 -vn \
       -acodec libmp3lame -ac 2 -ab 160k -ar 48000 \
        audio.mp3

або якщо ви хочете використовувати кодування змінних бітків (VBR):

ffmpeg -i video.mp4 -vn \
       -acodec libmp3lame -ac 2 -qscale:a 4 -ar 48000 \
        audio.mp3

Приклад VBR має цільовий бітрейт у 165 Кбіт / с з діапазоном бітрейт 140 ... 185.


7
Якщо припустити, що кульгавий вже встановлений.
Дарт Егрегійний

га дякую, саме це я шукаю
акі

2
Єдиний додатковий крок до цьогоsudo apt-get install libavcodec-extra-53
Jason Scheirer

2
Або оскільки це Ubuntu, ubuntu-limited-extras , до якого серед іншого входить libavcodec-extra-53. Можливо, ви встановили це вже тоді, коли інсталяційний компакт-диск запропонує зробити це.
thomasrutter

1
Моя редакція додана у приклад VBR і позначила фіксований бітрейт як CBR ...
andrew.46

12

У мене є скрипт оболонки, який використовує mplayer(щоб він міг перетворити все, що mplayerможе відтворити) для отримання звуку, а потім кодує його за допомогою lame. Ось код:

#! /bin/bash
# any2mp3.sh
# Converts to mp3 anything mplayer can play
# Needs mplayer amd lame installed

[ $1 ] || { echo "Usage: $0 file1.wma file2.wma"; exit 1; }

for i in "$@"
do
    [ -f "$i" ] || { echo "File $i not found!"; exit 1; }
done

[ -f audiodump.wav ] && {
    echo "file audiodump.wav already exists"
    exit 1
}

for i in "$@"
do
    ext=`echo $i | sed 's/[^.]*\.\([a-zA-Z0-9]\+\)/\1/g'`
    j=`basename "$i" ".$ext"`
    j="$j.mp3"
    echo
    echo -n "Extracting audiodump.wav from $i... "
    mplayer -vo null -vc null -af resample=44100 -ao pcm:waveheader:fast \
    "$i" >/dev/null 2>/dev/null || {
        echo "Problem extracting file $i"
        exit 1
    }
    echo "done!"
    echo -n "Encoding to mp3... "
    lame -m s audiodump.wav -o "$j" >/dev/null 2>/dev/null
    echo "done!"
    echo "File written: $j"
done
# delete temporary dump file
rm -f audiodump.wav

Спочатку потрібно apt-get install mplayer lame. Після цього помістіть код у файл з назвою '' any2mp3.sh '', дайте дозвіл на виконання та введіть це у свій $ PATH, і ви зможете це зробити:

$ any2mp3.sh file.mp4 another-file.wma yet-another.file.ogg

Він перетворить кожен переданий файл в mp3 з тим самим іменем.

Це трохи грубо, але робить роботу.


я все зробив, і я отримую: -rw-r--r-- 1 aki aki 7104 2011-12-02 10:41 video.mp3що не грає
акі

це дивно ... здається, що кульгавий не міг перетворити wav. спробуйте видалити >/dev/null 2>/dev/nullкод з коду, щоб побачити повідомлення про помилку.
elias

не пощастило, ось результат: pastebin.com/ALrTqCmk обох конверсій
акі

І чи грає audiodump.wav? Якщо цього не відбувається, mplayerне вдалося відтворити файл video.mp4, і тоді вам справді не пощастило. Можливо, файл, який ви намагаєтеся перетворити, пошкоджений, ви можете протестувати процес з іншим файлом?
elias

ні, wav не грає, ні mp4 від mplayer
акі

11

звукоконвертер Встановіть звукоконвертер

Встановіть через програмний центр

є провідним конвертором аудіофайлів для робочого столу GNOME. Він читає все, що може прочитати GStreamer (Ogg Vorbis, AAC, MP3, FLAC, WAV, AVI, MPEG, MOV, M4A, AC3, DTS, ALAC, MPC, Shorten, APE, SID, MOD, XM, S3M тощо) ) і записує у файли WAV, FLAC, MP3, AAC та Ogg Vorbis або використовує аудіопрофіль GNOME.

SoundConverter прагне бути простим у використанні та дуже швидким. Завдяки багатопотоковому дизайну він використовуватиме якомога більше ядер для прискорення конверсії. Він також може витягувати аудіо з відео.

Як конвертувати MP4 в MP3 з VLC

  • Відкрийте програвач VLC Media Player. Натисніть "Медіа"> "Перетворити", щоб увійти у вікно "Відкрити медіа". Натисніть кнопку "Додати" в правій частині екрана, щоб увійти в Провідник Windows. Знайдіть MP4 на вашому жорсткому диску, який ви хочете конвертувати. Натисніть кнопку "Перетворити" внизу екрана.

  • Виберіть ім'я цільового файлу.

  • Перейдіть на вкладку "Audio Codec" та виберіть "MP3" у спадному вікні "Codec". Натисніть кнопку "Пуск", щоб почати перетворення MP4 в аудіо MP3.

  • Натисніть кнопку Пуск


4
Але ОП попросило рішення командного рядка.
Натан Осман

7

Я використовую цей невеликий сценарій для перетворення m4a в mp3.

#!/bin/bash
for i in *.m4a; do
    avconv -i "$i" -vn -acodec libmp3lame -ac 2 -ab 160k -ar 48000 "`basename "$i" .m4a`.mp3"
done

Якщо він говорить, avconvякщо його не знайшли, встановіть ffmpeg і замініть йогоffmpeg
sanoJ

5

Я думаю, що проблема полягає у вашому синтаксисі команди ffmpeg.

ffmpeg -i source_filename -vn -ab 192k -acodec libmp3lame -ac 2 output_filename

повинен працювати.


я отримую: Очікуване число для змінного струму, але знайдено: liblamemp3
акі

2

По-перше, ви повинні зрозуміти кілька речей.

MP3є аудіоформатом .

MP4це формат відео .

Щоб вивести аудіо з MP4 (і зберегти його як MP3), використовуйте звукоконвертер Встановіть звукоконвертер .


1
+1 добре зроблено, щоб вказати на різницю між mp4 та mp3.
fossfreedom

2

Для перетворення Upd_Sanity.mp4 в Upd_Sanity.mp3

$ sudo apt-get install ffmpeg && sudo apt-get install libavcodec-extra-53

$ ffmpeg -i Upd_Sanity.mp4 -vn -acodec libmp3lame -ac 2 -ab 160k -ar 48000 Upd_Sanity.mp3

АБО (як ffmpegзастаріле)

$ avconv -i Upd_Sanity.mp4 -vn -acodec libmp3lame -ac 2 -ab 160k -ar 48000 Upd_Sanity.mp3

Опис

   -i        input file name
   -vn       disable video recording
   -acodec   force audio codec to libmp3lame
   -ac       set the number of audio channels
   -ar       set the audio sampling frequency

Якщо вам потрібно часто використовувати його,

КРОК 1: Створіть функцію bash, яка виконує перетворення

## utilities.sh
convertMP4toMP3(){
echo -n "Enter source mp4 file : "
read sourceFile

echo -n "Enter destination mp3 file : "
read destFile

avconv -i $sourceFile -vn -acodec libmp3lame -ac 2 -ab 160k -ar 48000 $destFile
}

КРОК 2: джерело цього файлу bash

 $ source utilities.sh

КРОК 3: почати виклик перетворення, що знаходиться вище convertMP4toMP3

 $ convertMP4toMP3
 Enter source mp4 file : Upd_Sanity.mp4
 Enter destination mp3 file : UPd_sanity.mp3

Список літератури

utilities.sh


1

Можна використовувати Lame безпосередньо, якщо ви використовуєте FFmpeg і передаєте висновок кульгавому (через stdout та stdin). Приклад:

ffmpeg -i video.mp4 -vn -f wav - | \
       lame -V 3 - audio.mp3

Це дозволяє використовувати значні параметри командного рядка кульгавого, якщо ви хочете вивчити їх ...


0

ви можете спробувати перетворити його на vlc або конвертер звуку, перейдіть на http://soundconverter.org/ конвертер звуку або знайдіть у вашому програмному центрі або використовуйте vlc для перетворення відкритих vlc медіа конвертувати / зберегти вибрав файл, вибрав вихідний формат, вибрав ім'я та місце призначення та Почніть парити це все



0

Хоча це графічний інтерфейс, ви можете використовувати Audacity для керування фіксованою або змінною, а також якості виводу під час перетворення MP4 в MP3.

Відкрийте Audacity, відкрийте цільовий файл MP4, натисніть FILE, EXPORT, а потім виберіть тип виводу (за замовчуванням - MP3) та натисніть Зберегти. Він відкриває аудіоканали MP4, експортує MP3-аудіо туди, куди (і як би ви не зберегли його), і ви перебуваєте поза ним (перетворення MP4 на 400 Мб в MP3 на мікросхемі AMG 3 ГГц становить приблизно 10 хвилин , зі швидкістю вибірки 160 кбіт / с на аудіо, і аудіофайл буде приблизно вдвічі більшим, ніж MP4).

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