У меня есть видео, которое мне нужно преобразовать в 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
Я что-то упустил? [ ! d5]
У меня есть 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 "$@"
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
It будет конвертировать каждый файл, переданный в mp3 с тем же именем.
Немного грубо, но выполняет эту работу.
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-аудио. Нажмите «Пуск»Я использую этот небольшой скрипт для преобразования 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
Я думаю, проблема связана с вашим синтаксисом команды ffmpeg.
ffmpeg -i source_filename -vn -ab 192k -acodec libmp3lame -ac 2 output_filename
должен работать.
Сначала вы должны понять несколько вещей.
MP3 - это аудиоформат.
MP4 - это формат audio .
Чтобы получить аудио из MP4 (и сохранить его как MP3), используйте soundconverter.
$ 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
ИЛИ (поскольку ffmpeg устарел)
## 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
ШАГ 2: источник, который bash-файл
$ convertMP4toMP3
Enter source mp4 file : Upd_Sanity.mp4
Enter destination mp3 file : UPd_sanity.mp3
утилит .sh
Можно использовать Lame напрямую, если вы используете FFmpeg и передаете вывод в хромоту (через stdout и stdin). Пример:
ffmpeg -i video.mp4 -vn -f wav - | \
lame -V 3 - audio.mp3
Это позволяет вам использовать значительные параметры командной строки lame, если вы хотите их изучить ...
вы можете попробовать конвертировать его с помощью vlc или звукового преобразователя, перейдите на http://soundconverter.org/ звуковой конвертер или найдите в своем программном центре или используйте vlc для конвертирования. vlc media convert / save выбрал ваш файл. и пункт назначения, и начните пропаривать все
Попробуйте Transmageddon доступен через Ubuntu Software Center http://www.linuxrising.org/index.html
Хотя это GUI, вы можете использовать Audacity для управления фиксированным или переменным, а также качества вывода при конвертировании MP4 в MP3.
Откройте Audacity, откройте целевой файл MP4, нажмите FILE, EXPORT, а затем выберите тип вывода (по умолчанию - MP3) и нажмите SAVE. Он открывает аудиоканал (ы) MP4, экспортирует MP3-аудио туда, где есть (и все, что вы его сохраняете, как), и вы не в нем (преобразование 400-мегабайтного MP4 в MP3 на чипе AMD 3Ghz составляет около 10 минут , с частотой дискретизации 160 кбит / с на аудио, а аудиофайл будет примерно вдвое меньше, чем MP4).