news 2026/6/10 19:58:51

Python + FFmpeg 批量提取视频音频(支持 Windows / macOS / Linux)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python + FFmpeg 批量提取视频音频(支持 Windows / macOS / Linux)

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

  • 从课程视频中提取音频
  • 将短视频转为 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
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 9:28:18

Open-AutoGLM项目实战:在Android设备上实现自动操作与ADB键盘控制

项目简介 本文将详细介绍如何使用Open-AutoGLM项目实现对Android设备的自动控制,包括ADB键盘配置和设备连接设置。 ⚠️ 本文章仅供研究和学习使用。严禁用于非法获取信息、干扰系统或任何违法活动。请仔细审阅 使用条款 1. 项目获取与安装 首先,克隆项…

作者头像 李华
网站建设 2026/6/10 9:24:16

30人左右的小企业如何做文件共享?实现文件高效管理

企业团队紧凑、业务灵活,却常被企业文件管理的 “小事” 绊住脚:有人在微信群里翻半小时找历史合同,有人因本地硬盘损坏导致客户资料归零。那么,30人左右的小企业如何优雅地解决文件共享难题? 一、30人小企业文件共享…

作者头像 李华
网站建设 2026/6/10 9:26:47

大模型工程师月薪4万+!国家战略护航,500万人才缺口,小白也能入门的AI学习指南_AI大模型架构师月薪均4.6万,人才缺口500万!

人工智能领域,特别是大模型相关岗位薪资高企(AI架构师月薪超4万),国家政策大力支持,人才缺口达500万。人工智能是多学科交叉专业,核心课程包括机器学习、深度学习等。开设院校众多,可按顶配资源…

作者头像 李华
网站建设 2026/6/10 9:26:15

低代码平台Python插件开发指南(仅限高级工程师掌握的机密方案)

第一章:低代码平台Python插件开发的核心价值在现代软件开发中,低代码平台通过可视化界面显著提升了应用构建效率。然而,面对复杂业务逻辑或特定功能需求时,平台内置组件往往难以满足全部场景。此时,Python插件开发成为…

作者头像 李华
网站建设 2026/6/10 9:27:12

中断导致数据 corruption?,立即掌握C语言环境下的4步防护机制

第一章:中断导致数据 corruption 的根源剖析在现代操作系统和嵌入式系统中,中断是实现异步事件响应的核心机制。然而,若中断处理不当,极易引发数据 corruption,尤其是在共享资源未加保护的场景下。这类问题通常难以复现…

作者头像 李华
网站建设 2026/6/10 9:39:21

为什么90%的边缘AI项目失败?Python部署避坑指南来了

第一章:边缘AI项目失败的根源剖析在边缘AI项目的实施过程中,许多团队面临性能不达预期、部署失败或维护成本过高的问题。这些问题往往并非源于单一技术缺陷,而是由多个系统性因素交织导致。硬件与模型不匹配 边缘设备资源有限,而部…

作者头像 李华