DESCRIBE返回SDP信息后, 可通過如下途徑獲取幀率:
- 通過
framerate
或x-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);
}