首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从IDR或非IDR获取视频长度(H.264/AVC - Bitstream Organization)

从IDR或非IDR获取视频长度(H.264/AVC - Bitstream Organization)
EN

Stack Overflow用户
提问于 2015-10-11 11:40:04
回答 1查看 447关注 0票数 0

我有一个flash播放器的流,来自H.264块- SPS,PPS,IDR和非IDR。到目前为止,FLV结构是由字节数组生成的。留给我的唯一问题是如何获得时间戳UI24,这是FLVTag所需要的。

EN

回答 1

Stack Overflow用户

发布于 2015-10-11 20:52:11

要获得您所做的每个FLVTag的时间:

  1. 首先从SPS文件中获取帧速率,您需要检查timing_info_present_flag是否为1;

timing_info_present_flag :1 num_units_in_tick : 1000 time_scale :120000 fixed_frame_rate_flag :1

所以你数着它,就像:

代码语言:javascript
复制
time_scale / (2 * num_units_in_tick) = frame_rate fps;
120000 /

2* 1000 = 60 fps

在此之后,您将得到每帧-> 1/ 60 = 0.01666(6)的毫秒,因此您可以计数帧(IDR和NDR),并相应地增加时间戳。对于SPS和PPS帧,我将当前时间戳放到当前的位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33064535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档