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实现计数排序与桶排序实例代码

    2023-12-28 11:32:37
  • 详解如何用SQLyog来分析MySQL数据库

    2008-10-13 12:35:00
  • Vscode上使用SQL的方法

    2024-01-14 07:02:19
  • 详解Python如何获取视频文件的大小和时长

    2021-12-08 14:50:13
  • Windows环境下vscode-go安装笔记(不支持32位)

    2024-04-25 15:01:40
  • MySQL数据库优化经验详谈(服务器普通配置)第1/3页

    2024-01-27 23:30:51
  • python基于隐马尔可夫模型实现中文拼音输入

    2023-05-08 21:58:00
  • 对python自动生成接口测试的示例讲解

    2022-06-14 03:24:43
  • PyCharm软件无法安装lxml库的问题及解决

    2023-06-04 01:54:30
  • 如何提示用户打开Cookie?

    2010-06-07 20:53:00
  • Python基础之函数基本用法与进阶详解

    2023-07-13 07:57:46
  • go sync.Once实现高效单例模式详解

    2024-02-05 05:49:37
  • Python hashlib加密模块常用方法解析

    2022-03-11 05:20:05
  • jenkins配置163邮箱的操作方法

    2023-08-10 22:54:05
  • python中sort和sorted排序的实例方法

    2022-12-22 09:10:12
  • mysql查找删除重复数据并只保留一条实例详解

    2024-06-05 09:52:53
  • Python 中的 import 机制之实现远程导入模块

    2022-10-24 10:25:10
  • Python如何实现自动发送邮件

    2022-05-09 04:22:55
  • Python网络编程之TCP与UDP协议套接字用法示例

    2023-12-07 06:34:45
  • 利用mergeAttributes设置name属性

    2009-12-12 18:48:00
  • asp之家 网络编程 m.aspxhome.com