ffmpeg 如何提取视频的音频文件(自用)

1,923 阅读2分钟

使用 FFmpeg 提取视频的音频文件是一个非常常见的操作。你可以从视频文件中提取音频并保存为常见的音频格式(如 MP3、AAC、WAV 等)。以下是如何实现的步骤。

1. 提取音频并保存为 MP3 格式

假设你有一个视频文件 input.mp4,你想提取其中的音频并保存为 output.mp3。可以使用以下命令:

ffmpeg -i input.mp4 -vn -acodec libmp3lame -ar 44100 -ac 2 -ab 192k output.mp3

-i input.mp4:指定输入的视频文件。

-vn:表示不处理视频(no video),仅提取音频。

-acodec libmp3lame:使用 libmp3lame 编码器将音频编码为 MP3 格式。

-ar 44100:设置音频采样率为 44.1 kHz。

-ac 2:设置音频为立体声(2 个通道)。

-ab 192k:设置音频比特率为 192 kbps。

2. 提取音频并保存为 WAV 格式

如果你想提取音频并保存为 WAV 格式,可以使用以下命令:

ffmpeg -i input.mp4 -vn -acodec pcm_s16le output.wav

pcm_s16le 是 WAV 格式常用的音频编码方式,表示 16 位小端编码。

-vn:不处理视频,提取音频。

3. 提取音频并保存为 AAC 格式

如果你想提取音频并保存为 AAC 格式,可以使用以下命令:

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

-acodec aac:使用 AAC 编码器进行音频编码。

-b:a 192k:设置音频比特率为 192 kbps。

4. 保持原始音频格式(不转换)

如果你只是想提取音频而不转换格式(即保持原视频文件中已有的音频编码格式),你可以使用以下命令:

ffmpeg -i input.mp4 -vn -acodec copy output.aac

-acodec copy:直接复制音频流,而不进行重新编码。

这样会保留视频中原始的音频格式(例如 MP4 中常见的 AAC 格式),如果原始音频格式支持的容器与目标文件扩展名一致,会自动适配。

5. 查看视频中的音频信息

如果你不确定视频中的音频编码格式,可以首先用以下命令查看音频流信息:

ffmpeg -i input.mp4

这将显示视频文件的所有流信息,包括音频编码格式、比特率、采样率等。你可以根据音频流的信息决定使用什么样的编码器来提取音频。

总结

提取音频并保存为 MP3:

ffmpeg -i input.mp4 -vn -acodec libmp3lame -ar 44100 -ac 2 -ab 192k output.mp3

提取音频并保存为 WAV:

ffmpeg -i input.mp4 -vn -acodec pcm_s16le output.wav

提取音频并保存为 AAC:

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

通过这些命令,你可以灵活地提取视频中的音频并保存为你需要的格式。