File Exchange

image thumbnail

FancyFlowPlayer

version 1.5.0.0 (7.25 MB) by Stefan Karlsson
Video Player with visualization and interactive reading.

3 Downloads

Updated 10 Feb 2016

View License

To play a video, where you select the file with a pop-up dialog:
FancyFlowPlayer;
Mouse interface:
drag and scrol. Drag seekbar, scroll in video view to zoom, and drag video view to pan.
Keyboard interface:
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:
http://www.mathworks.com/matlabcentral/fileexchange/44400-tutorial-and-toolbox-on-real-time-optical-flow
this displays further information on the saved motion. Example:
FancyFlowPlayer('Test'); % assumes a save folder "Test" in current directory

Comments and Ratings (4)

@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 :)

Grant

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.

Updates

1.5.0.0

- Interest markers can now be added to the video to keep track of positions. This is possible for both video and flow visualization.
- added a small function "makeIms.m" that shows how the FancyFlowPlayer can be used to visualize iterative image data

1.4.0.0

implemented a kind of adaptive frame delay, to better maintain target framerate, and reduce choppiness in playback

1.3.0.0

hotfix

1.3.0.0

bugfix: a bug causeing frame-rate modifications to temporary lag up the player
new feature: displays the target frame rate in text in the player

1.2.0.0

bugfix: properly display video at given frame rate
bugfix: fixed a crash issue

1.1.0.0

bugfix: correctly display location of played video in title bar
added feature: remembers previous location of loaded files

1.0.0.0

added Screen shot

MATLAB Release Compatibility
Created with R2013a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired by: Tutorial and Toolbox on real-time optical flow

FancyFlowPlayer_v1.05/