doc2video / merge_all_videos.py
zhao1977's picture
Upload 15 files
dd74184 verified
raw
history blame
850 Bytes
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")