修改后的代码如下:

import os import subprocess

定义输入输出文件路径

input_path = '' output_path = ''

获取视频列表

def get_video_list(path): video_list = [] if os.path.isfile(path) and path.endswith('.mp4'): video_list.append(path) elif os.path.isdir(path): for file_name in os.listdir(path): if file_name.endswith('.mp4'): video_list.append(os.path.join(path, file_name)) return video_list

按照最后修改时间排序

def sort_video_list(video_list): video_list.sort(key=lambda x: os.path.getmtime(x), reverse=True) return video_list

剪辑视频

def clip_video(video_path, start_time, end_time): output_file_name = os.path.splitext(os.path.basename(video_path))[0] + '_0.mp4' output_file_path = os.path.join(output_path, output_file_name) cmd = 'ffmpeg -i "{}" -ss {} -to {} -c copy "{}"'.format(video_path, start_time, end_time, output_file_path) subprocess.call(cmd, shell=True)

主程序

if name == 'main': # 输入视频路径 input_path = input('请输入视频路径:')

# 获取视频列表并排序
video_list = get_video_list(input_path)
if not video_list:
    print('输入的路径不是一个视频文件或者包含视频文件的目录!')
else:
    video_list = sort_video_list(video_list)

    # 显示视频列表
    for i, video_name in enumerate(video_list):
        print('{}: {}'.format(i+1, os.path.basename(video_name)))

    # 选择要剪辑的视频
    selected_video_index = int(input('请选择要剪辑的视频序号:'))

    # 输入开始结束时间
    start_time = input('请输入开始时间(格式:00:00:00):')
    end_time = input('请输入结束时间(格式:00:00:00):')

    # 剪辑视频
    selected_video_path = video_list[selected_video_index-1]
    clip_video(selected_video_path, start_time, end_time
修改下面python3代码为可以输入单个视频或者目录并检查语法错误import osimport subprocess# 定义输入输出文件路径input_path = ospathdirnameospathabspath__file__output_path = input_path# 获取视频列表def get_video_listpath video_list = for fil

原文地址: http://www.cveoy.top/t/topic/cNRp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录