DESCRIBE返回SDP信息后, 可通过如下途径获取帧率:
- 通过
framerate
或x-framerate
- 利用SDP的SPS中计算帧率
SDP信息实例如下:
从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);
}