从mp4中提取wav音频文件

需求
从mp4文件中提取wav音频文件

运行效果

mp4:
在这里插入图片描述

运行后脚本后提取出的wav文件
在这里插入图片描述

代码

import os.path

import moviepy.editor as mpe

# 导出格式设置
FPS = 16000  # 声明帧率
NBYTES = 16  # 声明位长
FFMPEG_PARAMS = ["-ac", "1"]  # 单声道设置

def mp4_to_wav(mp4_path, wav_path):
    """
    mp4 ——> wav
    :param mp4_path: mp4文件的路径
    :param wav_path: 提取出的wav存储目录
    :return:
    """
    if(os.path.exists(mp4_path) == False or os.path.exists(wav_path) == wav_path):
        print("路径出错,请确认mp4_path和wav_path存在")
        exit(-1)

    video = mpe.VideoFileClip(mp4_path)
    audio = video.audio
    wav_path = os.path.join(wav_path, os.path.splitext(os.path.basename(mp4_path))[0] + ".wav")
    audio.write_audiofile(wav_path, FPS, ffmpeg_params=FFMPEG_PARAMS)
    print(mp4_path + '已转换成功~')

def mp4s_to_wavs(mp4_dir, wav_dir):
    """
    从mp4_dir目录下的所有视频提取出wav音频
    :param mp4_dir: mp4文件存储目录
    :param wav_dir: 提取出的wav存储目录
    :return:
    """
    if(os.path.exists(mp4_dir) == False or os.path.exists(wav_dir) == False):
        print("路径出错,请确认mp4_dir和wav_dir存在")
        exit(-1)
    for mp4_file in os.listdir(mp4_dir):
        mp4_to_wav(os.path.join(mp4_dir, mp4_file), wav_dir)

if __name__ == '__main__':
    # mp4_to_wav("D:\\TAL\\音视频脚本测试数据\\mp4\\1.mp4", "D:\\TAL\\音视频脚本测试数据\\wavs\\")
    mp4s_to_wavs("D:\\TAL\\音视频脚本测试数据\\mp4", "D:\\TAL\\音视频脚本测试数据\\wavs")
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值