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='00:00:00', end_time=None):
    if end_time is None:
        cmd = 'ffmpeg -i '{}' -ss {} -c copy '{}''.format(video_path, start_time, output_path)
    else:
        cmd = 'ffmpeg -i '{}' -ss {} -to {} -c copy '{}''.format(video_path, start_time, end_time, output_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('请选择要剪辑的视频序号:'))

        # 剪辑视频
        selected_video_path = video_list[selected_video_index-1]
        clip_video(selected_video_path)

代码功能:

  1. 获取视频列表:从指定路径获取所有 MP4 格式的视频文件,并按照最后修改时间进行排序。
  2. 剪辑视频:根据用户输入的视频路径、开始时间和结束时间对视频进行剪辑,并将结果保存到指定路径。
  3. 用户交互:提示用户输入视频路径、选择要剪辑的视频,并提供相应的提示信息。

使用说明:

  1. 将代码保存为 .py 文件。
  2. 确保系统中已安装 ffmpeg 库。
  3. 运行代码,按照提示输入视频路径和要剪辑的视频序号。

注意事项:

  • 代码中的 output_path 需要设置为想要保存剪辑后的视频文件的路径。
  • 代码中使用的 ffmpeg 命令可能需要根据具体情况进行调整。
  • 剪辑后的视频文件将保存到 output_path 指定的路径下。
  • 剪辑功能需要 ffmpeg 库的支持,请确保已经安装 ffmpeg。
  • 剪辑视频的时间格式为 'HH:MM:SS'。

代码示例:

# 将代码保存为 clip_video.py 文件
# 运行程序,输入视频路径
# 选择要剪辑的视频序号
# 等待剪辑完成

更多信息:

  • ffmpeg 库官方网站:https://ffmpeg.org/
  • ffmpeg 命令使用指南:https://www.ffmpeg.org/ffmpeg.html
  • Python 中使用 ffmpeg 库:https://pypi.org/project/ffmpeg-python/

版权声明:

本代码仅供学习参考,请勿用于任何商业目的。

免责声明:

本代码仅供学习参考,使用该代码可能存在风险,请谨慎使用。作者不对使用该代码造成的任何损失负责。

联系方式:

如果您有任何问题,请随时联系我。

感谢您的使用!

Python3 视频剪辑代码:使用 ffmpeg 按时间段剪切 MP4 文件

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

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