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写文件时覆盖原来的实例方法,对此有兴趣的朋友们可以参考下。
    2020-07-07
  • Python实战案例之可增删改查的员工管理系统

    Python实战案例之可增删改查的员工管理系统

    本实战案例主要对MySQL进行一些基本操作,通过完成本实验任务,要求学生熟练掌握MySQL的增删改查,并对MySQL的增删改查基本操作进行管理员工的信息,需要的朋友跟着小编往下看吧
    2021-10-10
  • 用python基于appium模块开发一个自动收取能量的小助手

    用python基于appium模块开发一个自动收取能量的小助手

    大家都有了解过蚂蚁森林吧,本篇文章带给你自动收取蚂蚁森林能量的思路与方法,基于appium模块开发一个自动收取能量的小助手,本文给大家介绍的非常详细,对大家的学习或工作具有一定的价值
    2021-09-09
  • Django如何使用jwt获取用户信息

    Django如何使用jwt获取用户信息

    这篇文章主要介绍了Django如何使用jwt获取用户信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Python list去重且保持原顺序不变的方法

    Python list去重且保持原顺序不变的方法

    这篇文章主要介绍了Python list去重且保持原顺序不变的方法,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • 详解Python+Turtle绘制奥运标志的实现

    详解Python+Turtle绘制奥运标志的实现

    turtle库是Python标准库之一,是入门级的图形绘制函数库。本文就将利用turtle库绘制一个奥运标志—奥运五环,感兴趣的可以学习一下
    2022-02-02
  • Python爬虫之BeautifulSoup的基本使用教程

    Python爬虫之BeautifulSoup的基本使用教程

    Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功,下面这篇文章主要给大家介绍了关于Python爬虫之BeautifulSoup的基本使用教程,需要的朋友可以参考下
    2022-03-03
  • Python循环语句中else的用法总结

    Python循环语句中else的用法总结

    这篇文章给大家整理了关于Python中循环语句中else的用法,包括常规的 if else 用法、if else 快捷用法、与 for 关键字一起用、与 while 关键字一起用以及与 try except 一起用的用法总结,有需要的朋友们可以参考借鉴。
    2016-09-09
  • Python实现图片拼接的代码

    Python实现图片拼接的代码

    本文通过实例代码给大家介绍了python实现图片拼接的方法,非常不错,具有一定的参考借鉴借鉴价值,需要的朋友参考下吧
    2018-07-07
  • python使用rsa非对称加密过程解析

    python使用rsa非对称加密过程解析

    这篇文章主要介绍了python使用rsa非对称加密过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12

最新评论