import streamlit as st import tempfile import os from utils.video_processing import process_video st.set_page_config(page_title="Solar Panel Fault Detection - Drone Video", layout="wide") st.title("📹 Solar Panel Fault Detection from Drone Video") uploaded_video = st.file_uploader("Upload Drone Video (.mp4)", type=["mp4", "avi", "mov"]) if uploaded_video: # Save to temp file tfile = tempfile.NamedTemporaryFile(delete=False) tfile.write(uploaded_video.read()) video_path = tfile.name st.video(video_path) with st.spinner("Processing video..."): annotated_video_path, report = process_video(video_path) st.subheader("📋 Fault Summary Report") for entry in report: st.markdown(f"- **{entry['type']}** at `{entry['location']}` (Frame: {entry['frame']}) | Confidence: {entry['confidence']:.2f}") st.subheader("🎞️ Annotated Video") st.video(annotated_video_path)