DeepMosaics / app.py
Riz0030's picture
Update app.py
7ba4b43 verified
import streamlit as st
import os
import subprocess
import tempfile
import time
def remove_mosaic(video_file):
output_path = "output_video.mp4"
# Simpan file sementara
with tempfile.NamedTemporaryFile(delete=False, suffix=".mp4") as temp_file:
temp_file.write(video_file.read())
temp_path = temp_file.name
# Jalankan deepmosaic.py untuk menghapus mosaik
command = f"python3 deepmosaic.py --mode clean --input {temp_path} --output {output_path}"
process = subprocess.run(command, shell=True)
# Tunggu sebentar untuk memastikan file selesai dibuat
time.sleep(2)
if os.path.exists(output_path) and os.path.getsize(output_path) > 0:
return output_path
else:
return None
st.title("🎥 DeepMosaics - Remove Mosaic from Videos")
uploaded_file = st.file_uploader("Upload Video with Mosaic", type=["mp4", "avi", "mov"])
if uploaded_file is not None:
st.video(uploaded_file)
if st.button("Remove Mosaic"):
with st.spinner("Processing video, please wait..."):
result_path = remove_mosaic(uploaded_file)
if result_path:
st.success("Processing complete!")
st.video(result_path)
with open(result_path, "rb") as file:
st.download_button("Download Processed Video", file, "output_video.mp4")
else:
st.error("Failed to process video. Please try again.")