Spaces:
Running
Running
import os | |
import re | |
from moviepy.editor import VideoFileClip, concatenate_videoclips | |
def merge_videos(input_directory): | |
# 定义视频文件的模式 | |
video_pattern = r"section_(\d+)_with_audio_with_subs\.mp4" | |
# 查找并排序符合模式的文件 | |
files = sorted( | |
(fn for fn in os.listdir(input_directory) if re.match(video_pattern, fn)), | |
key=lambda x: int(re.match(video_pattern, x).group(1)) | |
) | |
# 读取所有视频片段 | |
clips = [VideoFileClip(os.path.join(input_directory, file)) for file in files] | |
# 合并所有视频片段 | |
final_clip = concatenate_videoclips(clips) | |
# 输出合并后的视频 | |
output_path = os.path.join(input_directory, 'output_merge_all_video.mp4') | |
final_clip.write_videofile(output_path, audio_codec='aac') | |
merge_videos("./material/video") |