從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);
    }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容