这是一个基本的代码框架,你需要自己根据需求进行修改和完善。

import os
import subprocess

# 定义输入输出文件路径
input_path = ''
output_path = ''

# 获取视频列表
def get_video_list(path):
    video_list = []
    for file_name in os.listdir(path):
        if file_name.endswith('.mp4'):
            video_list.append(file_name)
    return video_list

# 按照最后修改时间排序
def sort_video_list(video_list):
    video_list.sort(key=lambda x: os.path.getmtime(os.path.join(input_path, x)), reverse=True)
    return video_list

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

# 主程序
if __name__ == '__main__':
    # 获取视频列表并排序
    video_list = get_video_list(input_path)
    video_list = sort_video_list(video_list)

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

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

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

    # 剪辑视频
    selected_video_path = os.path.join(input_path, video_list[selected_video_index-1])
    clip_video(selected_video_path, start_time, end_time)
``
请用python3写一个利用ffmpeg剪辑视频可以自定义输入输入开始结束时间可以选择视频或目录当存在多个视频时以降序列出可选择要剪辑的视频列表剪辑完的视频输出在原目录并为名为原文件名_0

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

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