五指山市网站建设_网站建设公司_留言板_seo优化
2026/1/13 17:37:50 网站建设 项目流程

在日常开发或音频处理场景中,我们经常需要从大量视频文件中批量提取音频,例如:

  • 从课程视频中提取音频
  • 将短视频转为 MP3
  • 做语音识别 / 音频分析前处理

本文介绍一种使用 Python 调用 FFmpeg的通用方案,同时支持 Windows、macOS 和 Linux


一、环境准备

1️⃣ 安装 Python

确保已安装Python 3.7+

python --version

2️⃣ 安装 FFmpeg(关键)

FFmpeg 是跨平台音视频处理神器,本脚本依赖它。


✅ Windows
  1. 下载 FFmpeg
    👉 https://ffmpeg.org/download.html
  2. 解压后,将bin目录加入系统环境变量 PATH
  3. 验证:
ffmpeg -version

✅ macOS(推荐 Homebrew)
brewinstallffmpeg

验证:

ffmpeg -version

✅ Linux(Ubuntu / Debian)
sudoaptupdatesudoaptinstallffmpeg

CentOS / Rocky:

sudoyuminstallffmpeg

二、项目目录结构

project/ ├── v/ # 存放视频文件 │ ├── a.mp4 │ ├── b.mkv │ └── c.mov ├── mp3/ # 输出 MP3 音频 └── extract_audio.py

📌 支持格式:mp4 / mov / avi / mkv(可自行扩展)


三、完整 Python 脚本

importosimportsubprocessdefextract_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}")exceptsubprocess.CalledProcessError:print(f"❌ 处理失败:{video_file}")defprocess_videos(input_dir,output_dir):os.makedirs(output_dir,exist_ok=True)forfile_nameinos.listdir(input_dir):iffile_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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询