My suspicion is that in practice only 24, 25, and 30 fps works everywhere. I definitely had some issues trying to play downloaded YouTube 60 fps video. And my 15 fps experiment was a failure. Part of what’s complicating things here is that unlike resolution changes, frame rate resampling is a tricky non-continuous problem. Converting 30 to 60 is easy, just double. 24 to 60 is not awful, double 2 of every 3 frames. But converting 19 to 60 is, well, prime numbers don’t divide well. OTOH I would hope the file formats let you express whatever the source truly is and make it the player’s problem to represent it correctly.
Particularly peeved that 16 fps is not supported anywhere; that was the 8mm standard.