从RTSP的DESCRIBE返回的SDP中计算帧率

DESCRIBE返回SDP信息后, 可通过如下途径获取帧率:

  • 通过frameratex-framerate
Paste_Image.png
  • 利用SDP的SPS中计算帧率

SDP信息实例如下:

Paste_Image.png

从SDP中的SPS中可能能获取到视频的帧率,但不是每种设备或摄像头能正常返回相关的信息,比如海康的有些摄像头可以获取到帧率.

能获取帧率必须有两个前提:

vui_parameters_present_flag=1
timing_info_present_flag=1

然后帧率的计算公式为:

framerate = time_scale/(num_units_in_tick*2)

从上图中可计算出帧率为:
framerate = 50000/(1000*2) = 25

实例代码:

...
if (vui_parameters_present_flag)
{
    ...     
    bool timing_info_present_flag = u(1,buf,StartBit);
    if (timing_info_present_flag) 
    {
        num_units_in_tick = u(32,buf,StartBit);
        time_scale = u(32,buf,StartBit);
        iFps = time_scale/(2*num_units_in_tick);
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容