codelion commited on
Commit
3fcc88e
·
verified ·
1 Parent(s): 64fe434

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -14
app.py CHANGED
@@ -66,12 +66,17 @@ def get_video_source(source_type, source_path=None):
66
  if source_type == "Webcam":
67
  return cv2.VideoCapture(0)
68
  elif source_type == "Video File" and source_path:
69
- # Create a temporary file
70
  temp_dir = tempfile.gettempdir()
71
  temp_path = os.path.join(temp_dir, 'temp_video.mp4')
72
  with open(temp_path, 'wb') as f:
73
  f.write(source_path.getvalue())
74
- return cv2.VideoCapture(temp_path)
 
 
 
 
 
75
  elif source_type == "RTSP Stream" and source_path:
76
  return cv2.VideoCapture(source_path)
77
  return None
@@ -131,18 +136,10 @@ def main():
131
 
132
  source_path = None
133
  uploaded_file = None
134
- if source_type == "Video File" and source_path:
135
- # Create a temporary file with a specific extension
136
- temp_dir = tempfile.gettempdir()
137
- temp_path = os.path.join(temp_dir, 'temp_video.mp4')
138
- with open(temp_path, 'wb') as f:
139
- f.write(source_path.getvalue())
140
-
141
- cap = cv2.VideoCapture(temp_path)
142
- if not cap.isOpened():
143
- st.error("Error: Could not open video file. Please ensure it's a supported format (MP4 with H.264 encoding recommended)")
144
- return None
145
- return cap
146
  elif source_type == "RTSP Stream":
147
  source_path = st.text_input("Enter RTSP URL", placeholder="rtsp://your-camera-url")
148
 
 
66
  if source_type == "Webcam":
67
  return cv2.VideoCapture(0)
68
  elif source_type == "Video File" and source_path:
69
+ # Create a temporary file with a specific extension
70
  temp_dir = tempfile.gettempdir()
71
  temp_path = os.path.join(temp_dir, 'temp_video.mp4')
72
  with open(temp_path, 'wb') as f:
73
  f.write(source_path.getvalue())
74
+
75
+ cap = cv2.VideoCapture(temp_path)
76
+ if not cap.isOpened():
77
+ st.error("Error: Could not open video file. Please ensure it's a supported format (MP4 with H.264 encoding recommended)")
78
+ return None
79
+ return cap
80
  elif source_type == "RTSP Stream" and source_path:
81
  return cv2.VideoCapture(source_path)
82
  return None
 
136
 
137
  source_path = None
138
  uploaded_file = None
139
+ if source_type == "Video File":
140
+ uploaded_file = st.file_uploader("Choose a video file", type=['mp4', 'avi', 'mov'])
141
+ if uploaded_file:
142
+ source_path = BytesIO(uploaded_file.getvalue())
 
 
 
 
 
 
 
 
143
  elif source_type == "RTSP Stream":
144
  source_path = st.text_input("Enter RTSP URL", placeholder="rtsp://your-camera-url")
145