如何用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聊天程序实例代码分享
Nov 18 Python
python3使用PyMysql连接mysql数据库实例
Feb 07 Python
python操作mysql数据库
Mar 05 Python
Python爬虫爬取一个网页上的图片地址实例代码
Jan 16 Python
python实现对求解最长回文子串的动态规划算法
Jun 02 Python
在python中安装basemap的教程
Sep 20 Python
Python django使用多进程连接mysql错误的解决方法
Oct 08 Python
Python设计模式之观察者模式原理与用法详解
Jan 16 Python
python tkinter canvas使用实例
Nov 04 Python
Python 中使用 PyMySQL模块操作数据库的方法
Nov 10 Python
关于Tensorflow分布式并行策略
Feb 03 Python
python 动态绘制爱心的示例
Sep 27 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自定义类fsocket模拟post或get请求的方法
2015/07/31 PHP
PHP 使用二进制保存用户状态的实例
2018/01/29 PHP
在PHP中输出JS语句以及乱码问题的解决方案
2019/02/13 PHP
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
2014/11/23 Javascript
JavaScript中的依赖注入详解
2015/03/18 Javascript
简单实现JS计算器功能
2016/12/21 Javascript
Bootstrap警告(Alerts)的实现方法
2017/03/22 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
BootStrap selectpicker后台动态绑定数据的方法
2017/07/28 Javascript
实现div滚动条默认最底部以及默认最右边的示例代码
2017/11/15 Javascript
Bootbox将后台JSON数据填充Form表单的实例代码
2018/09/10 Javascript
用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)
2018/12/05 Javascript
详解Next.js页面渲染的优化方案
2019/01/27 Javascript
Angular单元测试之事件触发的实现
2020/01/20 Javascript
原生js实现的金山打字小游戏(实例代码详解)
2020/03/16 Javascript
vue 输入电话号码自动按3-4-4分割功能的实现代码
2020/04/30 Javascript
python访问sqlserver示例
2014/02/10 Python
一个计算身份证号码校验位的Python小程序
2014/08/15 Python
python实现带错误处理功能的远程文件读取方法
2015/04/29 Python
解析Python中的二进制位运算符
2015/05/13 Python
Python实现批量读取word中表格信息的方法
2015/07/30 Python
python 对dataframe下面的值进行大规模赋值方法
2018/06/09 Python
Python函数any()和all()的用法及区别介绍
2018/09/14 Python
python3转换code128条形码的方法
2019/04/17 Python
python统计mysql数据量变化并调用接口告警的示例代码
2020/09/21 Python
安装Anaconda3及使用Jupyter的方法
2020/10/27 Python
Speedo美国:澳大利亚顶尖泳衣制造商
2016/08/03 全球购物
澳洲国民品牌乡村路折扣店:Country Road & Trenery Outlet
2018/04/19 全球购物
美国正版电视节目和电影在线观看:Hulu
2018/05/24 全球购物
会计自荐书
2013/12/02 职场文书
送货司机岗位职责
2013/12/11 职场文书
中学家长会邀请函
2014/02/03 职场文书
宾馆前台接待岗位职责
2015/04/02 职场文书
22句经典语录:送给优柔寡断和胡思乱想的朋友们
2019/12/13 职场文书
Python中的xlrd模块使用整理
2021/06/15 Python