Frame by frame video playback

Sometimes it can be helpful to inspect videos or sections of a video frame by frame. The simplest way to do this might be using ffplay. Although with its minimalistic user interface, the controls require getting used to.

The program ffplay(1) is bundled together with ffmpeg which is a complete, cross-platform solution to record, convert and stream audio and video. With ffplay, the bundle provides a slim and powerful player.

With the ffmpeg package installed, the ffplay program will be available too. Simply start ffplay followed by the filename of the video.

$ ffplay /path/to/media-file.ext

This will open the video player ffplay. It does not look like most other players as it does not show any controls on the window. There are no buttons, just the video filling up the entire space of the window. Instead of controlling the player via GUI controls, the entire player relies on keyboard and mouse inputs directly to the ffplay window.

The following keyboard controls allow control of the playback and jumping back and forward in the video.

p, space ..... Play / Pause the playback

left arrow ...... 10 seconds backwards
right arrow ..... 10 seconds forward
up arrow ........  1 minute  backwards
down arrow ......  1 minute  forwards
page down ....... 10 minutes backwards
page up ......... 10 minutes forward

With the above keyboard shortcuts, it is easy to navigate within the video and using the below keyboard shortcut, the video can be inspected frame by frame – either pause first or just press it during playback to pause and step frame by frame.

s ............... Step to the next frame

On each press of the s key, the video will move forward one frame. The detail about the current position in the video is shown in the console window ffplay is started from. Besides the basic audio and video stream details, the last line of the output shows the details of the current position in the video.

  17.77 A-V:  0.011 fd=   3 aq=   17KB vq=  824KB sq=    0B f=0/0

The last line of the output will look similar to the example shown above. It represents the actual playback position. The first number “17.77” in the example is the time code of the actual position in the video. This information can be useful to specify the start for the playback.

$ ffplay -ss 17.77 /path/to/media-file.ext

Finally, to switch the player info full-screen, the f key or the “-fs” command line option can be used.

f ............... Full screen
q, ESC ....... Quit ffplay

And with the final shortcut above, ffplay can be quit.


Read more of my posts on my blog at https://blog.tinned-software.net/.

This entry was posted in Multimedia and tagged , . Bookmark the permalink.