重要

H.264(H264)解码SPS获取分辨率和帧率

从H264/H265码流sps中获取宽、高及帧率

在H.264码流中一般没有帧率,主要是在SPS信息中VUI可以解析出timing_info_present_flag,若timing_info_present_flag等于1,则码流中有num_units_in_tick 和 time_scale,我们可以通过这两个值计算出帧率来;

framerate = time_scale/num_units_in_tick. (个人认为 framerate = time_scale/(2*num_units_in_tick))

timing_info_present_flag等于1表示num_units_in_tick,time_scale和fixed_frame_rate_flag在比特流中存在。
timing_info_present_flag等于0表示num_units_in_tick,time_scale和fixed_frame_rate_flag在比特流中不存在。

因此,当timing_info_present_flag等于0时,无法得到码率,bool h264_decode_sps(BYTE * buf,unsigned int nLen,int &width,int &height,int &fps)参数fps返回值为0,可据此设置一个默认帧率。

发布了81 篇原创文章 · 获赞 1 · 访问量 2891

猜你喜欢

转载自blog.csdn.net/qq_42024067/article/details/104360420
今日推荐