Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 1 addition & 6 deletions scenedetect/scene_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@
from scenedetect.thirdparty.simpletable import SimpleTableRow, SimpleTable, HTMLPage



##
## SceneManager Helper Functions
##
Expand Down Expand Up @@ -126,10 +125,7 @@ def write_scene_list(output_csv_file, scene_list, cut_list=None):
"""
# type: (File, List[Tuple[FrameTimecode, FrameTimecode]], Optional[List[FrameTimecode]]) -> None
csv_writer = get_csv_writer(output_csv_file)
# Output Timecode List
csv_writer.writerow(
["Timecode List:"] +
cut_list if cut_list else [start.get_timecode() for start, _ in scene_list[1:]])

csv_writer.writerow([
"Scene Number",
"Start Frame", "Start Timecode", "Start Time (seconds)",
Expand Down Expand Up @@ -626,4 +622,3 @@ def detect_scenes(self, frame_source, end_time=None, frame_skip=0,
progress_bar.close()

return num_frames

14 changes: 1 addition & 13 deletions scenedetect/stats_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@
## StatsManager CSV File Column Names (Header Row)
##

COLUMN_NAME_FPS = "Frame Rate:"
COLUMN_NAME_FRAME_NUMBER = "Frame Number"
COLUMN_NAME_TIMECODE = "Timecode"

Expand Down Expand Up @@ -249,7 +248,6 @@ def save_to_csv(self, csv_file, base_timecode, force_save=True):
self._registered_metrics and self._frame_metrics):
# Header rows.
metric_keys = sorted(list(self._registered_metrics.union(self._loaded_metrics)))
csv_writer.writerow([COLUMN_NAME_FPS, '%.10f' % base_timecode.get_framerate()])
csv_writer.writerow(
[COLUMN_NAME_FRAME_NUMBER, COLUMN_NAME_TIMECODE] + metric_keys)
frame_keys = sorted(self._frame_metrics.keys())
Expand Down Expand Up @@ -298,16 +296,7 @@ def load_from_csv(self, csv_file, base_timecode=None, reset_save_required=True):
except StopIteration:
# If the file is blank or we couldn't decode anything, assume the file was empty.
return num_frames
# First Row (FPS = [...]) and ensure framerate equals base_timecode if set.
if not len(row) == 2 or not row[0] == COLUMN_NAME_FPS:
raise StatsFileCorrupt()
stats_file_framerate = float(row[1])
if stats_file_framerate < MINIMUM_FRAMES_PER_SECOND_FLOAT:
raise StatsFileCorrupt("Invalid framerate detected in CSV stats file "
"(decoded FPS: %f)." % stats_file_framerate)
if base_timecode is not None and not base_timecode.equal_framerate(stats_file_framerate):
raise StatsFileFramerateMismatch(base_timecode.get_framerate(), stats_file_framerate)
# Second Row: Frame Num, Timecode, [metrics...]
# First Row: Frame Num, Timecode, [metrics...]
try:
row = next(csv_reader)
except StopIteration:
Expand Down Expand Up @@ -359,4 +348,3 @@ def _metric_exists(self, frame_number, metric_key):
# type: (int, List[str]) -> bool
return (frame_number in self._frame_metrics and
metric_key in self._frame_metrics[frame_number])