tstone87 commited on
Commit
fa31122
·
verified ·
1 Parent(s): 180769c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -9
app.py CHANGED
@@ -61,6 +61,7 @@ with col2:
61
 
62
  st.markdown("""
63
  Early wildfire detection using YOLOv8 AI vision model. See detected results above and video examples below, or upload your own content!
 
64
  """)
65
 
66
  # Function to create synchronized video pair HTML
@@ -75,14 +76,14 @@ def create_synced_video_pair(orig_url, proc_url, pair_id):
75
  <div style="display: flex; gap: 10px; margin-bottom: 20px;">
76
  <div style="flex: 1;">
77
  <h4>Original</h4>
78
- <video id="orig_{pair_id}" width="100%" controls preload="metadata">
79
  <source src="data:video/mp4;base64,{orig_b64}" type="video/mp4">
80
  Your browser does not support the video tag.
81
  </video>
82
  </div>
83
  <div style="flex: 1;">
84
  <h4>Processed</h4>
85
- <video id="proc_{pair_id}" width="100%" controls preload="metadata">
86
  <source src="data:video/mp4;base64,{proc_b64}" type="video/mp4">
87
  Your browser does not support the video tag.
88
  </video>
@@ -196,16 +197,19 @@ if process_button and source_file and model:
196
  elapsed = time.time() - st.session_state.start_time
197
  progress = frame_count / total_frames
198
 
199
- if elapsed > 0 and processed_count > 0:
200
- time_per_frame = elapsed / processed_count
201
- frames_left = (total_frames - frame_count) / sample_interval
202
- eta = frames_left * time_per_frame
203
- eta_str = f"{int(eta // 60)}m {int(eta % 60)}s"
 
 
204
  else:
 
205
  eta_str = "Calculating..."
206
 
207
  progress_bar.progress(min(progress, 1.0))
208
- progress_text.text(f"Progress: {progress:.1%} | ETA: {eta_str}")
209
 
210
  frame_count += 1
211
  success, frame = vidcap.read()
@@ -233,8 +237,10 @@ if process_button and source_file and model:
233
  st.session_state.processed_video = f.read()
234
  os.unlink(out_path)
235
 
 
 
236
  progress_bar.progress(1.0)
237
- progress_text.text("Processing complete!")
238
  with result_cols[0]:
239
  st.video(source_file)
240
  with result_cols[1]:
 
61
 
62
  st.markdown("""
63
  Early wildfire detection using YOLOv8 AI vision model. See detected results above and video examples below, or upload your own content!
64
+ Click on video frames to load and play examples.
65
  """)
66
 
67
  # Function to create synchronized video pair HTML
 
76
  <div style="display: flex; gap: 10px; margin-bottom: 20px;">
77
  <div style="flex: 1;">
78
  <h4>Original</h4>
79
+ <video id="orig_{pair_id}" width="100%" controls>
80
  <source src="data:video/mp4;base64,{orig_b64}" type="video/mp4">
81
  Your browser does not support the video tag.
82
  </video>
83
  </div>
84
  <div style="flex: 1;">
85
  <h4>Processed</h4>
86
+ <video id="proc_{pair_id}" width="100%" controls>
87
  <source src="data:video/mp4;base64,{proc_b64}" type="video/mp4">
88
  Your browser does not support the video tag.
89
  </video>
 
197
  elapsed = time.time() - st.session_state.start_time
198
  progress = frame_count / total_frames
199
 
200
+ if elapsed > 0 and progress > 0:
201
+ # Total estimated time = elapsed time / progress
202
+ total_estimated_time = elapsed / progress
203
+ # ETA = total estimated time - elapsed time
204
+ eta = total_estimated_time - elapsed
205
+ elapsed_str = f"{int(elapsed // 60)}m {int(elapsed % 60)}s"
206
+ eta_str = f"{int(eta // 60)}m {int(eta % 60)}s" if eta > 0 else "Almost done"
207
  else:
208
+ elapsed_str = "0s"
209
  eta_str = "Calculating..."
210
 
211
  progress_bar.progress(min(progress, 1.0))
212
+ progress_text.text(f"Progress: {progress:.1%} | Elapsed: {elapsed_str} | ETA: {eta_str}")
213
 
214
  frame_count += 1
215
  success, frame = vidcap.read()
 
237
  st.session_state.processed_video = f.read()
238
  os.unlink(out_path)
239
 
240
+ elapsed_final = time.time() - st.session_state.start_time
241
+ elapsed_final_str = f"{int(elapsed_final // 60)}m {int(elapsed_final % 60)}s"
242
  progress_bar.progress(1.0)
243
+ progress_text.text(f"Processing complete! Total time: {elapsed_final_str}")
244
  with result_cols[0]:
245
  st.video(source_file)
246
  with result_cols[1]: