如何用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爬虫学习,轻松爬取大规模数据
Jan 03 Python
Django数据库表反向生成实例解析
Feb 06 Python
Python语言的变量认识及操作方法
Feb 11 Python
python统计多维数组的行数和列数实例
Jun 23 Python
对python GUI实现完美进度条的示例详解
Dec 13 Python
Python列表元素常见操作简单示例
Oct 25 Python
Django项目中使用JWT的实现代码
Nov 04 Python
Python实现直播推流效果
Nov 26 Python
有关pycharm登录github时有的时候会报错connection reset的问题
Sep 15 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
Jan 12 Python
python使用scapy模块实现ping扫描的过程详解
Jan 21 Python
浅谈pytorch中stack和cat的及to_tensor的坑
May 20 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
discuz的php防止sql注入函数
2011/01/17 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
2020/10/01 PHP
php保存二进制原始数据为图片的程序代码
2014/10/14 PHP
php使用curl获取header检测开启GZip压缩的方法
2018/08/15 PHP
javascript 处理HTML元素必须避免使用的一种方法
2009/07/30 Javascript
关于Jqzoom的使用心得 jquery放大镜效果插件
2010/04/12 Javascript
Notify - 基于jquery的消息通知插件
2011/10/18 Javascript
浅谈JavaScript Array对象
2014/12/29 Javascript
jquery实现鼠标滑过后动态图片提示效果实例
2015/08/10 Javascript
AngularJS教程之简单应用程序示例
2016/08/16 Javascript
jquery实现弹窗功能(窗口居中显示)
2017/02/27 Javascript
详解vue的数据binding绑定原理
2017/04/12 Javascript
bootstrap日期控件问题(双日期、清空等问题解决)
2017/04/19 Javascript
js基于FileSaver.js 浏览器导出Excel文件的示例
2017/08/15 Javascript
浅谈Angular2 模块懒加载的方法
2017/10/04 Javascript
React-Router如何进行页面权限管理的方法
2017/12/06 Javascript
浅析vue中常见循环遍历指令的使用 v-for
2018/04/18 Javascript
vue路由组件按需加载的几种方法小结
2018/07/12 Javascript
详解微信UnionID作用
2019/05/15 Javascript
vue实现多组关键词对应高亮显示功能
2019/07/25 Javascript
如何解决日期函数new Date()浏览器兼容性问题
2019/09/11 Javascript
关于ligerui子页面关闭后,父页面刷新,重新加载的方法
2019/09/27 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
2020/11/12 Javascript
[02:31]DOTA2帕克 英雄基础教程
2013/11/26 DOTA
十个Python程序员易犯的错误
2015/12/15 Python
通过5个知识点轻松搞定Python的作用域
2016/09/09 Python
初学python的操作难点总结(新手必看篇)
2017/08/03 Python
不管你的Python报什么错,用这个模块就能正常运行
2018/09/14 Python
PyCharm设置护眼背景色的方法
2018/10/29 Python
Python numpy多维数组实现原理详解
2020/03/10 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
英国在线购买马术服装:EQUUS
2019/07/12 全球购物
领先的荷兰线上超市:荷兰之家Holland at Home(支持中文)
2021/01/21 全球购物
导游词开场白
2015/01/31 职场文书
浅谈自定义校验注解ConstraintValidator
2021/06/30 Java/Android
详细聊一聊mysql的树形结构存储以及查询
2022/04/05 MySQL