news 2026/7/27 1:54:15

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/7/23 7:54:39

UE5 C++(24-2):

(138) (139) 谢谢

作者头像 李华
网站建设 2026/7/23 7:55:34

护网攻防演练全流程详解:从准备到复盘,小白速成指南

护网攻防演练全流程,网安小白必看! 演练全流程拆解 准备阶段: ◦ 组织方:确定参演单位、制定规则、组建紫队。 ◦ 蓝队:资产盘点、漏洞修复、安全加固、预案演练。 ◦ 红队:情报收集、武器制备、环境搭…

作者头像 李华
网站建设 2026/7/17 14:12:05

最新面向自然科学领域机器学习与深度学习技术应用

随着观测技术、数值模拟与计算基础设施的迅猛发展,地球系统科学、生态学、环境科学等自然科学领域正迈入“大数据智能模型”驱动的新阶段。传统的统计建模方法虽具可解释性,却难以应对高维、非线性、多源异构的复杂自然系统;而以机器学习和深…

作者头像 李华
网站建设 2026/7/17 9:47:21

内联数组内存优化实战(20年专家经验倾囊相授)

第一章:内联数组内存优化在高性能编程中,内存布局对程序执行效率具有显著影响。内联数组作为一种将数据直接嵌入结构体或对象中的技术,能够有效减少内存碎片和指针跳转开销,从而提升缓存命中率。内联数组的优势 避免动态内存分配带…

作者头像 李华
网站建设 2026/7/25 3:16:31

蓝牙产品申请BQB认证需要准备哪些材料?

申请蓝牙 BQB 认证的材料可按企业资质、产品技术文档、测试相关文件、样品四大核心类别准备,且会根据认证路径(完整认证 / 模块复用列名)略有差异,以下是覆盖全场景的详细清单,可直接用于实操准备:一、企业…

作者头像 李华
网站建设 2026/7/20 11:28:48

你还在用线程池?下一代分布式调度已全面转向虚拟线程

第一章:你还在用线程池?下一代分布式调度已全面转向虚拟线程随着Java 21正式引入虚拟线程(Virtual Threads),传统基于平台线程的线程池模式正面临根本性颠覆。虚拟线程由JVM在用户空间轻量级调度,无需绑定操…

作者头像 李华