首页 / FFmpeg 入门教程 / 提取音频与视频

FFmpeg 入门教程

提取音频与视频

本教程共 32 篇 · 第 10 篇 · 更新于 2026-08-09 · 约 5 分钟阅读

FFmpeg提取音频提取视频-vn-anMP3AAC音频转换

本节目标:把视频里的声音单独存成音频文件,或者把音轨去掉只留画面;并掌握常见音频格式之间的转换方法。

这是日常最常用的 FFmpeg 操作之一:拿到一个 MV,想要里面的歌;拿到一个录像,不想要背景噪音……一行命令就能搞定。

提取音频(不要视频)

原封不动复制

如果源视频里的音频是 AAC,你想原封不动存成 .aac

ffmpeg -i input.mp4 -vn -c:a copy output.aac
  • -vn:不要视频流。
  • -c:a copy:音频直接复制,不重编码。

只要容器支持原始音频编码,这个过程就是秒级的。常见对应关系:

源音频编码直接复制成命令
AAC.aac.m4a-c:a copy out.aac
MP3.mp3-c:a copy out.mp3
FLAC.flac-c:a copy out.flac
Opus.opus.ogg-c:a copy out.opus
PCM.wav-c:a copy out.wav
AC3.ac3-c:a copy out.ac3

.m4a 是 AAC 音频常用的容器,比裸 .aac 兼容性更好:

ffmpeg -i input.mp4 -vn -c:a copy output.m4a

转换格式

如果源是 AAC,但你想要 MP3:

ffmpeg -i input.mp4 -vn -c:a libmp3lame -q:a 2 output.mp3
  • -c:a libmp3lame:用 LAME 编码器输出 MP3。
  • -q:a 2:VBR 质量等级,0 最高、9 最低,2 约等于 190 kbps,音质很好。

转成 AAC(重新编码):

ffmpeg -i input.mp4 -vn -c:a aac -b:a 192k output.m4a

转成 FLAC(无损):

ffmpeg -i input.mp4 -vn -c:a flac output.flac

转成 WAV(未压缩 PCM,文件巨大):

ffmpeg -i input.mp4 -vn output.wav

不指定编码器时,WAV 默认用 pcm_s16le,16 位小端 PCM。

Tip

如果你要的是「音质尽量好、文件无所谓」,选 FLAC;要「通用、体积适中」,选 AAC 192k 或 MP3 V2;要「绝对兼容老设备」,选 MP3 CBR 320k。

提取视频(不要音频)

ffmpeg -i input.mp4 -an -c:v copy output.mp4
  • -an:不要音频流。
  • -c:v copy:视频直接复制。

同样,秒速完成。但要注意:不是所有容器都支持「纯视频、无音频」。MP4、MKV 都可以,但有些格式会自动补一条空音轨或直接报错。

如果还需要重编码(比如换编码器或缩放):

ffmpeg -i input.mp4 -an -c:v libx264 -crf 23 output.mp4

提取多条音轨中的某一条

一个视频可能有多条音轨(普通话、英语、评论音轨)。用 -map 选你要的那条(如 §09 所述):

# 列出所有流,先看清楚编号
ffprobe -hide_banner input.mkv

# 提取第 1 条音轨(编号 0:1)
ffmpeg -i input.mkv -map 0:a:1 -c:a copy output.aac

# 提取第 2 条音轨并转成 MP3
ffmpeg -i input.mkv -map 0:a:2 -c:a libmp3lame -q:a 2 output.mp3

想把所有音轨全导出来:

# 第 0 条音轨
ffmpeg -i input.mkv -map 0:a:0 -c:a copy track0.aac
# 第 1 条音轨
ffmpeg -i input.mkv -map 0:a:1 -c:a copy track1.aac

常见音频转换

MP3 转 AAC

ffmpeg -i input.mp3 -c:a aac -b:a 192k output.m4a

AAC 转 MP3

ffmpeg -i input.m4a -c:a libmp3lame -q:a 2 output.mp3

任意格式转 WAV

ffmpeg -i input.m4a output.wav

立体声母带转单声道

ffmpeg -i input.mp3 -ac 1 output_mono.mp3

-ac 指定声道数,1 是单声道,2 是立体声。

改采样率

ffmpeg -i input.wav -ar 44100 output.wav

-ar 设置采样率,常见值 44100(CD 质量)和 48000(视频标准)。

截取一段音频

ffmpeg -ss 00:01:30 -t 30 -i input.mp3 -c:a copy output.mp3

从 1 分 30 秒开始,截取 30 秒。定位和截取的细节见 §11。

调音量

ffmpeg -i input.mp3 -af "volume=1.5" output.mp3

-af 是音频滤镜,volume=1.5 表示音量放大到 1.5 倍。音频滤镜会在 §26 详细讲。

批量化:一个文件夹的视频全抽成 MP3

Linux/macOS:

for f in *.mp4; do
  ffmpeg -i "$f" -vn -c:a libmp3lame -q:a 2 "${f%.mp4}.mp3"
done

Windows PowerShell:

Get-ChildItem *.mp4 | ForEach-Object {
  ffmpeg -i $_.FullName -vn -c:a libmp3lame -q:a 2 ($_.BaseName + ".mp3")
}

一个判断表

你想干什么推荐做法
源音频是 AAC,要 AAC/M4A-vn -c:a copy,秒出
源音频是任意格式,要 MP3-vn -c:a libmp3lame -q:a 2
源音频是任意格式,要 AAC-vn -c:a aac -b:a 192k
要保留无损-vn -c:a flac 或 copy 原 FLAC
要编辑用的无压缩素材-vn output.wav
只要画面不要声音-an -c:v copy
要某一条特定音轨先 ffprobe,再 -map 0:a:N

小结

  • -vn 去掉视频,-an 去掉音频。
  • -c:a copy 就 copy,秒出且无损。
  • 转 MP3 用 libmp3lame -q:a 2,转 AAC 用 aac -b:a 192k
  • 多音轨文件用 -map 0:a:N 选具体某条。
  • WAV 是无压缩的,体积大;FLAC 是无损压缩,体积适中;AAC/MP3 是有损,体积小。

下一章讲片段截取:怎么从视频里切出你想要的那一段,以及怎么做到精确定位。