批量导出MP4的音频 Python+ffmpeg

博客提出需求,先用无损视频裁剪合并编辑工具SolveigMM Video Splitter Business Edition 5将视频素材剪切成多段mp4,再通过脚本提取所有mp4的音频,涉及视频处理与音频提取操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:先把把视频素材用 无损视频裁剪合并编辑工具SolveigMM Video Splitter Business Edition 5 剪切成很多段mp4,然后用这个脚本提取所有mp4的音频

import os

#批量导出MP4的音频

indir = "G:/PythonIO/video"

def dirlist(path, allfile):
    filelist = os.listdir(path)

    for filename in filelist: #广义
        filepath = os.path.join(path, filename)
        if os.path.isdir(filepath):
            dirlist(filepath, allfile)

        elif filepath.endswith("mp4"):

            filepath = filepath.replace("\\","/")
            allfile.append(filepath)
            print(filepath)
    return allfile


allfile = dirlist(indir,[])
i = 1
for infile in allfile:
    os.system("ffmpeg -i \""+ infile +"\" -f mp3 "+str(i)+".mp3")
    i+=1
### Python 实现视频转换为音频的功能 以下是通过 `moviepy` 库实现将视频文件转换为音频文件的代码示例。此库支持多种媒体操作,包括提取音频轨道。 #### 安装依赖 首先需要安装 `moviepy` 和其依赖项: ```bash pip install moviepy ``` #### 示例代码 以下是一个完整的代码片段,用于将指定路径下的视频文件转换为 MP3 音频文件: ```python from moviepy.editor import VideoFileClip def video_to_audio(video_path, audio_path): """ 将视频文件中的音频部分提取并保存为单独的音频文件。 参数: video_path (str): 输入视频文件的路径。 audio_path (str): 输出音频文件的路径。 """ try: # 加载视频剪辑对象 clip = VideoFileClip(video_path) # 提取音频导出到目标路径 clip.audio.write_audiofile(audio_path) print(f"音频已成功提取并保存至 {audio_path}") except Exception as e: print(f"发生错误: {e}") # 使用示例 video_file = "example_video.mp4" audio_file = "output_audio.mp3" video_to_audio(video_file, audio_file) ``` 以上代码会加载输入视频文件,并将其音频部分提取出来保存为目标音频文件。如果运行过程中出现问题,则会在控制台打印具体的异常信息[^1]。 --- ### 关于方法的选择 除了 `moviepy` 外,还可以考虑使用命令行工具 FFmpeg 并结合 Python 的子进程模块调用它完成相同任务。FFmpeg 是一种强大的多媒体处理工具,能够高效地执行音视频转换工作。然而对于初学者来说,`moviepy` 更加直观易用[^2]。 另外需要注意的是,在实际项目开发当中可能还会涉及到批量处理多个文件等情况;此时可以进一步扩展函数逻辑以满足需求[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值