[FFmpeg-user] RTSP stream fps 29.97 instead of 30

Mark Thompson sw at jkqxz.net
Tue Oct 3 03:56:53 EEST 2017


On 03/10/17 00:56, Jonathan Viney wrote:
> Hi,
> 
> I am pulling an RTSP stream from an Axis 4K IP camera. The stream from the
> camera is 30fps, but the resulting stream from ffmpeg is 29.97fps. Here is
> the command:
> 
> ffmpeg -rtsp_transport tcp -i rtsp://10.9.9.1:554/axis-media/media.amp
> -loglevel debug
> 
> The rtsp log shows a framerate of 30:
> 
> a=framerate:30.000000
> 
> The full log output is below. Is there a way to force the framerate to 30
> fps?
> 
> This video undergoes a second pass where it gets re-encoded, so we could
> adjust the frame rate there if necessary. But it would be preferable for it
> to be right at this step.
> 
> ...
> [rtsp @ 0x40d0d80] SDP:
> v=0
> o=- 8374289283112756277 1 IN IP4 10.9.9.1
> s=Session streamed with GStreamer
> i=rtsp-server
> t=0 0
> a=tool:GStreamer
> a=type:broadcast
> a=range:npt=now-
> a=control:rtsp://10.9.9.1:554/axis-media/media.amp
> m=video 0 RTP/AVP 96
> c=IN IP4 0.0.0.0
> b=AS:240000
> a=rtpmap:96 H264/90000
> a=fmtp:96
> packetization-mode=1;profile-level-id=640033;sprop-parameter-sets=Z2QAM6w0yAPABD/8BbgICAoAAAfSAAHUwdDAAGP/gAAMf+Nd5caGAAMf/AAAY/8a7y4b04A=,aO48MA==

This SPS in the SDP decodes with:

@126   VUI: timing_info_present_flag                                 1 (  1) 
@127   VUI: num_units_in_tick                          00000000000000000000001111101001 (1001) 
@159   VUI: time_scale                                 00000000000000001110101001100000 (60000) 
@191   VUI: fixed_frame_rate_flag                                    1 (  1) 

That is, the H.264 stream indeed has a fixed framerate of 60000/1001/2 ~ 29.97fps, and that is what ffmpeg is reading - the RTSP layer is likely lying about it.  (You may be able to count frames to check that.)

If you want an exactly 30fps output then you should tell the camera to generate a 30fps stream rather than the 30000/1001fps it currently is.

- Mark


More information about the ffmpeg-user mailing list