今天来研究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_”字串输出 

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

以上就是如何用python批量调整视频声音的详细内容,更多关于python批量调整视频声音的资料请关注其它相关文章!

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?