To play a video, where you select the file with a pop-up dialog:
drag and scrol. Drag seekbar, scroll in video view to zoom, and drag video view to pan.
Q/A - increase/decrease speed of playback
P/space - toggle pause
Arrow Keys (L/R) - move one frame (forward/backward)
To interactively choose a specific frame to load:
[fr, macroDat, im] = FancyFlowPlayer;
"im" is the last image viewed, "fr" is scalar, frame number when quitting, "macroDat" is a structure of information about the video.
The Player can visualize motion data saved with the FlowToolbox:
this displays further information on the saved motion. Example:
FancyFlowPlayer('Test'); % assumes a save folder "Test" in current directory
Stefan Karlsson (2020). FancyFlowPlayer (https://www.mathworks.com/matlabcentral/fileexchange/53600-fancyflowplayer), MATLAB Central File Exchange. Retrieved .
@Grant, Thanks for your interest and feedback.
Slow execution is not an issue i have seen on my computer. I have run files over 1 GB. If the numberOfFrames property is not read, I cant see how the seek-bar can be implemented. Did you hard-code for your specific videos?
accessing the number of frames of a video does not usually require reading anything except some macro data from the file header. I suspect your issue has to do with files with broken indexation and/or bad codecs installed.
If you have a code fix for a potential issue, please share, and happy coding :)
Very handy. When I tried a large video file (2GB) it was very slow to start. This is due to a call to NumberOfFrames which causes the entire video to be read. With a few code mods this is now working well on large video files.
currently no known bugs...
currently 2 known bugs that will be fixed shortly:
1. If you shut down the file dialog, then next time you run the function it may crash. Solve this by typing "clear FancyFlowPlayer"
2. The frame-rate is consistently lower than what it is supposed to be. This is not due to limitation in software or hardware, but a bug in timing.
- Interest markers can now be added to the video to keep track of positions. This is possible for both video and flow visualization.
implemented a kind of adaptive frame delay, to better maintain target framerate, and reduce choppiness in playback
bugfix: a bug causeing frame-rate modifications to temporary lag up the player
bugfix: properly display video at given frame rate
bugfix: correctly display location of played video in title bar
added Screen shot
Inspired by: Tutorial and Toolbox on real-time optical flow