python给视频添加背景音乐并改变音量的具体方法


Posted in Python onJuly 19, 2020

用到给视频添加背景音乐,并改变音量。记录一下,与碰到同样问题的朋友共享。

import subprocess

inmp4='E:/PycharmProjects/untitled2/hecheng/191030_232_xs.mp4'
inmp3='E:/PycharmProjects/untitled2/hecheng/bg.mp3'
inmp32='E:/PycharmProjects/untitled2/hecheng/bg2.mp3'
outmp3='E:/PycharmProjects/untitled2/hecheng/bg_out.mp3'
outmp4='E:/PycharmProjects/untitled2/hecheng/191030_232_xs_bg.mp4'


cmd='ffmpeg -y -i '+ inmp4 +' -i '+ inmp3 +' -filter_complex \
"[0:a]volume=10dB[a0]; \
[1:a]volume=-10dB[a1]; \
[a0][a1]amix=inputs=2[a]" \
-map 0:v -map "[a]" -c:v copy -c:a aac -shortest '+ outmp4

p = subprocess.call(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

# 查看音轨信息
print('*'*80)
cmd='ffmpeg -i '+ outmp3 +' -filter_complex volumedetect -c:v copy -f null /dev/null'
P = subprocess.call(cmd)

记录几个cmd

# 分别降低音量后叠加
cmd='ffmpeg -y -i '+ inmp4 +' -i '+ inmp3 +' -filter_complex \
"[0:a]volume=10dB[a0]; \
[1:a]volume=-30dB[a1]; \
[a0][a1]amix=inputs=2[a]" \
-map 0:v -map "[a]" -c:v copy -c:a aac -shortest '+ outmp4

# 纯音频,叠加,可控制音量,并且设置一个循环,并按照第一个截取时间
cmd='ffmpeg -y -i '+ mp4p3 +' -i '+ inmp3 +' -filter_complex \
"[0:a]volume=10dB[a0]; \
[1:a]aloop=loop=-1:size=2e+09[a1]; \
[a1]volume=-15dB[a12]; \
[a0][a12]amix=inputs=2:duration=first:dropout_transition=2" ' + outmp4mp3

# 视频添加循环音乐
cmd='ffmpeg -y -i '+ inmp4 +' -i '+ inmp3 +' -filter_complex \
"[0:a]volume=10dB[a0]; \
[1:a]aloop=loop=-1:size=2e+09[a1]; \
[a1]volume=-15dB[a12]; \
[a0][a12]amix=inputs=2:duration=first:dropout_transition=2[a]" \
-map 0:v -map "[a]" -c:v copy -c:a aac -shortest '+ outmp4

ffmpeg 隐藏调试信息

-loglevel quiet

资料参考:

https://stackoverflow.com/questions/13780736/ffmpeg-unable-to-find-a-suitable-output-format-for-i

https://stackoverflow.com/questions/44712868/ffmpeg-set-volume-in-amix

到此这篇关于python给视频添加背景音乐并改变音量的具体方法的文章就介绍到这了,更多相关python给视频添加背景音乐并改变音量内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python语言的12个基础知识点小结
Jul 10 Python
Python入门篇之对象类型
Oct 17 Python
python获取从命令行输入数字的方法
Apr 29 Python
Python生成随机密码的方法
Jun 16 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
Nov 30 Python
python3 遍历删除特定后缀名文件的方法
Apr 23 Python
python使用epoll实现服务端的方法
Oct 16 Python
对Python中DataFrame选择某列值为XX的行实例详解
Jan 29 Python
docker django无法访问redis容器的解决方法
Aug 21 Python
Keras—embedding嵌入层的用法详解
Jun 10 Python
keras做CNN的训练误差loss的下降操作
Jun 22 Python
Python激活Anaconda环境变量的详细步骤
Jun 08 Python
python中加背景音乐如何操作
Jul 19 #Python
python实现最短路径的实例方法
Jul 19 #Python
python等待10秒执行下一命令的方法
Jul 19 #Python
python怎么删除缓存文件
Jul 19 #Python
python实现从ftp上下载文件的实例方法
Jul 19 #Python
python中关于数据类型的学习笔记
Jul 19 #Python
Python趣味实例,实现一个简单的抽奖刮刮卡
Jul 18 #Python
You might like
十天学会php(3)
2006/10/09 PHP
php fsockopen中多线程问题的解决办法[翻译]
2011/11/09 PHP
如何批量替换相对地址为绝对地址(利用bat批处理实现)
2013/05/27 PHP
PHP curl 获取响应的状态码的方法
2014/01/13 PHP
PHP添加PNG图片背景透明水印操作类定义与用法示例
2019/03/12 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
js 页面执行时间计算代码
2009/03/04 Javascript
javascript实现的DES加密示例
2013/10/30 Javascript
Jquery AJAX POST与GET之间的区别
2013/11/14 Javascript
JavaScript检测字符串中是否含有html标签实现方法
2015/07/01 Javascript
基于jquery实现轮播焦点图插件
2016/03/31 Javascript
基于JQuery和原生JavaScript实现网页定位导航特效
2017/04/03 jQuery
layui导航栏实现代码
2017/05/19 Javascript
Angular2+如何去除url中的#号详解
2017/12/20 Javascript
JavaScript正则表达式函数总结(常用)
2018/02/22 Javascript
ES6与CommonJS中的模块处理的区别
2018/06/13 Javascript
微信小程序页面传多个参数跳转页面的实现方法
2019/05/17 Javascript
关于vue属性使用和不使用冒号的区别说明
2020/10/22 Javascript
[02:41]DOTA2英雄基础教程 谜团
2013/12/10 DOTA
[50:22]完美盛典-2018年度红毯走秀
2018/12/16 DOTA
Python基于matplotlib绘制栈式直方图的方法示例
2017/08/09 Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
2019/02/21 Python
python二进制文件的转译详解
2019/07/03 Python
基于Python实现船舶的MMSI的获取(推荐)
2019/10/21 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
2020/05/03 Python
Django 解决新建表删除后无法重新创建等问题
2020/05/21 Python
Python进行特征提取的示例代码
2020/10/15 Python
html5中的一些标签学习(心得)
2016/10/18 HTML / CSS
美国网上订购鲜花:FTD
2016/09/23 全球购物
自我评价范文分享
2014/01/04 职场文书
入党自荐书范文
2014/03/09 职场文书
大学活动总结范文
2014/04/29 职场文书
教师自查自纠工作情况报告
2014/10/29 职场文书
大学生村官驻村工作心得体会
2016/01/23 职场文书
申论不会写怎么办?教您掌握这6点思维和原则
2019/07/17 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书