我正在阅读视频可用性信息,它对于所有29.97fps文件都是正确的,但对于25fps文件,我得到了错误的值。
num_units_in_tick
我得到771而time_scale
得到3892314307.
该标准对fps没有任何影响:
if( timing_info_present_flag )
{
num_units_in_tick u (32)
time_scale u (32)
fixed_frame_rate_flag u (1)
}
为什么我能够从一个文件中读取正确的值,而不是从另一个文件中读取正确的值?
编辑: NALU:
00 00 00 01 67 64 00 28 AD 84 3F FF C2 1F FF E1 0F FF F0 87 FF F8 43 FF FC 21 FF FE 10 FF FF FF FF FF FF FF FF 08 7F FF FF FF FF FF FF FF 2C C5 01 E0 11 3F 78 0A 10 10 10 1F 00 00 03 03 E8 00 00 C3 50 94
答案 0 :(得分:0)
问题出在emulation byte
。如果我们看看最后10个字节,我们有:
00 00 03 03 E8 00 00 C3 50 94
第一个03是模拟防止字节,应该跳过它。然后我们有num_units_in_tick = 1000和time_scale = 50000。