解析h264 sps中獲取幀率和解析度記錄
阿新 • • 發佈:2019-01-31
從live555中提取程式碼出來,可以成功獲取解析度和幀率,幀率主要是獲取num_units_in_tick和time_scale兩個引數;
其中遇到了以下問題:
與網友類似的問題,這裡截取了他的問題
發現一個奇怪的事情:
如果h264的 profile是 main,那麼在vui parameters裡面,
num_units_in_tick:1200 time_scale:60000,
nFrame_rate = sps->time_scale / sps->num_units_in_tick ; 50 fps --- ok.
但是,如果profile 是high,那麼值是這樣:
num_units_in_tick:48 time_scale:16777216 ,Frame_rate:349525 fps
奇怪的,我的code到底那裡錯誤了,
第二,若說我的code錯誤了,那sps裡面包含,vui parameters,以前的任何值都沒有錯誤呀,偏偏這兩個值錯誤了,
若果換一個high的h264檔案,那值是這樣的,
num_units_in_tick:384 time_scale:16777217
fixed_frame_rate_flag:1 Frame_rate:43690 ,
用其它的分析工具看,num_units_in_tick = 1, time_scale = 50,50 fps,
我到底怎麼排除這個錯誤呢。