Skip to content

Commit fd79920

Browse files
author
arch
committed
more verbose with ffmpeg errors
1 parent 42c2e0f commit fd79920

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

funscript_editor/algorithms/funscriptgenerator.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
""" Top level process to generate the funscript actions by tracking selected features in the video """
22

3+
from os import read
34
import cv2
45
import copy
56
import time
@@ -383,11 +384,11 @@ def get_target_name(self, person=0) -> str:
383384

384385

385386

386-
def init_trackers(self, ffmpeg_stream: FFmpegStream) -> tuple:
387+
def init_trackers(self, first_frame: np.array) -> tuple:
387388
""" Initialize the trackers
388389
389390
Args:
390-
ffmpeg_stream (FFmpegStream): The ffmpeg stream
391+
first_frame (np.array): first frame to init the trackers
391392
392393
Returns:
393394
tuple: (first_frame, bboxes, tracking_areas_woman, tracking_areas_men, trackers_woman, trackers_men)
@@ -402,7 +403,6 @@ def init_trackers(self, ffmpeg_stream: FFmpegStream) -> tuple:
402403
trackers_woman = [None for _ in range(self.params.number_of_trackers)]
403404
trackers_men = [None for _ in range(self.params.number_of_trackers)]
404405

405-
first_frame = ffmpeg_stream.read()
406406
preview_frame = first_frame
407407
for tracker_number in range(self.params.number_of_trackers):
408408
bbox_woman = self.ui.bbox_selector(
@@ -521,7 +521,12 @@ def tracking(self) -> str:
521521
start_frame = self.params.start_frame
522522
)
523523

524-
(first_frame, bboxes, tracking_areas_woman, tracking_areas_men, trackers_woman, trackers_men) = self.init_trackers(video)
524+
first_frame = video.read()
525+
526+
if first_frame is None:
527+
return "ffmpeg could not extract video frame"
528+
529+
(first_frame, bboxes, tracking_areas_woman, tracking_areas_men, trackers_woman, trackers_men) = self.init_trackers(first_frame)
525530

526531
if self.params.max_playback_fps > (self.params.skip_frames+1):
527532
cycle_time_in_ms = (float(1000) / float(self.params.max_playback_fps)) * (self.params.skip_frames+1)

0 commit comments

Comments
 (0)