File tree Expand file tree Collapse file tree 1 file changed +12
-0
lines changed
funscript_editor/algorithms Expand file tree Collapse file tree 1 file changed +12
-0
lines changed Original file line number Diff line number Diff line change 22
33import cv2
44import json
5+ import time
56import logging
67
78from threading import Thread
@@ -409,10 +410,16 @@ def tracking(self) -> str:
409410 trackerMen = StaticVideoTracker (first_frame , bboxMen )
410411 self .bboxes ['Men' ].append (bboxMen )
411412
413+ if self .params .max_playback_fps > 2 :
414+ cycle_time_in_ms = (float (1000 ) / float (self .params .max_playback_fps )) * (self .params .skip_frames + 1 )
415+ else :
416+ cycle_time_in_ms = 0
417+
412418 status = "End of video reached"
413419 self .clear_keypress_queue ()
414420 last_frame , frame_num = None , 1 # first frame is was init frame
415421 while video .isOpen ():
422+ cycle_start = time .time ()
416423 frame = video .read ()
417424 frame_num += 1
418425
@@ -463,6 +470,11 @@ def tracking(self) -> str:
463470
464471 last_frame = frame
465472
473+ if cycle_time_in_ms > 0 :
474+ wait = cycle_time_in_ms - (time .time () - cycle_start )* float (1000 )
475+ if wait > 0 : time .sleep (wait / float (1000 ))
476+
477+
466478 video .stop ()
467479 self .__logger .info (status )
468480 return status
You can’t perform that action at this time.
0 commit comments