怎么从视频里把音频提取出来(无损与转格式的区别)
从视频里拿音频,很多人第一反应是”录一遍”。这是最差的做法:录一遍等于重新编码一次,而且必须播完。
正确做法是把音频轨直接取出来。但这里有个关键区别,决定了你的音质:
- 提取(demux):把音频流原样拿出来装进新容器,不解码。音质100%不变,几秒钟完成
- 转码(transcode):解码后重新压缩成 MP3 等格式。有损,但兼容性更好
先想清楚你要哪一个,再选命令。
什么时候要无损提取
- 要拿去做二次剪辑,不希望多一层损失
- 源音频质量本来就一般,不想再压一次
- 只是想把音轨分离出来,格式无所谓
输出通常是 .m4a(AAC)或 .opus,属于”原样搬出来”。
什么时候必须转码
- 目标设备只认 MP3(车机、老播放器、某些会议系统)
- 需要显著减小体积
- 源音频是 AC3/DTS 这类兼容性差的格式
方法一:浏览器里做(不装东西)
打开 FlowPick 的 Audio Extractor,把视频拖进去,选择输出格式,导出。
适合:单个文件、几十 MB 到几百 MB、不想装 FFmpeg。
要注意两点:
- 处理在浏览器本地完成,文件不上传,但大文件受内存限制
- 如果它默认输出 MP3,而你想要无损,先确认能不能选”原始音频/复制”模式
方法二:FFmpeg(推荐,参数可控)
无损提取
1 | ffmpeg -i input.mp4 -vn -c:a copy output.m4a |
| 参数 | 作用 |
|---|---|
-vn |
丢弃视频流,只要音频 |
-c:a copy |
音频流直接复制,不重编码 |
output.m4a |
AAC 音轨装进 m4a 容器最自然 |
几秒钟就跑完,因为几乎没做计算。文件大小基本等于原视频里的音频部分。
如果源音频是 AC3/DTS,-c:a copy 输出 .m4a 可能不兼容,改成 .mkv 或 .ac3 更稳:
1 | ffmpeg -i input.mkv -vn -c:a copy output.ac3 |
转成 MP3
1 | ffmpeg -i input.mp4 -vn -c:a libmp3lame -b:a 192k output.mp3 |
码率怎么选,取决于用途而不是”越高越好”:
| 码率 | 适用 | 说明 |
|---|---|---|
| 128 kbps | 语音、会议、播客 | 人声够用,体积小 |
| 192 kbps | 通用 | 音乐和语音都不出错,推荐默认 |
| 320 kbps | 音乐、要再加工 | 体积大,收益递减 |
注意:源音频如果是 128 kbps 的 AAC,转成 320 kbps MP3 不会变好,只会变大。码率只能保留,不能创造。
只要其中一段
1 | ffmpeg -i input.mp4 -ss 00:12:30 -t 00:05:00 -vn -c:a libmp3lame -b:a 192k clip.mp3 |
-ss 是起点,-t 是持续时长(不是终点)。这个区别很多人搞错,结果截出来的长度不对。
第 3 步:验证
1 | ffprobe -hide_banner output.mp3 |
看三件事:
- Duration 是否和你要的片段一致
Audio:后面是不是你期望的编码(aac / mp3)- 采样率和声道数有没有变(44.1kHz 变 22kHz 通常是某处重采样了)
再用播放器听开头 5 秒和结尾 5 秒,确认没被截断。
常见问题
Q:提取出来的音频没声音?
源视频里那一路音频可能是静音轨,或者有多条音轨而你取错了。先看有几条:
1 | ffprobe -hide_banner input.mp4 |
有多条 Audio 流时,用 -map 0:a:1 指定第二条。
Q:提取后音质明显变差?
说明中间发生了重编码。检查命令里有没有 -c:a copy;如果用的是图形工具,看它是否强制转成了 MP3。
Q:文件比预想的大很多?
无损提取的大小就是原始音频大小,本来就大。要小只能转码,这是取舍。
Q:能直接把音频转成文字吗?
可以,但那是另一个步骤。FlowPick 有 Video to Text / Audio to Text,识别质量受口音、背景噪声、术语密度影响,专业名词多的内容需要人工校对。
Q:视频有好几条音轨(多语言),怎么全取出来?
1 | ffmpeg -i input.mkv -vn -map 0:a -c:a copy track_%d.m4a |
%d 会按序号生成多个文件。
小结
先决定要”无损”还是”通用格式”,这一步决定后面所有参数:
- 无损:
-vn -c:a copy,快、零损失、体积等于原始 - 通用:
-vn -c:a libmp3lame -b:a 192k,慢一点、有损、兼容性最好
最常犯的错是本可以无损却选了转码,白白多一层损失。
本文命令基于 2026 年 11 月的 FFmpeg 版本。图形工具的选项名称可能随版本变化。