Преобразование mp4 в mp3

69

У меня есть видео, которое мне нужно преобразовать в 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:

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

Я получаю:

Warning: unsupported audio format

Я что-то пропустил?

    
задан aki 02.12.2011 в 14:14
источник

11 ответов

96

Для 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.     

ответ дан jahid65 02.12.2011 в 17:18
источник
12

У меня есть shell-скрипт, который использует 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 "[email protected]"
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 "[email protected]"
do
    ext='echo $i | sed 's/[^.]*\.\([a-zA-Z0-9]\+\)//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 с тем же именем.

Это немного грубо, но делает работу.

    
ответ дан elias 02.12.2011 в 15:52
11

soundconverter

является ведущим конвертером аудиофайлов для рабочего стола 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 на жестком диске, который вы хотите преобразовать. Нажмите кнопку «Преобразовать» в нижней части экрана.

  • Выберите имя целевого файла.

  • Перейдите на вкладку «Аудиокодек» и выберите «MP3» в раскрывающемся списке «Кодек». Нажмите кнопку «Пуск», чтобы начать конвертирование MP4 в MP3-аудио.

  • Нажмите «Пуск»

ответ дан hhlp 02.12.2011 в 14:29
6

Я использую этот маленький скрипт для преобразования 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
    
ответ дан spy 13.04.2014 в 14:55
5

Я думаю, проблема связана с вашим синтаксисом команды ffmpeg.

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

должен работать.

    
ответ дан kaan 02.12.2011 в 14:53
2

Во-первых, вы должны понять несколько вещей.

MP3 - это формат audio .

MP4 - это формат видео .

Чтобы получить аудио из MP4 (и сохранить его как MP3), используйте soundconverter .

    
ответ дан jrg 02.12.2011 в 14:32
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

    
ответ дан prayagupd 14.03.2014 в 08:46
1

Можно использовать Lame напрямую, если вы используете FFmpeg и передаете вывод в хромоту (через stdout и stdin). Пример:

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

Это позволяет вам использовать параметры командной строки lame значительный , если вы хотите их изучить ...

    
ответ дан andrew.46 26.05.2014 в 13:08
0

вы можете попробовать конвертировать его с помощью vlc или звукового преобразователя перейдите в ссылку звуковой конвертер или найдите в своем программном центре или использовать vlc для преобразования открыть vlc средства массовой информации конвертировать / сохранить выбрал свой файл выбор формата вывода выбрать имя и место назначения и начать парирование thats all

    
ответ дан paru38 02.12.2011 в 14:28
0

Попробуйте использовать Transmageddon через программный центр Ubuntu Ссылка

    
ответ дан Alfredo CG 11.06.2013 в 08:25
0

Хотя это GUI, вы можете использовать Audacity для управления фиксированными или переменными, а также качества вывода при конвертировании MP4 в MP3.

Откройте Audacity, откройте целевой файл MP4, нажмите FILE, EXPORT, а затем выберите тип вывода (по умолчанию - MP3) и нажмите SAVE. Он открывает аудиоканал (ы) MP4, экспортирует MP3-аудио туда, где есть (и все, что вы его сохраняете, как), и вы не в нем (преобразование 400-мегабайтного MP4 в MP3 на чипе AMD 3Ghz составляет около 10 минут , с частотой дискретизации 160 кбит / с на аудио, а аудиофайл будет примерно вдвое меньше, чем MP4).

    
ответ дан Skeetersaurus 31.12.2016 в 14:20