• 使用python批量调整视频声音


    今天来研究python中moviepy模块的用途

    近来有大量处理视频的需求,

    常会碰到一个问题是下载的视频音量过小,

    会需要将它调大声,

    虽然有在线工具VideoLouder可以免费调整视频音量大小,

    但毕竟若量很大的话一个一个上传视频也是挺麻烦的事情,

    因此决定再用程序帮忙解决。

    使用教学

    基础程序

    调整一个视频音量的代码如下:

    from moviepy.editor import VideoFileClip,concatenate_videoclips
    
    clip = VideoFileClip(“1.mp4”)#获取视频1.mp4(视频需与程序置于同一文件夹)
    
    newclip = clip.volumex(5)#将音量调整为5倍
    
    newclip.write_videofile(“out.mp4”)#输出影片名为out.mp4

    但实测会出现错误AttributeError: 'NoneType' object has no attribute 'stdout',

    经研究后,似乎是moviepy版本的问题,

    最新的版本为1.0.1,

    可以于anaconda prompt中下指令pip list查看自己所有已安装的模块版本。

    实测要安装moviepy版本1.0.0才可正常使用,

    在anaconda prompt使用pip install moviepy==1.0.0指令即可运作上述代码。

    批量修改视频音量

    想要一次修改多个视频的音量,

    小马的代码如下,

    首先我将所有欲修改的视频放入当前程序路径下的music文件夹中,

    这边关键会用到python内置模块os,

    • os.getcwd()是取得当前程序的工作路径
    • os.chdir()可以改变当前程序的工作路径
    • os.listdir()可以取得指定路径下的所有档案名称
    import os
    from moviepy.editor import VideoFileClip, concatenate_videoclips
            
    def batch_volumex(path, x):
        # 函数功能:在指定路径下,将该文件夹的视频声音调为x倍
        origin_path = os.getcwd()
        os.chdir(path)
        for fname in os.listdir():
            clip = VideoFileClip(fname)
            newclip = clip.volumex(x)
            newclip.write_videofile("new_"+fname)
        os.chdir(origin_path)
    
    path = './music'
    batch_volumex(path, 5)

    这支程序可以将music文件夹下的所有影片的音量调为5倍,

    并将影片名称前加“new_”字串输出 马蜂窝店铺怎么推广?马蜂窝店铺代运营  https://www.douban.com/group/topic/166601482/

    (注:若原视频声音很小,实测音量大概要调3~5倍才会有感)

  • 相关阅读:
    Ajax删除效果
    40个有用的jQuery技术和教程
    ZAM 3D入门教程(8):Zam3D中的材质
    ZAM 3D入门教程(5):Lathe编辑器
    Windows Phone 7 玻璃框消息提示
    Ajax留言板
    ZAM 3D入门教程(1):初识ZAM 3D
    ZAM 3D入门教程(4):Extrusion编辑器
    C#生成CHM文件(汇总篇)
    推荐一些网站给大家
  • 原文地址:https://www.cnblogs.com/yuqiao668/p/12408942.html
Copyright © 2020-2023  润新知