python 音频和视频合并自动裁剪

 更新时间:2024年06月21日 10:04:18   作者:重新启航  
本文主要介绍了python 音频和视频合并自动裁剪,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

环境

python3.11,pycharm

python对于音频和视频的合并以及自动裁剪,方法(库)很多,下面是常用的几个方法

方法

方法1:使用moviepy库合并视频音频

如果没有安装,可以使用pip安装:

pip install moviepy

使用moviepy合并视频和音频

from moviepy.editor import AudioFileClip, VideoFileClip, CompositeVideoClip

def merge_and_trim_audio_video(video_file, audio_file, output_file):
    # 读取视频和音频文件
    video = VideoFileClip(video_file)
    audio = AudioFileClip(audio_file)

    # 获取视频和音频的时长
    video_duration = video.duration
    audio_duration = audio.duration

    # 如果音频比视频长,裁剪音频
    if audio_duration > video_duration:
        audio = audio.subclip(0, video_duration)
        # 如果视频比音频长,你可能想要重复音频或保持视频静音,这里我们选择裁剪视频
    elif video_duration > audio_duration:
        video = video.subclip(0, audio_duration)

        # 合并音频和视频
    final_clip = video.set_audio(audio)

    # 写入输出文件
    final_clip.write_videofile(output_file, codec='libx264', audio_codec='aac')


# 使用示例
merge_and_trim_audio_video(r'D:\test\video.mp4', r'D:\test\眉飞色舞.mp3', r'D:\test\output.mp4')

期间如果碰到生成临时文件无权限写c盘问题,使用管理员权限重新开启pycharm即可

方法2:使用ffmpeg-python库裁剪视频

import ffmpeg

# 裁剪视频的命令
input_file = r'D:\test\output.mp4'
output_file = r'D:\test\output-2.mp4'
start_time = 10  # 裁剪开始时间(秒)
duration = 20    # 裁剪持续时间(秒)

ffmpeg.input(input_file, ss=start_time).output(output_file, t=duration).run() 

这里是生成一个从10秒到20秒的新视频

方法3:使用pydub库裁剪音频

from pydub import AudioSegment

# 加载音频文件
audio = AudioSegment.from_file("r'D:\test\眉飞色舞.mp3'")

# 裁剪音频
start_time = 10  # 开始裁剪的时间(毫秒)
duration = 2000  # 裁剪持续时间(毫秒)

audio = audio[start_time:start_time+duration]

# 导出裁剪后的音频
audio.export("r'D:\test\眉飞色舞-cut.mp3'", format="mp3")

到此这篇关于python 音频和视频合并自动裁剪 的文章就介绍到这了,更多相关python 音频和视频合并裁剪 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅析Python的命名空间与作用域

    浅析Python的命名空间与作用域

    这篇文章主要介绍了Python的命名空间与作用域的相关资料,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-11-11
  • Django给表单添加honeypot验证增加安全性

    Django给表单添加honeypot验证增加安全性

    这篇文章主要介绍了Django给表单添加honeypot验证增加安全性的方法,帮助大家更好的理解和学习使用Django框架,感兴趣的朋友可以了解下
    2021-05-05
  • python实现学生信息管理系统源码

    python实现学生信息管理系统源码

    这篇文章主要为大家详细介绍了python实现学生信息管理系统源码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-02-02
  • Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的

    Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的

    这篇文章主要介绍了Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • python使用scrapy解析js示例

    python使用scrapy解析js示例

    这篇文章主要介绍了python使用scrapy解析js的示例,大家参考使用吧
    2014-01-01
  • pandas将DataFrame的列变成行索引的方法

    pandas将DataFrame的列变成行索引的方法

    下面小编就为大家分享一篇pandas将DataFrame的列变成行索引的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • 基于sklearn实现Bagging算法(python)

    基于sklearn实现Bagging算法(python)

    这篇文章主要为大家详细介绍了基于sklearn实现Bagging算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • Python如何使用神经网络进行简单文本分类

    Python如何使用神经网络进行简单文本分类

    这篇文章主要介绍了Python如何使用神经网络进行简单文本分类,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-02-02
  • Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】

    Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】

    这篇文章主要介绍了Python基于聚类算法实现密度聚类(DBSCAN)计算,结合实例形式分析了聚类算法的相关概念、原理及使用聚类算法进行密度聚类计算的相关操作技巧,需要的朋友可以参考下
    2018-12-12
  • pycharm中虚拟环境venv简介以及实践指南

    pycharm中虚拟环境venv简介以及实践指南

    这篇文章主要给大家介绍了关于pycharm中虚拟环境venv简介以及实践的相关资料,虚拟环境是利用了操作系统中环境变量,以及进程间环境隔离的特性,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-10-10

最新评论