Spaces:
Runtime error
Runtime error
File size: 1,631 Bytes
0a3c439 00b7f6e 0a3c439 bf69b71 0a3c439 1dc1e50 0a3c439 bf69b71 13d5e58 0a3c439 13d5e58 0a3c439 00b7f6e 0a3c439 00b7f6e 0a3c439 00b7f6e 0a3c439 00b7f6e 0a3c439 00b7f6e 13d5e58 00b7f6e 0a3c439 bf69b71 00b7f6e bf69b71 13d5e58 bf69b71 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# 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'<a href="data:video/mp4;base64,{video_base64}" download="{output_video_name}">Click here to download the video</a>'
st.markdown(href, unsafe_allow_html=True)
|