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

问题背景

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

解决过程

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

前两种方式代码及使用简单,但是它们都不支持“mkv”格式,所以只能使用稍微繁琐的ffmpeg。
在使用ffmpeg时,它是有Python对应的包的,叫ffmpeg-python,但是你安装了这个按照官网的代码也是不能用的,会报FileNotFoundError: [WinError 2] 系统找不到指定的文件。,这是因为你不仅需要安装ffmpeg-python,还需要在本机上安装Ffmpeg。有许多文章写Windows如何安装ffmpeg的,安装挺简单的,主要就是要记得配置环境变量,这里就不写了。
如何批量增加视频的音量(ffmpeg)_第4张图片
安装成功后,在利用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分贝的音量。
如何批量增加视频的音量(ffmpeg)_第5张图片

后记

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

你可能感兴趣的:(其他,ffmpeg,音视频,python)