视频剪切、拼接和调大声音

音频处理,包括截取、拼接和声音调整


from moviepy.editor import VideoFileClip, concatenate_videoclips

def split_video(input_path, output_folder, start_time, end_time):
    """
    切割MP4文件
    :param input_path: 输入文件路径
    :param output_folder: 输出文件夹
    :param start_time: 开始时间
    :param end_time: 结束时间
    """
    clip = VideoFileClip(input_path)
    clip_part = clip.subclip(start_time, end_time)
    output_path = f"{output_folder}/output.mp4"
    clip_part.write_videofile(output_path)

# 将声音调高
def up_voice(input_path, output_path):
    video = VideoFileClip(input_path)  # 加载视频文件
    audio = video.audio  # 提取音频轨道
    adjusted_audio = audio.volumex(2)
    final_video = video.set_audio(adjusted_audio)
    final_video.write_videofile(output_path)


def merge_videos(input_paths, output_path):
    """
    合并多个MP4文件
    :param input_paths: 输入文件路径列表
    :param output_path: 输出文件路径
    """
    clips = [VideoFileClip(file) for file in input_paths]
    final_clip = concatenate_videoclips(clips)
    final_clip.write_videofile(output_path)

# 示例使用
# split_video("input.mp4", "output_folder", 10, 44)  # 切割从10秒到20秒的视频
# merge_videos(["output_folder/001.mp4", "output_folder/002.mp4", "output_folder/003.mp4", "output_folder/004.mp4", "output_folder/005.mp4"], "output_folder/merged_005.mp4")
# merge_videos(["output_folder/merged_005.mp4", "output_folder/merged_104.mp4", "output_folder/201.mp4"], "output_folder/merged_origin.mp4")
# up_voice("output_folder/merged_origin.mp4", "output_folder/merged_origin_up_voice2.mp4")
# merge_videos(["output_folder/merged_004.mp4", "output_folder/005.mp4"], "output_folder/merged_005.mp4")  # 合并视频

merge_videos(["output_folder/000.mp4", "output_folder/merged_origin_up_voice2.mp4", "output_folder/999.mp4"], "output_folder/merged_final_1.mp4")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值