# Import required libraries import streamlit as st from moviepy.editor import VideoFileClip, concatenate_videoclips import tempfile import base64 # Streamlit app title st.title("Video Concatenator App 🎥") # Function to convert video file to base64 def get_video_base64(video_path): with open(video_path, "rb") as file: video_base64 = base64.b64encode(file.read()).decode() return video_base64 # Textbox for user to specify output video name output_video_name = st.text_input("Enter the name for the output video:", "Output_Video.mp4") # Upload videos uploaded_files = st.file_uploader("Upload Video Files 📤", type=["mp4"], accept_multiple_files=True) if uploaded_files: video_clips = [] video_paths = [] for file in uploaded_files: tfile = tempfile.NamedTemporaryFile(delete=False, suffix=".mp4") tfile.write(file.read()) video_paths.append(tfile.name) clip = VideoFileClip(tfile.name) video_clips.append(clip) st.write("Uploaded video files: 📂", video_paths) # Concatenate video clips final_video = concatenate_videoclips(video_clips) # Save the result final_video_path = tempfile.NamedTemporaryFile(delete=False, suffix=".mp4").name final_video.write_videofile(final_video_path, codec="libx264") # Provide download link for the video video_base64 = get_video_base64(final_video_path) st.markdown(f'### Download Output Video 📥') href = f'Click here to download the video' st.markdown(href, unsafe_allow_html=True)