功能描述
本程序使用 moviepy 库来合并指定文件夹内的所有 .mp4 视频文件。
工作流程
1.加载视频文件:从指定文件夹中加载所有 .mp4 格式的视频文件。
2.排序视频文件:按照文件名的升序对视频文件进行排序。
3.合并视频片段:将排序后的视频片段依次合并成一个新的视频文件。
4.保存合并后的视频:将合并后的视频保存为新的 .mp4 文件。
代码展示
#只要将所有的视频文件放在 videos/ 文件夹内,
# 运行上述代码即可实现自动加载并按文件名升序拼接成一个新的视频文件。
# 注意确保 videos/ 文件夹存在于当前工作目录下或者提供正确的绝对路径。
import os
from moviepy.editor import *
# 指定视频文件所在的文件夹路径
video_folder = 'videos/'
# 获取文件夹中所有的文件名,并筛选出 mp4 文件
video_files = [f for f in os.listdir(video_folder) if f.endswith('.mp4')]
# 按文件名升序排序
video_files.sort()
# 若要按名称降序拼接改为 video_files.sort(reverse=True)
# 创建一个空列表用于存放视频片段
video_clips = []
# 加载每个视频文件
for video_file in video_files:
clip = VideoFileClip(os.path.join(video_folder, video_file))
video_clips.append(clip)
# 合并视频片段
final_clip = concatenate_videoclips(video_clips)
# 保存合并后的视频文件
final_clip.write_videofile("合并后的视频.mp4")
# 若不想合成的视频和PY文件在同一个文件夹也可以自定义合成视频的保存路径
# 例如:
# final_clip.write_videofile("C:/path/to/your/交换机配置.mp4")
#注意事项!!!
# 如果您遇到了SyntaxWarning: invalid escape sequence '\P'的警告,
# 这可能是由于在字符串中使用了反斜杠\,但在字符串中反斜杠是转义字符,用于引入特殊字符。
# 在Windows路径中,反斜杠\需要被转义,即使用两个反斜杠\\。
# 例如, E:\Pycharm\pythonProject\PIL
# 应该写成E:\\Pycharm\\pythonProject\\PIL。
# 或者将路径字符串改为原始字符串,如下所示:
# folder_path = r'E:\Pycharm\pythonProject\PIL'
# 这样,您就可以避免SyntaxWarning: invalid escape sequence '\P'的警告了。
注意事项
- 确保视频文件的格式被MoviePy支持。常见的视频格式包括MP4、AVI、MKV、MOV、FLV、TS等。
- 如果视频文件较大,合并过程可能需要一些时间。
- 保存合并后的视频时,确保你有足够的磁盘空间来存储新的视频文件。