import cv2 import tempfile import streamlit as st from prediction import smartcities # Streamlit Interface st.header("Smart City Cars and Bikes detection") st.markdown("Upload a video or select the example") ## Select video to inference file_video = None f = st.file_uploader(" Upload a video ", type=["mp4"]) if f is not None: tfile = tempfile.NamedTemporaryFile(delete=False) tfile.write(f.read()) file_video = tfile.name if st.button("example"): file_video = "test_video.mp4" ## Process video if file_video is not None: sc = smartcities() output = sc.predict(file_video) if output is not None: with st.container(): st.subheader("Input: ") video = open(file_video, "rb") video_bytes = video.read() st.video(video_bytes, format="video/mp4") with st.container(): st.subheader("Output: ") st.video(output, format="video/mp4", start_time=0) st.download_button("Download", output, file_name="output_video.mp4", mime="video/mp4")