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 = str 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) col1, col2 = st.columns(2) if output is not None: with col1: st.subheader("Input: ") video = open(file_video, "rb") video_bytes = video.read() st.video(video_bytes, format="video/mp4") with col2: st.subheader("Output: ") # output_video = open(output, "rb") # output_bytes = output_video.read() st.video(output, format="video/mp4") st.download_button("Download", output, file_name="output_video.mp4", mime="video/mp4")