import gradio as gr from moviepy.editor import concatenate_videoclips, VideoFileClip def merge_videos(video_list): """Menggabungkan video dari daftar yang diberikan.""" try: clips = [VideoFileClip(video) for video in video_list] final_clip = concatenate_videoclips(clips, method='compose') output_path = "merged_video.mp4" final_clip.write_videofile(output_path, codec='libx264') return output_path except Exception as e: return str(e) # UI Gradio iface = gr.Interface( fn=merge_videos, inputs=gr.File(file_types=[".mp4", ".avi", ".mov"], label="Upload Video", type="file", multiple=True), outputs=gr.File(label="Merged Video Output"), title="Video Merger", description="Upload beberapa video untuk digabungkan menjadi satu file." ) if __name__ == "__main__": iface.launch(share=True)