Use both -framerate and -r
E.g., to have a final video that looks like 1FPS:
ffmpeg -framerate 1 -pattern_type glob -i '*.png' \ -c:v libx264 -r 30 -pix_fmt yuv420p out.mp4 This is similar to what https://unix.stackexchange.com/a/86945/32558 says, but I needed -framerate instead of -r for it to work.
This is mentioned on the wiki at: http://trac.ffmpeg.org/wiki/Slideshow#Framerates
It sets the output framerate to 30, which VLC can handle, and copies each images 30 times, so that the output video appears to be at 1 FPS. See also: https://stackoverflow.com/questions/19267443/playback-issues-in-vlc-with-low-fps-video-from-images-using-ffmpeg
VLC is then able to play the video normally.
Tested on Ubuntu 16.10, VLC 2.2.4, ffmpeg 3.0.5, in a directory with 10 PNGs.