首页 > 编程语言 >python 使用 ffmpeg合成音视频

python 使用 ffmpeg合成音视频

时间:2024-03-22 16:47:25浏览次数:32  
标签:ffmpeg python 音视频 mp4 csdn https article net

moviepy太慢了,ffmpeg似乎快一点

1.从github下载安装

https://github.com//BtbN/FFmpeg-Builds/releases  

下载了ffmpeg-master-latest-win64-gpl-shared.zip

 直接解压到某个目录中,如:D:\ffmpeg   ,并添加环境变量,将  D:\ffmpeg  添加到path变量中(win10) 在命令行运行  ffmpeg ,可以了  2. 在Python中安装ffmpeg 看到了两个库:ffmpeg-python 和  ffmpy ,在pypi上看了一下,两个库最近都有更新 选择用   pip  install  ffmpy 文档在:https://ffmpy3.readthedocs.io/en/latest/ 简单需求直接执行ffmpeg命令就好。 如: ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex "[0:v:0][0:a:0][1:v:0][1:a:0]concat=n=2:v=1:a=1[outv][outa]" -map "[outv]" -map "[outa]" output.mp4 实现了对两个mp4的快速合并。

参数解释如下:

  • -i input1.mp4 -i input2.mp4: 输入两个视频文件。

  • -filter_complex: 指定复杂的过滤操作。

  • [0:v:0][0:a:0][1:v:0][1:a:0]concat=n=2:v=1:a=1[outv][outa]: 将两个视频流和音频流按顺序合并,n=2 表示有两个输入流,v=1 表示只有视频流被合并,a=1 表示只有音频流被合并,[outv] 和 [outa] 是最终合并后的视频流和音频流的别名。

  • -map "[outv]" -map "[outa]": 指定输出文件应当包含哪些流。

  • output.mp4: 输出文件的名称。

确保两个视频片段的分辨率、帧率等参数是兼容的,否则合并时可能会出错。如果视频间想要有过渡效果或者同步问题,可能需要更复杂的命令或使用其他工具来处理。

如果是合并更多的mp4,可以:

ffmpeg -f concat -i input.txt -c copy output.mp4

其中input.txt是一个文本文件,包含了要合并的视频文件的列表,格式如下:

file 'video1.mp4' file 'video2.mp4' file 'video3.mp4'

这个命令会将video1.mp4video2.mp4video3.mp4等视频文件按顺序合并成一个output.mp4文件,同时复制编码信息,以保持视频质量。

如果输入视频的编码不同,或者你想对输出视频进行重新编码,可以去掉-c copy选项,并可以指定新的编码器和参数。例如,使用H.264编码器和1000k的比特率:

 ffmpeg -f concat -i input.txt -c:v libx264 -b:v 1000k -pix_fmt yuv420p -c:a copy output.mp4 这将为输出视频指定新的编码和比特率,同时复制音频流。  

 

参考:

https://blog.csdn.net/liuyuinsdu/article/details/114646684

https://blog.csdn.net/m0_60565784/article/details/130776330

https://blog.csdn.net/weixin_64670512/article/details/127938350

https://blog.csdn.net/qq_35164554/article/details/124866110

https://blog.csdn.net/yinshipin007/article/details/130996475

https://blog.csdn.net/cheungxiongwei/article/details/130591483

标签:ffmpeg,python,音视频,mp4,csdn,https,article,net
From: https://www.cnblogs.com/pu369/p/18089787

相关文章

  • 肖sir__python的安装2.1
     一、Python安装 python现在主要就是python2和python3,目前python3最新是3.8,考虑稳定性我们用3.6,3.7等第一步:下载Python安装包python现在主要就是python2和python3,目前python3最新是3.8,考虑稳定性我们用3.6,3.7等 1.python的官方网站下载python的安装包 地址:https://ww......
  • 【Python脚本随手笔记】 ---基于鸿蒙系统LiteOS实现差分编译脚本(下篇)
    ......
  • python中的多继承理解
    在python的多继承中,父类的初始化顺序遵循所谓方法解析顺序(MethodResolutionOrder,MRO)的机制。python使用C3线性化算法来确定多继承类的MRO:1.目标:创建一个一致的线性继承顺序,同时保持父类的相对顺序和子类优先原则。2.子类优先:子类总是在其父类之前出现。从而子类......
  • Python函数每日一讲12 - len()
    引言在Python编程中,经常会遇到需要获取对象的长度或者元素个数的情况。而len()函数就是用来返回对象的长度或者元素个数的。通过本文的介绍,你将学习到len()函数的基本用法以及在实际应用中的一些技巧,帮助你更好地利用这一函数解决问题。语句概览len()函数用于返回对象的长度或......
  • Python实战:爬取小红书-采集笔记详情
    上一篇文章发出后,有读者问能不能爬到小红书笔记详情数据,今天他来了。一、先看效果程序输入:在一个txt文件内粘贴要爬取的笔记链接,每行放1个链接。程序输出:输出是一个所有笔记详情数据的excel表格,包含”采集日期、作者、笔记标题、发布日期、IP属地、点赞数、收藏数、......
  • Python和Pycharm在windows环境下的安装
    Python和Pycharm在windows环境下的安装找到python:登录官网www.python.org在主页找到Downloads选择对应电脑系统---->找到你要下载的版本下载即可找到Pycharm:登录网站https://www.jetbrains.com/pycharm/download/#section=windows---->开发人员选项---->pycharm---->选择......
  • ssm/php/node/python学生社团管理系统
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在现代教育体系中,学生社团活动被视为校园文化的一个重要组成部分,它不仅丰富了学生的校园生活,还提供了一个平台让学生能够在实践中学习和发展个人兴趣。......
  • ssm/php/node/python音乐节购票系统
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表 系统的选题背景和意义选题背景音乐节作为一种集文化、艺术与娱乐于一体的大型活动,在全球范围内享有广泛的欢迎度。随着人们生活水平的提升和对精神文化生活追求的加深,音乐节不仅仅......
  • ssm/php/node/python医疗陪诊系统
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在现代社会,随着生活节奏的加快和工作压力的增大,人们在面对健康问题时往往感到无助。尤其是当患者需要在医院接受治疗时,复杂的医疗流程、专业的医疗术语......
  • ssm/php/node/python医疗健康智能服务系统
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义标题:探索医疗健康智能服务系统i32t6的应用价值在当今这个信息技术高速发展的时代,医疗健康行业正经历着翻天覆地的变革。智能化、数字化已成为该行业发展的重要趋......