当前位置: 首页 > news >正文

金湖网站制作建设银行网站登录首页

金湖网站制作,建设银行网站登录首页,快速模板建站,没有备案的网站怎么挂广告1、readMetaData 必须要找到 Moov box,找到 Mdat box或者 Moof box,并且创建了 ItemTable 大端 box 分为 box header 和 box content: box header由8个字节组成,前面四个字节表示这个box 的大小(包含这个头的8字节&a…

1、readMetaData 必须要找到 Moov box,找到 Mdat box或者 Moof box,并且创建了 ItemTable

大端

box 分为 box header 和 box content:
box header由8个字节组成,前面四个字节表示这个box 的大小(包含这个头的8字节)
box size有3中可能,第一种是正常大小,读出来就是box的大小 (这里是包含box header 的 8个字节的)
第二种box size 为 1,说明这个box 大小是 large size,也就是所说的 mdat box(数据)
box size 为 0 时,表示box是文件的最后一个box(这个box的大小需要用文件的大小减去偏移量得到)

紧接着的是 4个字节的 box typebox content 大小:正常大小时,box content size = size -8box size 为 1时,需要继续往后读8位,这就是 mdat 中数据的长度

ftyp:无关紧要

moov:包含有文件媒体的元数据信息,这是一种嵌套盒子(必须且只能有一个 moov box)
mvhd box:movie header box,描述了具体音频或视频流无关的文件整体信息,duration为媒体时长和timescale为时长单位。具体的文件多长需要用这里的duration / timescale
由于这是个嵌套盒子,所以里面会有递归解析的步骤

trak: 包含了该track的媒体数据的引用和描述
tkhd: track header , 存储有 track 头信息(包含track-id,用于显示的宽高(display-width/display-height))
mdia:track media structure 描述了这条音视频track的媒体数据样本的主要信息
mdhd:media header,存储有media track 信息,但是和 tkhd中的信息是不一样的,这里可以读取到 track 的duration ,以及对应的 timescale,文件时长依旧使用 duration / timescale 计算
hdlr:
minf(media info):
vmhd(video media handler type):对应的还有 smhd,用于记录 audio type
dinf(data information):
stbl(sample table):检查到有这个box,则会当前 trak 建立sample table
stsd:子box用于存储当前track的编码类型,以及解码所需要的信息,重要的是解析内部的盒子
hvc1/av01/avc1:类似于这些box,box名称也就是编码类型,一般box里面会有视频的宽高,如果是 AVC/HEVC 这种,里面还会嵌套有avcC这种信息,这些都是解码需要的信息,不同的类型解析方式会有点不一样。
stss:sync sample box,这个box中存储的是关键帧的序号,这个box的第四到八字节表示关键帧的数量,所有的关键帧的偏移量都以uint32 的形式存储在后面的数据中,读出以后需要按照4个字节来划分出来(如果没有这个表,那么说明每个samp都是关键帧,或者说是一个随机存取点)
stts:setTimeToSampleParams 这个box中存储了每个sample以及其对应的duration,和上面的box 类似,第四到八个字节表示 sample的数量,之后的属于以 sampleNumber–duration的形式排列;
stsz:set sample size,里面记录的是每个sample的大小
stsc:setSampleToChunkParams,用chunk组织sample可以方便优化数据获取,一个thunk包含一个或多个sample。“stsc”中用一个表描述了sample与chunk的映射关系,查看这张表就可以找到包含指定sample的thunk,从而找到这个sample。
stco:setChunkOffsetParams,定义了每个chunk在媒体流中的位置
ctss:

mdat:数据放在这个box中,帧信息放在 stbl 中

数据如何构建:

数据如何读取:mp4 中的数据都是放在 mdat box中的(而且audio和video混在一起),我们想要读取一帧数据,那么就要知道数据的 offset,size,以及其对应的pts,我们应该如何获取这些内容呢?
首先我们要知道需要读取的哪一帧,这里会有两种情况,一种是seek跳跃读取,另一种就是顺序读取:
seek:需要根据时间查找对应的关键帧,拿到该帧的索引
顺序读取:记录当前读到的帧的索引

读取该帧索引的信息,例如偏移量,大小,是否为关键帧,帧的时间长度。这里的问题是应该如何根据帧索引获取这些信息呢?
首先要根据帧索引找到对应的 Chunk 索引和chunk 的偏移量,根据索引在chunk中的位置,计算sample的偏移量,再根据stsz 和 stts box中的信息读取到sample 大小和 持续时长

在这里插入图片描述

http://www.yayakq.cn/news/127290/

相关文章:

  • 上海建设银行网站企业网站建设费用做管理费用吗
  • 金阳龙泉苑网站建设厦门企业app开发
  • 学生作品网网站网站建好以后每年都续费么
  • 深圳精品网站设计今天国内重大新闻
  • 做初中题赚钱的网站修改wordpress登陆后台
  • 做网站步骤详解vps 同时做ssh和做网站
  • 福田做网站联系电话做的好的网站
  • 现在主流的网站开发语言公司注册地址新规定
  • 学做饼干网站福州什么推广网站好
  • 卖猕猴桃网站建设宣传策划书北京市网上服务平台
  • 郑州专业做网站多少钱珠海网站开发
  • 做影视网站能赚到钱吗每天三分钟新闻天下事
  • 阿里巴巴官网国际站1个ip可以做几个网站
  • 视频网站 备案wordpress调用最近文章
  • 美的集团网站建设方案书wordpress mu功能
  • 计算机系部网站开发背景网上商城排名
  • 淘宝网网站开发网站首页的作用
  • 机关网站建设的请示网站微信登录怎么做的
  • 阿里云服务器建设网站南开做网站
  • 做农业网站怎么赚钱湖南网络营销
  • 怎么注册网站叶涛网站推广优化
  • 长沙网站提升排名做行业网站赚钱吗
  • 推广做网站南充北京智能建站系统价格
  • 企业网站搜索优化怎样学网络推广
  • 两个网站共用一个空间传媒公司宣传
  • 庆云网站seo网页推广怎么做
  • wordpress个人网站河南网站建设路
  • 手机宣传网站嵌入式开发越老越吃香吗
  • 网站前台做好之后再怎么做酷炫flash网站
  • 制作一个网站需要哪些步骤公司自己做网站吗