如何批量增加视频的音量(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分贝的音量。
后记
耳罩式的耳机回来了,接上唱戏机声音确实很大,也不知道为什么,隔音好吗?反正没必要批量增加视频的音量了。
如何批量增加视频的音量(ffmpeg)相关推荐
- python批量处理视频_Python调用ffmpeg开源视频处理库,批量处理视频
代码示例 # coding=utf-8 import os import subprocess import datetime import json, pprint import re, time ...
- html中视屏音量大小,调整视频音量 编辑视频怎么调节视频中的音量大小/批量调节视频音量...
明天就是平安夜了呢,不知道各位男同学有没有给女朋友准备好平安夜礼物跟圣诞节礼物啊.单身的同学也别灰心,刚好可以通过这种节日把心中的男(女)神约出来不是吗~出去玩的时候大家都会拿出手机拍摄视频,记录身边 ...
- ffmpeg截取视频内容和批量处理视频
操作视频时,经常需要批量加去水印,加去的同时我们需要不断的调试位置,来保证处理后视频的效果可以最佳,因为原视频时长长,在原视频上不断调试耗费时间比较长,因此,选择截取视频的的片段,来进行调试,调试完成 ...
- 【ffmpeg】——批量合并视频
最近在做一个项目,关于视频下载的,需要同时对多个视频进行处理,这时我们用到了一个工 具--ffmpeg,工具具体的安装步骤大家可以度娘,在这就不一一介绍啦. 下面进入正题,该如何使用ffmpeg工具进 ...
- FFmpeg批量转换视频格式
FFmpeg 批量转换视频格式 1.新建一个.bat文件(如新建"视频转换.bat"),将下列代码复制进去后保存. 2.将该文件放在含有视频的文件夹类,双击运行即可.运行完成后视频 ...
- 通过shell/bash脚本使用ffmpeg批量去除视频固定片头和片尾(Cygwin环境)
通过shell/bash脚本使用ffmpeg批量去除视频固定片头和片尾(Cygwin环境) 任务需求: 基本情况: 技能需求: 操作流程概括: 运行通过的shell脚本: 小结 任务需求: 对一批视频 ...
- 用 ffmpeg 实现批量剪切视频
title: 用 ffmpeg 实现批量剪切视频 date: 2018-01-21 17:03:27 tags: categories: 不要在意思这些细节 一直对编辑视频很有兴趣,上大学的时候学了一 ...
- python视频处理加速的库_Python调用ffmpeg开源视频处理库,批量处理视频
代码示例 # coding=utf-8 import os import subprocess import datetime import json, pprint import re, time ...
- 编写Bash脚本实现使用FFmpeg批量合并视频
前言 使用FFmpeg能够很方便的合并同分辨率的视频.很多时候我们可能需要批量化合并视频,此时可以通过编写Bash脚本来实现. 实现 批量合并视频 合并三个文件夹中的视频结果: result_path ...
最新文章
- 量子技术发展的一小步:Google AI推出开源框架Cirq
- 震撼!15项世界互联网领先科技成果发布,将对你的生活产生什么影响?
- Windows 软件推荐2020
- git指定版本openwrt源码_[OpenWrt Wiki] LEDE源代码
- boost::hana::greater用法的测试程序
- 我擦!迅雷的代码结构竟然被扒了精光~
- Sqlplus导出excel文件
- Arduino 代码机制
- Tomcat安装与环境变量的配置
- 用Java描述数据结构之栈和队列,以及栈和队列的常用方法
- ARM指令ldr、str、stm、ldm理解
- Shell脚本字符串截取方法总结
- Matlab画图相关知识
- 驳《寒门再难出贵子》——谁说寒门大学生没有春天!
- ad 14 自己画元件库教程
- 基于Ubuntu 18.04配置固定IP方法
- Vue Markdown编辑器
- IT精英?OR IT民工?
- mac 百度输入法如何切换成五笔,如何切换回拼音模式
- iOS获取苹果商店应用编号APPID
热门文章
- 4个方法:Excel筛选重复项
- 上传itunes connect后提示此构建版本无效///
- (私人收藏)2019WER积木教育机器人赛(普及赛)解决方案-(全套)获取能源核心
- Java复习第二天和第三天
- Microsoft Teams Voice语音落地系列-4 实战:Teams语音路由规划与配置
- android vcf iphone6,安卓通讯录导入到iphon最简单的方式(安卓通讯录导入iphon
- java web 定时_使用监听器实现Java Web的定时执行
- 【Python 文件读写】— csv文件
- 对良/恶性肿瘤的预测python代码实现
- mysql一个字符占用多少个字节