A Sony Pro camera's spec shows it shots in 29.97fps, does it really mean it? According to this ffmpeg documentation, it seems one of the 'native' frame rate for ffmpeg is


  'ntsc':   30000/1001


while 30000/1001=29.9700... does not equal to 29.97, I wonder if a Sony Pro camera really means it shots in 29.97, not 30000/1001?

If that Sony camera does shot in exact 29.97fps, I suppose we should keep the 29.97fps, should not change the fps of the video file to 30000/1001?
29.97 is shorthand for 30000/1001. There is no 29.970000... frame rate standard. FFmpeg will keep the native framerate (usually), so no need to specify an output -r value.