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之复习if语句
Oct 02 Python
Python警察与小偷的实现之一客户端与服务端通信实例
Oct 09 Python
浅析Python多线程下的变量问题
Apr 28 Python
利用Python实现命令行版的火车票查看器
Aug 05 Python
Python机器学习之SVM支持向量机
Dec 27 Python
python3之模块psutil系统性能信息使用
May 30 Python
pandas 使用均值填充缺失值列的小技巧分享
Jul 04 Python
python函数参数(必须参数、可变参数、关键字参数)
Aug 16 Python
python 列表推导式使用详解
Aug 29 Python
python topk()函数求最大和最小值实例
Apr 02 Python
python中元组的用法整理
Jun 15 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
Oct 22 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
PHP5/ZendEngine2的改进
2006/10/09 PHP
php google或baidu分页代码
2009/11/26 PHP
深入eAccelerator与memcached的区别详解
2013/06/06 PHP
ie和firefox不兼容的解决方法集合
2009/04/28 Javascript
validator验证控件使用代码
2010/11/23 Javascript
javascript nextSibling 与 getNextElement(node) 使用介绍
2011/10/13 Javascript
ExtJS4中的requires使用方法示例介绍
2013/12/03 Javascript
利用JS来控制键盘的上下左右键(示例代码)
2013/12/14 Javascript
jQuery实现dialog设置focus焦点的方法
2015/06/10 Javascript
javascript实现禁止复制网页内容汇总
2015/12/30 Javascript
JS中this上下文对象使用方式
2016/10/09 Javascript
关于微信jssdk实现多图片上传的一点心得分享
2016/12/13 Javascript
js 轮播效果实例分享
2016/12/28 Javascript
js获取当前周、上一周、下一周日期
2017/03/19 Javascript
详解js静态资源文件请求的处理
2017/08/01 Javascript
vue2实现可复用的轮播图carousel组件详解
2017/11/27 Javascript
Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法
2018/08/08 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
2019/06/10 Javascript
python 装饰器功能以及函数参数使用介绍
2012/01/27 Python
python编程开发之textwrap文本样式处理技巧
2015/11/13 Python
Python函数中的函数(闭包)用法实例
2016/03/15 Python
python回调函数中使用多线程的方法
2017/12/25 Python
PyQt5实现类似别踩白块游戏
2019/01/24 Python
pygame实现俄罗斯方块游戏(对战篇1)
2019/10/29 Python
大学生咖啡店创业计划书
2014/01/21 职场文书
浙大毕业生自荐信
2014/01/26 职场文书
个人自我评价范文
2014/02/05 职场文书
企业出纳岗位职责
2014/03/12 职场文书
门前三包责任书
2014/04/15 职场文书
护士节策划方案
2014/05/19 职场文书
力学专业求职信
2014/07/23 职场文书
小学一年级数学教学计划
2015/01/20 职场文书
会议开幕词
2015/01/28 职场文书
小学生法制教育心得体会
2016/01/14 职场文书
小学英语听课心得体会
2016/01/14 职场文书
《陶罐和铁罐》教学反思
2016/03/03 职场文书