Python结合FFmpeg实现批量提取视频音频

 更新时间:2026年01月13日 14:47:50   作者:weixin_46244623  
在日常开发或音频处理场景中,我们经常需要从大量视频文件中批量提取音频,本文介绍一种 使用 Python 调用 FFmpeg 的通用方案,同时支持 Windows、macOS 和 Linux,有需要的小伙伴可以了解下

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

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

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

一、环境准备

安装 Python

确保已安装 Python 3.7+

python --version

安装 FFmpeg(关键)

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

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

三、完整 Python 脚本

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实现调用jar或执行java代码的方法详解

    Python实现调用jar或执行java代码的方法详解

    这篇文章主要介绍了Python实现调用jar或执行java代码的方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Python数据分析之 Matplotlib 饼图绘制

    Python数据分析之 Matplotlib 饼图绘制

    这篇文章主要介绍了Python数据分析之 Matplotlib 饼图绘制,文章基于python的相关资料展开详细的饼图绘制,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • python异常处理和日志处理方式

    python异常处理和日志处理方式

    今天小编就为大家分享一篇python异常处理和日志处理方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • python数据处理之如何选取csv文件中某几行的数据

    python数据处理之如何选取csv文件中某几行的数据

    这篇文章主要给大家介绍了关于python数据处理之如何选取csv文件中某几行的数据的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • pandas DataFrame 数据选取,修改,切片的实现

    pandas DataFrame 数据选取,修改,切片的实现

    这篇文章主要介绍了pandas DataFrame 数据选取,修改,切片的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python科学画图代码分享

    Python科学画图代码分享

    这篇文章主要介绍了Python科学画图代码分享,涉及matplotlib库的简单介绍,分享了matplotlib绘图库书籍的下载地址,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • python的django写页面上传文件及遇到的问题小结

    python的django写页面上传文件及遇到的问题小结

    这篇文章主要介绍了python的django写页面上传文件以及遇到的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • Python利用itchat模块定时给朋友发送微信信息

    Python利用itchat模块定时给朋友发送微信信息

    这篇文章主要介绍了在Python中利用itchat模块编写一个爬虫脚本,可以实现每天定时给朋友发微信暖心话,感兴趣的可以跟随小编一起学习一下
    2022-01-01
  • Python第三方模块apscheduler安装和基本使用

    Python第三方模块apscheduler安装和基本使用

    本文主要介绍了Python第三方模块apscheduler安装和基本使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • django进阶之cookie和session的使用示例

    django进阶之cookie和session的使用示例

    这篇文章主要介绍了django进阶之cookie和session的使用示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08

最新评论