文章目录
目录
- 一、环境准备
- 安装 Python
- 安装 FFmpeg(关键)
- 二、项目目录结构
- 三、完整 Python 脚本
- 四、运行方式(全平台通用)
在日常开发或音频处理场景中,我们经常需要从大量视频文件中批量提取音频,例如:
- 从课程视频中提取音频
- 将短视频转为 MP3
- 做语音识别 / 音频分析前处理
本文介绍一种 使用 Python 调用 FFmpeg 的通用方案,同时支持 Windows、macOS 和 Linux。

确保已安装 Python 3.7+
python --version
FFmpeg 是跨平台音视频处理神器,本脚本依赖它。
Windows
1.下载 FFmpeg
2.解压后,将 bin 目录加入 系统环境变量 PATH
3.验证:
ffmpeg -version
macOS(推荐 Homebrew)
brew install ffmpeg
验证:
ffmpeg -version
Linux(Ubuntu / Debian)
sudo apt update sudo apt install ffmpeg
CentOS / Rocky:
sudo yum install ffmpeg
project/
├── v/ # 存放视频文件
│ ├── a.mp4
│ ├── b.mkv
│ └── c.mov
├── mp3/ # 输出 MP3 音频
└── extract_audio.py
project/
├── v/ # 存放视频文件
│ ├── a.mp4
│ ├── b.mkv
│ └── c.mov
├── mp3/ # 输出 MP3 音频
└── extract_audio.py
支持格式:mp4 / mov / avi / mkv(可自行扩展)
import os
import subprocess
def extract_audio(video_file, output_dir):
# 构建输出文件路径
output_file = os.path.join(
output_dir,
os.path.splitext(os.path.basename(video_file))[0] + '.mp3'
)
# ffmpeg 命令
command = [
'ffmpeg',
'-i', video_file,
'-vn', # 不处理视频流
'-acodec', 'libmp3lame', # MP3 编码器
'-ab', '192k', # 音频码率
output_file
]
try:
subprocess.run(command, check=True)
print(f"✅ 音频已提取:{output_file}")
except subprocess.CalledProcessError:
print(f"❌ 处理失败:{video_file}")
def process_videos(input_dir, output_dir):
os.makedirs(output_dir, exist_ok=True)
for file_name in os.listdir(input_dir):
if file_name.lower().endswith(('.mp4', '.mov', '.avi', '.mkv')):
video_path = os.path.join(input_dir, file_name)
extract_audio(video_path, output_dir)
if __name__ == "__main__":
input_dir = './v'
output_dir = './mp3'
process_videos(input_dir, output_dir)
在项目根目录执行:
python extract_audio.py
运行后效果:
mp3/
├── a.mp3
├── b.mp3
└── c.mp3
到此这篇关于Python结合FFmpeg实现批量提取视频音频的文章就介绍到这了,更多相关Python提取视频音频内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!
您可能感兴趣的文章:
- Python轻松实现提取视频音频并去除静音片段
- Python基于MoviePy实现一键提取视频音频并生成MP3
- 详解如何使用Python提取视频文件中的音频
- Python+moviepy实现音频/视频提取器
- 使用python提取PowerPoint中的音频和视频
- python提取视频中的音频的实现示例
- python 提取视频中的音频工具类详解
- 提取视频中的音频 Python只需要三行代码!
- Python从视频中提取音频的操作