将 mp4 转换为 mp3

将 mp4 转换为 mp3

我有一个需要转换为 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

对于具有恒定比特率编码(CBR)的 FFmpeg:

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 Kbit/s,比特率范围为 140...185。

答案2

声音转换器 安装声音转换器

通过软件中心安装

是 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 旨在简单易用,速度极快。得益于其多线程设计,它将使用尽可能多的内核来加快转换速度。它还可以从视频中提取音频。

如何使用 VLC 将 MP4 转换为 MP3

  • 打开 VLC 媒体播放器。点击“媒体”>“转换”进入“打开媒体”窗口。点击屏幕右侧的“添加”按钮进入 Windows 资源管理器。在硬盘上找到要转换的 MP4。点击屏幕底部的“转换”按钮。

  • 选择目标文件的名称。

  • 单击“音频编解码器”选项卡并从“编解码器”下拉框中选择“MP3”。按“开始”按钮开始将 MP4 转换为 MP3 音频。

  • 单击“开始”

答案3

我有一个 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

它会将传递的每个文件转换为具有相同名称的 mp3。

虽然有点粗糙,但是还是能完成工作。

答案4

我使用这个小脚本将 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

相关内容