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

作者:WQian 时间:2021-01-26 20:18:47 

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


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

来源:https://wqian.net/blog/2019/1031-python-ffmpeg-index.html

标签:python,背景音乐
0
投稿

猜你喜欢

  • python使用BeautifulSoup分析网页信息的方法

    2022-02-07 11:33:40
  • PHP中使用Memache作为进程锁的操作类分享

    2023-11-22 18:10:02
  • 如何修改MySQL 5.1 data文件夹路径

    2010-10-25 19:58:00
  • 解决pip install psycopg2出错问题

    2023-01-22 01:41:09
  • ASP--IP字段截取

    2009-05-26 15:47:00
  • python搜索包的路径的实现方法

    2021-01-18 01:27:44
  • PHP implode()函数用法讲解

    2023-06-19 22:54:34
  • 分享PHP header函数使用教程

    2023-09-04 12:07:14
  • python3下实现搜狗AI API的代码示例

    2022-04-11 09:30:58
  • Dreamweaver MX 2004表格设计

    2008-02-03 11:36:00
  • 基于Python制作一个简单的文章搜索工具

    2021-07-08 02:16:28
  • 一文理解Python命名机制

    2021-11-22 08:04:04
  • PHP session反序列化漏洞超详细讲解

    2023-05-25 08:54:18
  • Python shelve模块实现解析

    2023-06-23 16:58:01
  • 再谈CSS样式表书写风格

    2009-03-30 16:09:00
  • python爬取微信公众号文章图片并转为PDF

    2021-02-02 06:53:31
  • 关于IDEA git 只有Commit没有Push的问题

    2023-07-20 02:26:58
  • 与 Function 和 Object 相关的有趣代码

    2010-05-07 12:29:00
  • pyqt4教程之messagebox使用示例分享

    2023-11-06 08:09:03
  • 文字解说Golang Goroutine和线程的区别

    2023-10-15 18:56:36
  • asp之家 网络编程 m.aspxhome.com