Scene changes show up on the seek bar, one click away
A Windows video player that finds where scenes change and marks those points on the seek bar. Scene changes are detected in two ways, OpenCV frame differences and VGG16 feature distances; I developed every player feature apart from the scene detection itself.
- 8Functions in the detail panel
- 2 thingsScene detection methods wired into the player
- 10%Timeline range narrowed by one Ctrl+wheel step
The yellow markers on the seek bar are the points where the scene changes. Hovering a marker previews its frame.
- Assigned role
- I developed every player feature apart from the scene change detection algorithm: split-point markers and previews on the seek bar, timeline zoom, scene navigation, editing and saving split points, saving segments with ffmpeg, and the media information window.
- Results
- The player takes the Python detection results, marks scene changes on the seek bar and lets you preview, jump, edit and save segments on one screen.
- 1Split-point markersShows detected frames as markers on the seek bar
- 2Preview and jumpHovering a marker previews its frame; clicking jumps there
- 3Timeline zoomCtrl+wheel zooms in and out around the mouse position
- 4Editing and savingAdding and deleting split points, saving metadata, saving segments with ffmpeg
Expected changes from this technology
Browsing long videos scene by scene
Previous and next scene buttons and the markers on the bar take you straight to the scene you want.
Zooming in to pick closely spaced points
Ctrl+wheel zooms the timeline around the mouse position, so split points that sit close together can still be told apart.
Letting people refine automatic results
Wrong points can be deleted and missing ones added and saved, so manual corrections follow automatic detection on the same screen.
Problem and solution
ProblemJumping to the next scene while the timeline was zoomed in moved the point outside the visible range.
ResolveWhen the target point falls outside the range, the range now widens to 5 seconds beyond it so the point stays in view.
ProblemSaving a segment with OpenCV dropped the audio.
ResolveI cut segments with ffmpeg so the audio is saved too.
ProblemThe player had no way of knowing when the Python detection finished.
ResolveOnce the result file appears, the player draws the points and enables the buttons, and it blocks a new detection while one is running.
Player screens
Scene splitting, scene navigation, split-point editing and segment saving all happen in this panel. It also shows information such as the video's codec and resolution.