Spaces:
Runtime error
Runtime error
| import streamlit as st | |
| import cv2 | |
| from PIL import Image | |
| uploaded_video = st.file_uploader("Choose video", type=["mp4", "mov"]) | |
| frame_skip = 200 # display every 300 frames | |
| if uploaded_video is not None: # run only when user uploads video | |
| vid = uploaded_video.name | |
| with open(vid, mode='wb') as f: | |
| f.write(uploaded_video.read()) # save video to disk | |
| st.markdown(f""" | |
| ### Files | |
| - {vid} | |
| """, | |
| unsafe_allow_html=True) # display file name | |
| vidcap = cv2.VideoCapture(vid) # load video from disk | |
| cur_frame = 0 | |
| success = True | |
| while success: | |
| success, frame = vidcap.read() # get next frame from video | |
| if cur_frame % frame_skip == 0: # only analyze every n=300 frames | |
| print('frame: {}'.format(cur_frame)) | |
| pil_img = Image.fromarray(frame) # convert opencv frame (with type()==numpy) into PIL Image | |
| st.image(pil_img,channels='BGR') | |
| cur_frame += 1 |