python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python 音频和视频合并裁剪

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

作者:重新启航

本文主要介绍了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 音频和视频合并裁剪 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文