Reverse video compile checkbox

This commit is contained in:
Arnaud_Cayrol 2025-04-12 22:09:13 +02:00
parent e0d50cd496
commit ee7f450a96
2 changed files with 12 additions and 12 deletions

11
main.py
View file

@ -76,7 +76,7 @@ def background_process(
max_workers: int = 1, max_workers: int = 1,
progress_callback: Callable = None, progress_callback: Callable = None,
cancel_flag: Callable = None, cancel_flag: Callable = None,
compile_video: bool = False, do_not_compile_video: bool = False,
framerate: int = 15 framerate: int = 15
) -> List[str]: ) -> List[str]:
"""Process faces in the background and optionally compile a timelapse video. """Process faces in the background and optionally compile a timelapse video.
@ -85,7 +85,7 @@ def background_process(
max_workers: Number of worker processes for face processing max_workers: Number of worker processes for face processing
progress_callback: Optional callback for progress updates progress_callback: Optional callback for progress updates
cancel_flag: Optional function to check for cancellation cancel_flag: Optional function to check for cancellation
compile_video: Whether to compile a timelapse video after processing do_not_compile_video: Whether to not compile a timelapse video after processing
framerate: Frames per second for the output video framerate: Frames per second for the output video
""" """
try: try:
@ -97,7 +97,7 @@ def background_process(
cancel_flag=cancel_flag cancel_flag=cancel_flag
) )
if compile_video and not cancel_flag(): if not do_not_compile_video and not cancel_flag():
if progress_callback: if progress_callback:
progress_callback(0, 1) # Reset progress for video compilation progress_callback(0, 1) # Reset progress for video compilation
@ -109,6 +109,7 @@ def background_process(
framerate=framerate, framerate=framerate,
update_progress=progress_callback update_progress=progress_callback
) )
progress_info["status"] = "video_done" if success else "error:Video compilation failed"
except Exception as e: except Exception as e:
logger.error(f"Error in background process: {str(e)}") logger.error(f"Error in background process: {str(e)}")
@ -169,7 +170,7 @@ def index() -> str:
config.date_from = request.form.get("date_from") config.date_from = request.form.get("date_from")
config.date_to = request.form.get("date_to") config.date_to = request.form.get("date_to")
max_workers = int(request.form.get("max_workers")) max_workers = int(request.form.get("max_workers"))
compile_video = request.form.get("compile_video") == "on" do_not_compile_video = request.form.get("do_not_compile_video") == "on"
framerate = int(request.form.get("framerate", 15)) framerate = int(request.form.get("framerate", 15))
# Reset progress info # Reset progress info
@ -187,7 +188,7 @@ def index() -> str:
"max_workers": max_workers, "max_workers": max_workers,
"progress_callback": update_progress, "progress_callback": update_progress,
"cancel_flag": lambda: cancel_requested, "cancel_flag": lambda: cancel_requested,
"compile_video": compile_video, "do_not_compile_video": do_not_compile_video,
"framerate": framerate "framerate": framerate
} }
) )

View file

@ -216,8 +216,8 @@
<div class="section-header">Video Output</div> <div class="section-header">Video Output</div>
<div class="form-group"> <div class="form-group">
<div class="checkbox-container"> <div class="checkbox-container">
<input type="checkbox" id="compile_video" name="compile_video"> <input type="checkbox" id="do_not_compile_video" name="do_not_compile_video">
<label for="compile_video">Compile timelapse into video</label> <label for="do_not_compile_video">Do not compile images into a video</label>
</div> </div>
</div> </div>
<div class="form-group" id="framerateGroup" style="display:none;"> <div class="form-group" id="framerateGroup" style="display:none;">
@ -275,8 +275,8 @@
} }
// Toggle framerate field visibility based on checkbox // Toggle framerate field visibility based on checkbox
document.getElementById('compile_video').addEventListener('change', function() { document.getElementById('do_not_compile_video').addEventListener('change', function() {
document.getElementById('framerateGroup').style.display = this.checked ? 'block' : 'none'; document.getElementById('framerateGroup').style.display = this.checked ? 'none' : 'block';
}); });
// Cancel button // Cancel button
@ -322,11 +322,10 @@
progressText.textContent = "Processing cancelled."; progressText.textContent = "Processing cancelled.";
} else if (data.status === "done") { } else if (data.status === "done") {
progressText.textContent = "Processing complete!"; progressText.textContent = "Processing complete!";
} else if (data.status === "compiling_video") {
progressText.textContent = "Images generated, creating video";
} else if (data.status === "video_done") { } else if (data.status === "video_done") {
progressText.textContent = "Video compilation complete!"; progressText.textContent = "Video compilation complete!";
videoResult.style.display = "block";
videoLink.href = "/output/timelapse.mp4";
videoLink.textContent = "Download Timelapse Video";
} else if (data.status.startsWith("error:")) { } else if (data.status.startsWith("error:")) {
progressText.textContent = data.status; progressText.textContent = data.status;
} else if (data.total > 0) { } else if (data.total > 0) {