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脚本生成Android SALT扰码的方法
Sep 18 Python
python数据结构之图深度优先和广度优先实例详解
Jul 08 Python
python通过加号运算符操作列表的方法
Jul 28 Python
深入解析Python中的变量和赋值运算符
Oct 12 Python
Python备份目录及目录下的全部内容的实现方法
Jun 12 Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
Feb 21 Python
解决python执行不输出系统命令弹框的问题
Jun 24 Python
python配置文件写入过程详解
Oct 19 Python
Pytorch to(device)用法
Jan 08 Python
python脚本监控logstash进程并邮件告警实例
Apr 28 Python
Python使用lambda抛出异常实现方法解析
Aug 20 Python
pandas 按日期范围筛选数据的实现
Feb 20 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 输出简单动态WAP页面
2009/06/09 PHP
全面解析PHP面向对象的三大特征
2017/06/10 PHP
javascript:void(0)的真正含义实例分析
2008/08/20 Javascript
基于Jquery的实现回车键Enter切换焦点
2010/09/14 Javascript
JS 自定义带默认值的函数
2011/07/21 Javascript
在图片上显示左右箭头类似翻页的代码
2013/03/04 Javascript
html文本框提示效果的示例代码
2014/06/28 Javascript
js中自定义方法实现停留几秒sleep
2014/07/11 Javascript
Javascript使用post方法提交数据实例
2015/08/03 Javascript
js实现改进的仿蓝色论坛导航菜单效果代码
2015/09/06 Javascript
浅谈JS之iframe中的窗口
2016/09/13 Javascript
ionic App问题总结系列之ionic点击系统返回键退出App
2017/08/19 Javascript
JavaScript数组的5种迭代方法
2017/09/29 Javascript
基于js中style.width与offsetWidth的区别(详解)
2017/11/12 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
2018/03/23 jQuery
Vue中使用ElementUI使用第三方图标库iconfont的示例
2018/10/11 Javascript
微信小程序自定义toast组件的方法详解【含动画】
2019/05/11 Javascript
微信小程序 确认框的实现(附代码)
2019/07/23 Javascript
vue实现两个区域滚动条同步滚动
2020/12/13 Vue.js
[01:15:12]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#4Newbee VS CDEC
2016/03/03 DOTA
[04:44]DOTA2西游记战队视频彩蛋流出 师徒开黑巧遇林书豪
2016/08/03 DOTA
python写入xml文件的方法
2015/05/08 Python
python实现支付宝转账接口
2019/05/07 Python
六行python代码的爱心曲线详解
2019/05/17 Python
使用OpCode绕过Python沙箱的方法详解
2019/09/03 Python
python常用排序算法的实现代码
2019/11/08 Python
Python unittest框架操作实例解析
2020/04/13 Python
全球航班旅行搜索网站:Cheapflights
2017/05/19 全球购物
SNIDEL官网:日本VIVI杂志人气少女第一品牌
2020/03/12 全球购物
linux面试题参考答案(10)
2016/10/26 面试题
学前教育学生自荐信范文
2013/12/31 职场文书
离婚协议书范本及离婚须知
2014/10/15 职场文书
小学校长开学致辞
2015/07/29 职场文书
2016教师暑期培训学习心得体会
2016/01/09 职场文书
MySQL数据库中varchar类型的数字比较大小的方法
2021/11/17 MySQL
Golang原生rpc(rpc服务端源码解读)
2022/04/07 Golang