back

If you check one of the still images from the bash result: ffmpeg -i 041.jpg you get something like this:
Input #0, image2, from '041.jpg':
  Duration: 00:00:00.04, start: 0.000000, bitrate: 80166 kb/s
  Stream #0:0: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 4000x2000 [SAR 1:1 DAR 2:1], 25 fps, 25 tbr, 25 tbn

ffmpeg -r 30 -i in.jpg …
unless you set the input framerate to -r 30 (30 fps), ffmpeg defaults to 25 fps and produces 216 frames instead of 180, (30/25)x180=216.

The exact values for 23.976, 29.97 and 59.94 are 24000/1001, 3000/1001 and 60000/1001.

back