|
gpt直接写的代码,我的叙述如下:
我有几十个视频,每个视频时间长短不同,但是前面的60秒内容是没用的,我想批量剪辑视频,把每个视频的前60秒删除,然后生成新的视频,给我写一段python代码来实现这个功能。
然后gpt直接写出项目代码:
- 为了批量剪辑视频,你需要一个能够循环处理所有视频文件的脚本。下面是一个使用moviepy库的Python脚本,它将遍历指定文件夹中的所有视频文件,删除每个视频的前60秒,并保存处理后的视频。
- 首先,确保你已经安装了moviepy库,如果没有,可以通过pip安装:
- bash
- pip install moviepy
- 然后,使用以下脚本进行批量剪辑:
- python
- import os
- from moviepy.editor import VideoFileClip
- # 设置视频文件夹路径和输出文件夹路径
- input_folder = 'path_to_input_videos' # 输入视频文件夹
- output_folder = 'path_to_output_videos' # 输出视频文件夹
- # 确保输出文件夹存在
- if not os.path.exists(output_folder):
- os.makedirs(output_folder)
- # 获取输入文件夹中所有的视频文件
- video_files = [os.path.join(input_folder, f) for f in os.listdir(input_folder) if f.endswith(('.mp4', '.avi', '.mov'))]
- # 遍历每个视频文件
- for video_file in video_files:
- # 加载视频
- clip = VideoFileClip(video_file)
-
- # 删除前60秒
- clip = clip.subclip(60)
-
- # 获取原始文件名和扩展名
- base_name = os.path.splitext(os.path.basename(video_file))[0]
-
- # 构建输出文件路径
- output_file = os.path.join(output_folder, f"{base_name}_edited.mp4")
-
- # 保存剪辑后的视频
- clip.write_videofile(output_file)
-
- # 关闭clip以释放资源
- clip.close()
-
- print(f"Processed {video_file} and saved as {output_file}")
- print("All videos have been processed.")
- 请确保将input_folder和output_folder变量设置为你的视频文件所在的文件夹路径和你希望保存剪辑后视频的文件夹路径。
- 此脚本会处理指定文件夹中所有的.mp4, .avi, .mov文件。如果你有其他类型的视频文件,可以在os.listdir的endswith方法中添加相应的扩展名。
- 注意,这个脚本在处理大量或非常大的视频文件时可能会占用大量时间和计算资源。此外,处理过程中请确保不要关闭Python脚本或中断程序,否则可能会导致部分视频文件处理不完全。
复制代码
|
|