当前位置: 代码网 > it编程>前端脚本>Python > Python结合FFmpeg实现批量提取视频音频

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

2026年01月13日 Python 我要评论
在日常开发或音频处理场景中,我们经常需要从大量视频文件中批量提取音频,例如:从课程视频中提取音频将短视频转为 mp3做语音识别 / 音频分析前处理本文介绍一种使用 python 调用 ffmpeg的通

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

  • 从课程视频中提取音频
  • 将短视频转为 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提取视频音频内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com