python去掉视频指定时间片段剪辑生成新的视频代码

代码语言:python

所属分类:其他

代码描述:python去掉视频指定时间片段剪辑生成新的视频代码

代码标签: python 去掉 视频 指定 时间 片段 剪辑 生成 视频 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

#!/usr/local/python3/bin/python3
# -*- coding: utf-8 -*
#pip install moviepy

from moviepy.editor import VideoFileClip, concatenate_videoclips


def remove_video_segment(input_video, start_time, end_time, output_video):
    """
    从视频中删除指定时间段,生成新视频文件
    
    :param input_video: 输入视频文件路径
    :param start_time: 删除的开始时间(以秒为单位)
    :param end_time: 删除的结束时间(以秒为单位)
    :param output_video: 输出视频文件路径
    """
    # 加载视频
    video = VideoFileClip(input_video)
    
    # 将视频切成两部分: 删除片段之前和之后的部分
    video_before = video.subclip(0, start_time)  # 删除片段之前的部分
    video_after = video.subclip(end_time, video.duration)  # 删除片段之后的部分
    
    # 将两个部分合并起来
    final_video = concatenate_videoclips([video_before, video_after])
    
    # 导出最终视频
    final_video.write_videofile(output_video, codec="libx264")



def remove_multiple_segments(input_video, segments, output_video):
    """
    删除视频中多个指定的片段,生成新视频文件

    :param input_video: 输入视频文件路径
    :param segments: 需要删除的时间段列表,每个时间段是 (start_time, end_time)
    :param output_video: 输出视频文件路径
    """
    # 加载输入视频
    video = VideoFileClip(input_video)
    
    # 用于存储要保留的视频片段
    clips = []
    
    # 记录上一个保留片段的结束时间
    previous_end = 0
    
    # 遍历所有要删除的片段
    for start_time, end_time in segments:
        # 保留每个需要删除片段之前的部分
        if start_time > previous_end:
         .........完整代码请登录后点击上方下载按钮下载查看

网友评论0