#!/bin/sh -x
# $1 - input video file, e.g. video.mp4
# $2 - timestamp, e.g. 00:33
# $3 - output image file, e.g. output.jpg
ffmpeg -ss $2 -i $1 -vframes 1 -q:v 2 $3
#!/bin/sh -x
# $1 - input file, e.g. input.mp4
ffmpeg -i "$1" -q:v 2 %06d.jpg
ffmpeg -f image2 -framerate 30 -i %06d.jpg -c:v libx264 out.mp4
@pidgeon777 AFAIK, the frame rate is not saved in the extracted jpg files. So one has to enter that number on the command line when converting back to video. The frame rate is reported by ffmpeg when extraction is done in the first place.