Python脚本批量提取MP4音频并保存至原目录

远山来客
远山来客
发布时间:2026-10-11| 3人浏览过
原创

本文介绍如何使用Python脚本结合pydub库,批量从指定目录及其子目录中提取MP4视频中的音频,并保存为MP3格式至原目录。脚本通过os.walk遍历文件夹,利用glob匹配视频文件,最终调用AudioSegment进行转换。

脚本功能与前置条件

该Python脚本的主要功能是从MP4(及FLV)视频中提取音频,并将其保存为MP3格式。输出文件将直接保存在视频所在的原始目录中。在运行脚本之前,需要确保环境中已安装ffmpeg,因为pydub依赖ffmpeg来处理音频转换。此外,脚本默认使用单线程进行转换,这可能导致处理耗时较长。

代码实现与操作

脚本通过以下步骤实现批量处理:

  1. 获取目录列表:使用os.walk遍历用户输入的父文件夹路径,收集所有子目录。
  2. 遍历视频文件:在每个子目录中,使用glob匹配*.mp4和*.flv格式的视频文件。
  3. 提取音频:利用pydub库的AudioSegment类,从视频文件中提取音频,并导出为MP3格式。
  4. 保存与提示:生成的MP3文件与原视频同名,保存在同一目录下。每处理一个视频,脚本会打印提示信息。
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time   : 2020/2/26 17:36
# @Author  : CuiFeiran
# @FileName : tool.py
# @Software : PyCharm
# @email  :cui2025@126.com
# @Blog   : https://blog.csdn.net/qq_33273956
# @bilibili : https://space.bilibili.com/368768799
import os
import glob
from pydub import AudioSegment

wenjianjia = []
path = input('请输入要转码的父文件夹路径:')
for root, dirs, files in os.walk(path):
  wenjianjia.append(root)
wjj = wenjianjia
for dir in wjj:
  video_dir = dir
  extension_list = ('*.mp4', '*.flv')
  i = 1
  os.chdir(video_dir)
  for extension in extension_list:
    for video in glob.glob(extension):
      mp3_filename = os.path.splitext(os.path.basename(video))[0] + '.mp3'
      AudioSegment.from_file(video).export(mp3_filename, format='mp3')
      print('已转码', str(i), '个视频!')
      i += 1
  #
  # for infile in glob.glob(os.path.join(video_dir, '*.mp4')):
  #   os.remove(infile)

注意事项

脚本中注释掉的部分(os.remove)用于删除原始视频文件,若需执行此操作,请取消注释并谨慎操作,建议先备份重要数据。此外,由于转换过程为单线程,处理大量视频时可能需要较长时间。

以上就是Python脚本批量提取MP4音频并保存至原目录的详细内容,更多关于Python音频处理、pydub库使用及视频转换的资料请关注本站其它相关文章!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。