如何批量增加视频的音量(ffmpeg)

问题背景

由于之前爷爷的唱戏机充不进去电,过年时给爷爷买了个新的。但这个新买的机子,它的曲目(视频)在U盘里,声音普遍较低,我爷爷的耳朵不好,声音需要比正常的声音调大一些。
Videolouder这个网站里可以实现调大分贝的诉求,而且是免费的,但是不能批量上传,由于有900多首曲目,我决定看看能否通过编程的方式解决。

解决过程

查阅了网络上的一些方式,对于Python来说,我查到有Pydub、Moviepy、 Ffmpeg可以达到这样的要求。
其中Moviepy不支持“mkv”的视频格式(感觉应该是支持的,因为它底层也是依赖于Ffmpeg,但我自己尝试时是会报错的),而且只能按照原先分贝的倍数调整。(图片地址)。
在这里插入图片描述
Pydub使用时需要在Windows上安装Ffmpeg,可以按照增加固定分贝来实现音量增加,但是不支持“mkv”格式(感觉应该是支持的,因为它底层也是依赖于Ffmpeg,但是我自己尝试时,最终出来的mkv视频文件无法读取)(图片地址)。
在这里插入图片描述
穿插说一下,为什么非要基于分贝的倍数调整呢?下图给出了答案(图片地址)。不仅如此,Ffmpeg非常强大,对于视频、音频的操作,你能想象到的都能做,业界音视频处理底层大都是Ffmpeg,包括上面提到的Pydub、Moviepy底层都是基于Ffmpeg,有需要可以学一下。
在这里插入图片描述

前两种方式代码及使用简单,但是它们都不支持“mkv”格式,所以只能使用稍微繁琐的ffmpeg。
在使用ffmpeg时,它是有Python对应的包的,叫ffmpeg-python,但是你安装了这个按照官网的代码也是不能用的,会报FileNotFoundError: [WinError 2] 系统找不到指定的文件。,这是因为你不仅需要安装ffmpeg-python,还需要在本机上安装Ffmpeg。有许多文章写Windows如何安装ffmpeg的,安装挺简单的,主要就是要记得配置环境变量,这里就不写了。
在这里插入图片描述
安装成功后,在利用ffmpeg-python编写语句时,我找了半天都没有找到提高视频音量的语句,不想研究了,因为我日后可能也用不到这个东西。最后只能用ffmpeg的CMD呢种方式,没想到CMD还可以通过Python来进行书写。在配置完Ffmpeg后,要重新启动PyCharm,否则还会报一个乱码的错。
以下为成功的代码:

import os
cmd = "ffmpeg -i C:/C/ForMyGrandfather/456.杨钰莹毛宁心雨.mkv -filter:a volume=10dB C:/C/ForMyGrandfather/456.杨钰莹毛宁心雨2.mkv"
os.system(cmd)

音量成功增加。
在这里插入图片描述
如果要批量的话,只需要读取目录中所有文件名(利用Python的“os”包可以实现,网络上代码很多,这里不写了),然后每次更改”cmd“语句里的文件名称即可,可以利用“format”来实现,像下面这样,在外面套一个for循环进行拼接即可。

print("地址{}地址".format("C:C:/C"))

结果

在Videolouder中推荐提高3分贝,这个果然是有道理的,像我上面代码提高了10分贝,在唱戏机调到最大音量时,声音明显变大了,但杂音非常多。
还没有完,我又分别尝试了二三十的耳机,一百出头的耳机,一千多的耳罩式耳机,发现越贵的耳机杂音越小,而且耳罩式的耳机声音异常的大,还没杂音,所以我在网上买了一个不到一百元的耳机,等回来之后我看看效果怎么样,如果还不行,我会整体调高3分贝或5分贝的音量。
在这里插入图片描述

后记

耳罩式的耳机回来了,接上唱戏机声音确实很大,也不知道为什么,隔音好吗?反正没必要批量增加视频的音量了。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值