Skip to content

Extract pictures from videos

There are several tools that should be able to extract all frames from a movie file:

avconv

avconv -i file.avi -f image2 Out%00d.jpg

ffmpeg

ffmpeg -i input.file thumb%04d.png -hide_banner
function convert_movie_to_png {
  local file=$1
  local filepath
  local filename
  local dirname

  filepath="$( dirname  "${file}" )" || return 1
  filename="$( basename "${file}" )" || return 1
  dirname="${filename}.frames"

  pushd "${filepath}" || return 1
  mkdir "${dirname}" || return 1
  pushd "${dirname}" || return 1

  ffmpeg -i "${file}" "${filename}_%06d.png" -hide_banner

  popd
  popd
}

This can also export BMP, which take much less processing time than PNG or JPG.

There is also a bash script called mov2frame.sh that tries to automate the FFMPEG extraction process.

Mplayer

mplayer -ao null -vo png input.file

or another option:

mplayer -nosound -vo png:z=9 my_file.mp4