Repace _compute_frame_average with numpy.mean by awkrail · Pull Request #480 · Breakthrough/PySceneDetect
Discussed in #64. I found that _compute_frame_average and numpy.mean outputs the same scores (averaging frame's pixels). Using numpy.mean can simplify the code, so I created this PR. As reported below, the speed is same between two methods.
_compute_frame_average
awkrail@awkrail:~/oss/PySceneDetect$ time scenedetect -i tmp/goldeneye.mp4 detect-threshold list-scenes
[PySceneDetect] PySceneDetect 0.6.5.2
[PySceneDetect] Detecting scenes...
Detected: 0 | Progress: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1980/1980 [00:01<00:00, 1780.30frames/s]
[PySceneDetect] Processed 1980 frames in 1.1 seconds (average 1774.85 FPS).
[PySceneDetect] Detected 1 scenes, average shot length 82.6 seconds.
[PySceneDetect] Writing scene list to CSV file:
goldeneye-Scenes.csv
[PySceneDetect] Scene List:
-----------------------------------------------------------------------
| Scene # | Start Frame | Start Time | End Frame | End Time |
-----------------------------------------------------------------------
| 1 | 1 | 00:00:00.000 | 1980 | 00:01:22.582 |
-----------------------------------------------------------------------
real 0m1.368s
user 0m4.619s
sys 0m1.495s
numpy.mean
awkrail@awkrail:~/oss/PySceneDetect$ time scenedetect -i tmp/goldeneye.mp4 detect-threshold list-scenes
[PySceneDetect] PySceneDetect 0.6.5.2
[PySceneDetect] Detecting scenes...
Detected: 0 | Progress: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1980/1980 [00:01<00:00, 1780.21frames/s]
[PySceneDetect] Processed 1980 frames in 1.1 seconds (average 1763.84 FPS).
[PySceneDetect] Detected 1 scenes, average shot length 82.6 seconds.
[PySceneDetect] Writing scene list to CSV file:
goldeneye-Scenes.csv
[PySceneDetect] Scene List:
-----------------------------------------------------------------------
| Scene # | Start Frame | Start Time | End Frame | End Time |
-----------------------------------------------------------------------
| 1 | 1 | 00:00:00.000 | 1980 | 00:01:22.582 |
-----------------------------------------------------------------------
real 0m1.369s
user 0m4.471s
sys 0m1.629s