如何用python批量调整视频声音


Posted in Python onDecember 22, 2020

今天来研究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批量调整视频声音的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python调用短信猫控件实现发短信功能实例
Jul 04 Python
python里大整数相乘相关技巧指南
Sep 12 Python
python操作CouchDB的方法
Oct 08 Python
python 远程统计文件代码分享
May 14 Python
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
Jul 20 Python
关于Python中空格字符串处理的技巧总结
Aug 10 Python
利用python实现微信头像加红色数字功能
Mar 26 Python
Python实现判断给定列表是否有重复元素的方法
Apr 11 Python
详解Python打包分发工具setuptools
Aug 05 Python
python数字类型math库原理解析
Mar 02 Python
Python基于httpx模块实现发送请求
Jul 07 Python
python调用摄像头的示例代码
Sep 28 Python
分享一个python的aes加密代码
Dec 22 #Python
解决PyCharm无法使用lxml库的问题(图解)
Dec 22 #Python
去除python中的字符串空格的简单方法
Dec 22 #Python
Python lxml库的简单介绍及基本使用讲解
Dec 22 #Python
Python中过滤字符串列表的方法
Dec 22 #Python
python中@property的作用和getter setter的解释
Dec 22 #Python
地图可视化神器kepler.gl python接口的使用方法
Dec 22 #Python
You might like
深入php define()函数以及defined()函数的用法详解
2013/06/05 PHP
PHP Global定义全局变量使用说明
2013/08/15 PHP
从PHP $_SERVER相关参数判断是否支持Rewrite模块
2013/09/26 PHP
PHP使用Nginx实现反向代理
2017/09/20 PHP
浅谈PHP无限极分类原理
2019/03/14 PHP
Javascript select下拉框操作常用方法
2009/11/09 Javascript
Extjs EditorGridPanel中ComboBox列的显示问题
2011/07/04 Javascript
一些有用的JavaScript和jQuery的片段分享
2011/08/23 Javascript
js操作IE浏览器弹出浏览文件夹可以返回目录路径
2014/07/14 Javascript
jquery实现可拖拽弹出层特效
2015/01/04 Javascript
javascript实现3D切换焦点图
2015/10/16 Javascript
Bootstrap每天必学之前端开发框架
2015/11/19 Javascript
jquery.validate使用详解
2016/06/02 Javascript
javascript基础知识之html5轮播图实例讲解(44)
2017/02/17 Javascript
jQuery滚动监听实现商城楼梯式导航效果
2017/03/06 Javascript
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
Vue-Router进阶之滚动行为详解
2017/09/13 Javascript
js实现单张图片平移切换效果
2017/10/11 Javascript
详解使用uni-app开发微信小程序之登录模块
2019/05/09 Javascript
Vue实现回到顶部和底部动画效果
2019/07/31 Javascript
使用Python获取Linux系统的各种信息
2014/07/10 Python
Python中splitlines()方法的使用简介
2015/05/20 Python
python处理二进制数据的方法
2015/06/03 Python
Python正则替换字符串函数re.sub用法示例
2017/01/19 Python
python列表的增删改查实例代码
2018/01/30 Python
python接口自动化(十六)--参数关联接口后传(详解)
2019/04/16 Python
python3.6使用SMTP协议发送邮件
2020/05/20 Python
什么是规则表达式
2012/05/03 面试题
电子信息工程专业推荐信
2014/02/14 职场文书
借款协议书范本
2014/04/22 职场文书
院党委组织查摆问题对照检查材料思想汇报2014
2014/10/08 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
2015秋季运动会通讯稿
2015/07/18 职场文书
2015年美容师个人工作总结
2015/10/14 职场文书
2019年家电促销广告语集锦
2019/10/21 职场文书
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
2022/04/09 MySQL