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 相关文章推荐
python33 urllib2使用方法细节讲解
Dec 03 Python
线程和进程的区别及Python代码实例
Feb 04 Python
Python标准库defaultdict模块使用示例
Apr 28 Python
python实现机械分词之逆向最大匹配算法代码示例
Dec 13 Python
Python读取Json字典写入Excel表格的方法
Jan 03 Python
Python下载网络文本数据到本地内存的四种实现方法示例
Feb 05 Python
python抓取网页内容并进行语音播报的方法
Dec 24 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
Jul 11 Python
Python3进制之间的转换代码实例
Aug 24 Python
Python基于class()实现面向对象原理详解
Mar 26 Python
在keras里面实现计算f1-score的代码
Jun 15 Python
Python 匹配文本并在其上一行追加文本
May 11 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
雄兵连:天使彦天使彦为爱折翼,彦和炙心同时念动的誓言!
2020/03/02 国漫
php连接mssql的一些相关经验及注意事项
2013/02/05 PHP
解析zend studio中直接导入svn中的项目的方法步骤
2013/06/21 PHP
PHP资源管理框架Assetic简介
2014/06/12 PHP
php实现处理输入转义字符的代码
2015/11/08 PHP
程序员的表白神器“520”大声喊出来
2016/05/20 PHP
PHP使用mysqli操作MySQL数据库的简单方法
2017/02/04 PHP
php识别翻转iphone拍摄的颠倒图片
2018/05/17 PHP
js 加载时自动调整图片大小
2008/05/28 Javascript
jQuery UI Autocomplete 1.8.16 中文输入修正代码
2012/04/16 Javascript
jquery判断浏览器后退时候弹出消息的方法
2014/08/11 Javascript
原生javascript实现图片弹窗交互效果
2015/01/12 Javascript
JavaScript String 对象常用方法总结
2016/04/28 Javascript
JavaScript从0开始构思表情插件
2016/07/26 Javascript
JavaScript实现审核流程状态的动态显示进度条
2017/03/15 Javascript
详解JS构造函数中this和return
2017/09/16 Javascript
小程序自定义日历效果
2018/12/29 Javascript
Vue 使用typescript如何优雅的调用swagger API
2020/09/01 Javascript
vue使用echarts图表自适应的几种解决方案
2020/12/04 Vue.js
Python连接SQLServer2000的方法详解
2017/04/19 Python
Pyqt5 基本界面组件之inputDialog的使用
2019/06/25 Python
django-rest-framework 自定义swagger过程详解
2019/07/18 Python
Python标准库itertools的使用方法
2020/01/17 Python
Python select及selectors模块概念用法详解
2020/06/22 Python
亚马逊印度站:Amazon.in
2017/10/15 全球购物
新学期班主任寄语
2014/01/18 职场文书
清华大学自主招生自荐信
2014/01/29 职场文书
体育教师自我鉴定
2014/02/12 职场文书
霸王洗发水广告词
2014/03/14 职场文书
财务会计专业自荐书
2014/06/30 职场文书
中学学校门卫岗位职责
2014/08/15 职场文书
师德自我剖析材料范文
2014/10/06 职场文书
幼儿教师继续教育培训心得体会
2016/01/19 职场文书
vue引入Excel表格插件的方法
2021/04/28 Vue.js
Redis中缓存穿透/击穿/雪崩问题和解决方法
2021/12/04 Redis
Python如何使用循环结构和分支结构
2022/04/13 Python