Using select in ffmpeg to choose frames
In your command,
-filter:v &quot;select=not(mod(n\,16))&quot;

does select only each 16th frame, as you have discovered. However, your output format is MOV, which is configured as constant frame rate. So, ffmpeg will duplicate frames if the timestamp gaps between frames from the filter output are greater than 1/fps where fps is the nominal frame rate of the stream, and drop frames if they are closer.
Add -vsync 0 to tell ffmpeg to not duplicate or drop frames.