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 sys.path详细介绍
Oct 17 Python
理解Python中的With语句
Mar 18 Python
Python中的字符串查找操作方法总结
Jun 27 Python
Python利用Beautiful Soup模块修改内容方法示例
Mar 27 Python
对python cv2批量灰度图片并保存的实例讲解
Nov 09 Python
一文了解Python并发编程的工程实现方法
May 31 Python
pandas取出重复数据的方法
Jul 04 Python
pytorch 共享参数的示例
Aug 17 Python
python中文分词库jieba使用方法详解
Feb 11 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
May 20 Python
python批量修改文件名的示例
Sep 27 Python
python 判断字符串当中是否包含字符(str.contain)
Jun 01 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
5.PHP的其他功能
2006/10/09 PHP
Eclipse中php插件安装及Xdebug配置的使用详解
2013/04/25 PHP
php强制用户转向www域名的方法
2015/06/19 PHP
Zend Framework实现自定义过滤器的方法
2016/12/09 PHP
基于jquery的图片幻灯展示源码
2012/07/15 Javascript
JavaScript建立一个语法高亮输入框实现思路
2013/02/26 Javascript
js计算精度问题小结
2013/04/22 Javascript
常用的JavaScript验证正则表达式汇总
2013/11/26 Javascript
JQuery DIV 动态隐藏和显示的方法
2016/06/23 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
Node.js之网络通讯模块实现浅析
2017/04/01 Javascript
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
2017/07/17 jQuery
js实现省市级联效果分享
2017/08/10 Javascript
webpack4简单入门实例
2018/09/06 Javascript
Vue组件基础用法详解
2020/02/05 Javascript
微信小程序用canvas画图并分享
2020/03/09 Javascript
vue-cli3单页构建大型项目方案
2020/04/07 Javascript
关于ES6尾调用优化的使用
2020/09/11 Javascript
[01:51]2014DOTA2西雅图邀请赛 MVP 外卡赛black场间采访
2014/07/09 DOTA
对Python中range()函数和list的比较
2018/04/19 Python
matplotlib 纵坐标轴显示数据值的实例
2018/05/25 Python
对pandas中时间窗函数rolling的使用详解
2018/11/28 Python
情人节快乐! python绘制漂亮玫瑰
2020/08/18 Python
利用Python对文件夹下图片数据进行批量改名的代码实例
2019/02/21 Python
Python 中pandas索引切片读取数据缺失数据处理问题
2019/10/09 Python
python+excel接口自动化获取token并作为请求参数进行传参操作
2020/11/10 Python
瑞士隐形眼镜和护理产品网上商店:Linsenklick
2019/10/21 全球购物
Clarks鞋澳大利亚官方网站:Clarks Australia
2019/12/25 全球购物
艺校音乐专业自我鉴定范文
2014/03/01 职场文书
党支部综合考察材料
2014/05/19 职场文书
党支部创先争优公开承诺书
2015/04/30 职场文书
小区物业管理2015年度工作总结
2015/10/22 职场文书
生鲜超市—未来中国最具有潜力零售业态
2019/08/02 职场文书
CSS3 制作的彩虹按钮样式
2021/04/11 HTML / CSS
Python Django框架介绍之模板标签及模板的继承
2021/05/27 Python
SpringBoot使用AOP实现统计全局接口访问次数详解
2022/06/16 Java/Android